Basic functionality
CG: "Do the minimum, but do it really well."
We're not exactly in a position to dictate requirements to anyone, but if we were, they might be drawn from the following list.
This page is more of a functional spec than a design document; for design ideas see elsewhere in the wiki starting from Discussion.
I (JAR) have tried to make this correspond to what the steering committee would like to happen, but of course it may be closer to what I would like to happen.
Contents |
For an operational system
Redirection implemented somehow:
- Should be doable using PURLZ software (perhaps other ways too)
- System state (redirects + templates) to be kept in some repository (design TBD; ideally versioned; demo does PURLZ + wiki)
RDF templates and template-filling implemented somehow:
- Small
- Minimal ontology created
- XSLT hack for human-friendly view
Sufficient coverage = the union of the databanks in dbxrefs occurring in:
For a reliable system
Monitoring mirrors:
- if a server fails, system maintainers are alerted
- the list of A records is easily modified
Replication:
- At least two redirect servers and two template-filling servers
- Curation updates (changes to rules, changes to templates) pulled to all mirrors automatically, nightly
Failover:
- multiple A records -> multiple servers
- server goes away -> easy to remove its A from the DNS record
Monitoring databanks:
- dead redirection rules are detected, failures are tracked
For a participatory system
Easy for multiple people to curate redirect rules and templates:
- curator experience "user interface" functionality TBD
Documentation - participation guide / HOWTO:
- how to bring a new mirror into the pool
- how to be a redirect / template curator
- how to add new databanks
Later
- OCLC's purl.org as a mirror (how to update?)
- Issue/Provider partitions
- how to best expose our databank databank (SN redirects + templates + metadata)
- ability to track all the ids for records in some of the databanks
- versioning (of databanks and/or of particular records)
- Issue/How and whether to indicate what records are about
