Use Cases Depending on this Infrastructure

 

Requirements List

 

ItemOverall ProgressPriorityDeveloperDescriptionDependenciesComments
User Authentication
Infrastructure
  TBAProvide connection to local universities authentication system (e.g. Shibboleth at Cornell)Authentication service provided by university.Hydra has been successfully integrated with LDAP, CAS, and Shibboleth.
  TBAEstablish means for submitting credentials to authentication system  
  TBAEstablish means for getting confirmation from authentication system that user is authenticated and globally unique id to use for this user in local applications  
Model
  TBAConcept of a user. Should any information about users be stored in the triple store beyond relationships to a URI constructed from the user's globally unique id?  If so, what is the ontology to use for modeling user information in triples?
  TBAEstablish database table to hold Globally Unique User ID (i.e., from university authentication system), and additional information, such as roles and group membership.  
User Interface
  TBACreate login widget for use in applications?  OR  Establish forward and return protocol to local university's login page.  
Roles
Infrastructure
  TBARMDB or triple store 
  • Is this database shared between universities? 
  • Is this database queryable by other universities?
  • Is the schema shared between universities? 
  • Is the database shared between applications at a university?
  • Is the code for this common infrastructure plugable in multiple applications?
Model
  TBAEstablish database table to hold definitions of Roles (e.g. Role ID, Role Name, Role Description).RMDB for Roles and GroupsModel in traditional relational database vs. modeling in triple store?  Possibly model in RMDB because  roles are application specific and not part of the open linked data model.
  TBALow level CRUD operations for Role Definitions.RMDB for Roles and Groups 
  TBAEstablish database table to hold user-role pairings (e.g. User ID, Role ID)RMDB for Roles and GroupsModel in traditional relational database vs. modeling in triple store?  Possibly model in RMDB because  roles are application specific and not part of the open linked data model.
  TBA

Low level assignment/deassignment methods

  • for a single user to/from a role
  • for a set of users to/from a role
  • for a single user to/from several roles
RMDB for Roles and Groups 
  TBAQuery whether a user has a role.RMDB for Roles and Groups 
User Interface
  TBAUI for CRUD for Role Definitions.Establishment of the model and low level methodsDoes Hydra have the concept of user roles and related UIs for CRUD?
  TBAUI for assigning/deassigning one or more roles for a specific user.Establishment of the model and low level methodsDoes Hydra have the concept of user roles and related UIs for assignment/deassignment?
  TBAUI for assigning/deassigning one or more users for a specific role.Establishment of the model and low level methods 
Ownership
Infrastructure
  TBA   
Model
  TBAEstablish ownership model (e.g. <user's URI> <owns> <item's URI>  VS <item's URI> <ownedBy><user's URI>)Selection of ownership ontology defining the <owns> and/or <ownedBy> predicates.Model in triple store seems easiest since ownership of an item is core and removes the requirement that all items be repeated in another store.
User Interface
  TBAUI for assigning ownership to an object. This may be too application specific to have a general UI for ownership assignment.
Group Membership
Infrastructure
  TBARMDB or triple store See questions in the comments for this item under Roles section above.
Model
  TBAEstablish database table to hold definitions of Groups (e.g. Group ID, Group Name, Group Description).RMDB for Roles and GroupsModel in traditional relational database vs. modeling in triple store?  Possibly model in RMDB because  groups are application specific and not part of the open linked data model.
  TBALow level CRUD operations for Group Definitions.RMDB for Roles and Groups 
  TBAEstablish database table to hold user-group pairings (e.g. User ID, Group ID)RMDB for Roles and GroupsModel in traditional relational database vs. modeling in triple store?  Possibly model in RMDB because  groups are application specific and not part of the open linked data model.
  TBA

Low level assignment/deassignment methods

  • for a single user to/from a group
  • for a set of users to/from a group
  • for a single user to/from several groups
RMDB for Roles and Groups 
  TBAQuery whether a user is a member of a group.RMDB for Roles and Groups 
User Interface
  TBAUI for CRUD for Group Definitions.Establishment of the model and low level methodsDoes Hydra have the concept of groups and related UIs for CRUD?
  TBAUI for assigning/deassigning one or more groups for a specific user.Establishment of the model and low level methodsDoes Hydra have the concept of user membership in groups and related UIs for assignment/deassignment?
  TBAUI for assigning/deassigning one or more users for a specific group.Establishment of the model and low level methods 
Public VS. Private Data Beyond That Defined in the Library Catalog
Infrastructure
  TBA

Establish a triple store to hold public data at each university.  Holds...

  • catalog bibliographic works
  • digital resources
  • annotations  (free form, controlled vocabulary, virtual collections tag)
 
  • Is this application specific data stored in the same triple store as Library Catalog triples? 
  • Does it depend on the application data being stored (e.g. public annotations which extend the catalog entry are stored, but group membership of users is not)?
  TBA

Establish a triple store to hold private data at each university.  Holds...

  • any catalog bibliograph work marked private
  • any digital resource marked private
  • annotations marked private
 Still need to identify what will be kept private.  Each application may have its own definition, but hopefully, we will have best practices established with recommendations for determining which data to hold private and procedures for operating with private data.
Model
  TBA   
User Interface
  TBA   

RMDB for Roles and Groups