UIN Script Service

Last modified by Clemens Robbenhaar on 2023/02/27 00:04

brickScript service to generate incremental unique identification numbers
TypeXAR
CategoryApplication
Developed by

Denis Gervalle, Anca Luca, Stéphane Laurière

Active Installs0
Rating
1 Votes
LicenseGNU Lesser General Public License 2.1

Installable with the Extension Manager

Description

This extension exposes a simple script service that generates incremental unique identification numbers.

The service is thread-safe and store the last returned UIN into a configuration object in order to be resistant over server restarts. You can define the value of the last generated number, and of the next increment from the UIN Script Service configuration in the administration of your wiki.

This is a per wiki extension. Since it installs a script service through a wiki component, you should have programming rights on your wiki to install this extension.

Don't confuse this extension with the Unique Identification Number Module which provides more advanced features, but with a high price in performance costs.

UINScriptServiceConfig.png

Usage from scripts

To retrieve a new Unique Identification Number in velocity:

  #set ($uin = $services.uin.next)

To update safely the UIN configuration, use:

  $services.uin.updateConfig(currentUIN, newUIN, increment)

If the current UIN does not match the actual current when the update is applied, the update will be cancelled with a ConcurrentModificationException.

Named UINs can also be used:

  #set ($uin1 = $services.uin.getNext('series-1'))
 #set ($uin2 = $services.uin.getNext('series-2'))

Prerequisites & Installation Instructions

We recommend using the Extension Manager to install this extension (Make sure that the text "Installable with the Extension Manager" is displayed at the top right location on this page to know if this extension can be installed with the Extension Manager). Note that installing Extensions when being offline is currently not supported and you'd need to use some complex manual method.

You can also use the following manual method, which is useful if this extension cannot be installed with the Extension Manager or if you're using an old version of XWiki that doesn't have the Extension Manager:

  1. Log in the wiki with a user having Administration rights
  2. Go to the Administration page and select the Import category
  3. Follow the on-screen instructions to upload the downloaded XAR
  4. Click on the uploaded XAR and follow the instructions
  5. You'll also need to install all dependent Extensions that are not already installed in your wiki

Release Notes

v2.3.1

v2.3

v2.2

v2.1

v2.0

Dependencies

Dependencies for this extension (org.xwiki.contrib:api-uin-scriptservice-ui 2.3.1):

Get Connected