Page 39 - Building Digital Libraries
P. 39
CHAPTER 2
• It is designed for general use and was created with library
use cases in mind. It may or may not be appropriate for
specialized repositories.
• It is extensible, meaning that it provides an architecture for
incorporating new functionality.
The PCDM is a minimalist data model by design. It defines only three types
of things:
1. Collections
2. Objects
3. Files
and four types of relationships:
1. Has Member
2. Has File
3. Aggregates
4. Has Related File
Details about how PCDM allows these things and relationships to be used
are available at https://github.com/duraspace/pcdm/wiki.
To understand how a repository that does not support a desired data
model may be a good choice while a repository that does support that data
model is a poor choice, consider a case where a library needs to control
access to individual files or groups of related files based on network ID,
group membership, and network location. Let’s also suppose that file owners
need to be able to grant permissions to groups and users.
For such a need, PCDM seems ideal because it allows access metadata
to be attached to Collections, Objects, and Files. However, PCDM does not
specify what access metadata is attached to records or how it is implemented.
If a PCDM-compliant system lacks a concept of file ownership, the library
cannot use the system. Likewise, if the system does support the concept of
user ownership but is unable to communicate with organizational identity
management systems, support the creation of necessary groups, or allow
access based on network location, the library cannot implement the system.
Let’s suppose another system that is not PCDM-compliant supports the
desired authentication functionality, but permissions can only be allocated
at the individual file level. If automation can be used with existing metadata
fields in a reasonable workflow for users and staff to achieve the desired
effect, the system might be an excellent choice, and future migrations to
systems that support the desired data model would still be possible.
Small differences in system behavior can make a big difference in how
people use a system, as well as their willingness to interact with it at all. For
this reason, addressing crucial implementation details effectively is much
24