Unified API Developer Manual / Version 2304
Table Of Contents
In addition to the simple string identifiers described in Section 4.6, “Identifiers and Equality”,
every Member on the Content Management Server has a UUID
since version 2007.1. UUIDs are stable and universally unique identifiers as defined in RFC 4122 and are
represented as java.lang.UUID
. UUIDs are a good choice for referencing users or groups in an
external system or store, like in a database or file. They are not meant as replacement of simple string IDs,
and should not be used where a simple ID is sufficient. UUIDs make sense in certain scenarios where uniqueness
across multiple repositories is important, or when users or groups may be transferred to another repository and
should keep their identity. While the latter is not yet possible in version 2007.1, later releases may add such
features relying on UUIDs. External user provider implementations can provide the same UUIDs for identical users
and groups on different Content Server installations. For example, users and
groups from CoreMedia's ActiveDirectory UserProvider implementation receive their UUIDs from Active Directory.
For details on user providers, see Section 3.12, “LDAP Integration” in Content Server Manual.
The LdapUserProvider class has methods that take or return UUIDs, and that can be overridden by a custom
user provider. See its API documentation for details.
Similar to string IDs, the API provides a getUuid()
method in class
Member
to retrieve a UUID, and methods to look up a User
or Group
for a given UUID. A User
or Group
with a given UUID can be retrieved from the
UserRepository
with method getMember(UUID)
, getUser(UUID)
, or
getGroup(UUID)
.
It is important to note, that a UUID does not encode any further information about the referred object.
It cannot be used to identify the type of the referred object, or the repository that contains it.
Note, that as of version 2007.1, UUIDs are only available on the Content Management Server. If a connection is made to a live server, or to a server of a previous release, then all methods that would return a UUID will return null instead.