(See here for the current location of conversations about ordering. 17 August 2016)

 

This article summarizes some requirements and proposed solutions for handling ordered lists in Fedora. 

Previous discussions

2014-10-02 - Fedora Committer Meeting

2014-10-09 - Fedora Committer Meeting

2014-10-16 - Fedora Committer Meeting

The issue

There is no standardized way in Fedora to present a list of nodes in an arbitrary order defined by the user and stored in a dedicated property. 

Michael DurbinUnknown User (escowles@ucsd.edu)Stefano Cossu brought up the issue and expressed interest

Possible solutions

Given the pros and cons, OLO seems to be a better fit. Implementation proposal below applies to the OLO solution. 

Proposed implementation

The plan I am proposing here is to add some CND definitions that allow content creators to identify a node as a list or a list slot. 

A draft CND is available here: https://github.com/aic-collections/aicdams-lake/blob/test-ontology/fcrepo-webapp/src/aic/resources/cnd/aic-lists.cnd 

This file contains definitions for olo:OrderedLists, olo:Slots (elements ordered in a list) and aiclist:Items (nodes that can be referenced in a list - this is optional). 

Fedora should do two things behind the scene: 

  1. Infer some properties for olo:OrderedList and olo:Slot nodes - such as olo:prev, olo:next etc (see @TODO comments in CND draft). 
  2. Provide a presentation mechanism that returns nodes in a list ordered by olo:index value. This is only applicable to certain output types such as JSON or XML.