Extension:IDProvider

Category:Extensions without an imageCategory:Extensions without a compatibility policyCategory:MIT licensed extensions
MediaWiki extensions manual
IDProvider
Release status: stableCategory:Stable extensions
Implementation Parser function Category:Parser function extensions
Description Provides IDs using different ID algorithms
Author(s) Simon Heimler, Alexander Gesinn
Maintainer(s) gesinn.it
Latest version 3.0.0 (2024-12-16)
MediaWiki 1.39+Category:Extensions with manual MediaWiki version
Database changes Yes
Composer gesinn-it/id-provider Category:Extensions supporting Composer
License MIT License
Download Category:Extensions in GitHub version control
Category:All extensionsCategory:Extensions not in ExtensionJson

The IDProvider extension provides the generation of (unique) IDs through different ID algorithms. They can be accessed through parser functions, API or as a static PHP function.

Installation

  • Download, extract and place the file(s) in a directory called IDProvider in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'IDProvider' );
    
  • Run the update script which will automatically create the necessary database tables that this extension needs.
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.


Installation via Composer is broken.

Usage

The ApiSandbox will display and document all available options. All parameters are given as key values and work the same way whether you use the parser function, api or a static php call.

Through parser functions

This makes most sense in combination with Page Forms. There it can be used for auto-creating unique page titles.

You should avoid spaces within the parser functions if you use it as a parameter of a Page Form info tag.
{{{info|page name={{#idprovider-increment:Feature_|padding=5}} }}}

#idprovider-increment

{{#idprovider-increment:}}
{{#idprovider-increment:Issue_}}
{{#idprovider-increment:
  |prefix=Issue_
  |padding=5
  |skipUniqueTest=true
}}

#idprovider-random

{{#idprovider-random:}}
{{#idprovider-random:uuid}}
{{#idprovider-random:fakeid}}
{{#idprovider-random:
  |type=uuid
  |skipUniqueTest=true
}}

Through the API

#idprovider-increment

  • api.php?action=idprovider-increment
  • api.php?action=idprovider-increment&prefix=Issue_&padding=8&skipUniqueTest=true

#idprovider-random

  • api.php?action=idprovider-random&type=uuid
  • api.php?action=idprovider-random&type=fakeid&prefix=Issue_&skipUniqueTest=true

IDProvider Example

Through a static PHP call

For more examples, take a look at the unit-tests.

IDProviderFunctions::getIncrement

$id = IDProviderFunctions::getIncrement([
	'prefix' => '___TEST___',
	'padding' => 8,
]);

IDProviderFunctions::getRandom

$id = IDProviderFunctions::getRandom([
	'type' => 'fakeid',
	'prefix' => 'PREFIX_',
]);

See also

  • Extension:IDGenerator - Provides a parser function for numeric IDs. Alternative to IDProvider that can be installed via Composer.
Category:Extensions by gesinn.it
Category:All extensions Category:BeforePageDisplay extensions Category:Extensions by gesinn.it Category:Extensions in GitHub version control Category:Extensions included in semantic::core Category:Extensions not in ExtensionJson Category:Extensions supporting Composer Category:Extensions with manual MediaWiki version Category:Extensions without a compatibility policy Category:Extensions without an image Category:MIT licensed extensions Category:ParserFirstCallInit extensions Category:Parser function extensions Category:Stable extensions