ISCI (Identification SCheme Information) is a scheme that stores information related to an identification label. ISCI can standardize an identification label on the system or application you have. ISCI is very flexible. ISCI uses the JSON format, this format allows an identification label to generated on any system at any time. ISCI can be stored in Databases, JSON Files or other storage areas that support the JSON storage format. ISCI can be used across platforms depending on the availability of libraries on each platform.
ISCI allows you to create a flexible identification label. You can move ISCI wherever and whenever you want. ISCI will be very useful when the system you are using requires migration from one language to another. or in other cases such as moving physical servers from one place to another without disturbing identification labels that have been created and distributed before the move.
Example with ISCI Draft-1:
The following is an ISCI which is used to create a User ID:
{
"name": "user-id",
"pattern": "<district_id>-[unique_character]-[random_character]",
"keywords": {
"unique_character": {
"type": "incrCharset",
"length": 4,
"index": 0,
"increaser": 1,
"charset": "abcdefghijklmnopqrstuvwxyz"
},
"random_character": {
"type": "randCharset",
"minLength": 3,
"maxLength": 6,
"charset": "abcdefgABCDEFGH0123456789",
"comment": "Random characters make it difficult for people not to try to find IDs with dummy or bruteforce techniques"
}
}
}
The
<district_id>
section will be entered by the user when creating the ID.
Results of ISCI above after being executed 5 times:
manager-aaaa-gDHgb3
employee-aaab-L4BA
employee-aaac-geFb
janitor-aaad-A9aB73
director-aaae-C7a5B
See, the
district_id
section has changed automatically based on parameters passed at the time of ID creation.
- Draft-1 - Release on 7 Feb 2020
Documentation is available in each draft. Visit the link provided to view the documentation of each draft.
- Javascript - js-isci
Have you write a new library? or have you write a new library with better performance? Please contact us to be included in the list.
ISCI uses the JSON format.
You can save it in a JSON File or in a Database that supports JSON storage formats such as: MongoDB, SQL, MYSQL, Solr, Redis (as JSON String) and etc.
Absolutely not. Library js-isci can generate up to 1,500,000 Unique ID (10 characters each) only in 1 Second.