{{{ #!comment NB! Make sure that you follow the guidelines: http://trac.posccaesar.org/wiki/IdsAdiEditing }}} [[TracNav(TracNav/RdsWip)]] = RDS/WIP Identifier Generator = There has long been a need for an identifier generator in this project, and so we now have an [http://rdswip.ids-adi.org/servlets/registry?registry-op=ui experimental one]. = Features = * Allocates identifiers in a given name space (you supply the base URI). * All identifiers are stored in their name space in a single triplestore. * All identifiers have the form RNNNNNN where NNNNNN are digits and R is literal. * NNNNNN will never start with a zero. * NNNNNN will never contain a sequence NNN of three of the same digits. * NNNNNN will never contain any digit more than three times. * Results in 862407 possible identifiers from R100000 to R999999. * NNNNNN is allocated with a strong random number generator (PRNG seeded from an RNG). * There is intentionally no support for allocating "sequences" of identifiers. * There is intentionally no support for allocating "bulk" identifiers. = Principles = * No one can choose their identifier. * No one can inadvertently create implicit knowledge by "owning" a block of identifiers - knowledge should be explicit, reservation blocks denied. * No one can create "de facto" maps by allocating sequences that relate to other existing identifiers (again, to avoid creating implicit knowledge). * Identifiers are of the same length (at least until "slots" become too sparse to find quickly, which will likely happen when its about 80% full). = Governance = * Any abuse of the system (ie. trying to circumvent the principles) should result in suspension of the service for the offending user and revocation of the abusing allocations. = Agenda = * Need to apply authentication/authorization (very quick to do). * Need to decide on a registry namespace & properties. * Need to decide if we record the allocater's user id and date.