Persistent Identifiers (PIDs)

Digital objects in HELIPORT can be identified by globally unique persistent identifiers (PIDs).

Note

In the past, persistent identifiers were stored in digital objects’s persistent_id and generated_persistent_id attributes. These fields are deprecated. New code should store and retrieve persistent identifiers in/from heliport.core.models.DigitalObjectIdentifier and use heliport.core.models.DigitalObject.preferred_identifier() to get a generic preferred identifier for the object.

PID Generation

HELIPORT can generate globally unique persistent identifiers (PIDs) for all digital objects. Names are chosen based on the namespace associated with the digital object and its primary key. heliport.core.models.DigitalObject.suffix_for_pid_generation() provides a string that can be used to generate PIDs.

Currently, the only available implementation is for integration with Handle.Net servers as a PID provider. This implementation can be found in heliport.pid_registration.

External PIDs

HELIPORT can also store external PIDs as identifiers for digital objects. These may be stored in the heliport.core.models.DigitalObjectIdentifier model with an appropriate string as their scheme.