2019-02-27 Meeting notes

Date

Attendees

Discussion items

TimeItemWhoNotes
15 minDefinition of Done - updates

Review teams' Definitions of Done and next steps for the TC's template. Feedback - Looks good. On the surface - may look a little weird that there are so many DoDs but should be expected because of the variance of teams and their relative maturity. Need to revisit periodically. Look for opportunities to improve. Some infrastructure is needed to allow some aspects to get further along. Could look to take advantage of Confluence functionality to allow teams to include common/mandatory items. For Mandatory items teams should come back to TC to discuss why they aren't able to meet the Mandatory requirements. We should note that when open source participatory teams are involved, they may not choose to abide by our "Mandatory" requirements. Need to decide/document how to deal with these situations. Revisit DoD progress and state quarterly.

 25 minUUID Issue TC

 The extensive debate in UUIN-369 and UXPROD-884 - to avoid having the UUIDs and HRIDs exist in a kind of limbo with an undefined relationship and individual users and developers using the willy-nilly, it would be good for the TC to clearly articulate best practices in the use and consumption of these IDs. At stake here is FOLIO’s ‘feel’ as a system with some consistency of behaviors and expectations across modules.

I would like TC members to provide their perspective and recommendations on best practices here.

Notes:

Charlotte shared background and explained that no one suggests HRID be mutable... that aspect of this question was stricken. SMEs prefer the HRID to go into the 001 field - the UUID is long and messy. Temporarily the Inventory app and the MARCcat are using their own build in sequencer, while waiting for the centralized number sequencer to be build and implemented across apps. The temporarily solution build into e.g. Inventory, is necessary due to HRID is a mandatory element in the instance record.The implemented number sequencer is used to populate the HRID.

Tod shared some background on current practices.

MARC practice:

When exchanging records via MARC, the 001 is the source system's Control Number and the 003 is the Control Number Identifier for the source system. Those Control Number Identifiers are assigned per organization, so the combination of the 001 and the 003 is a unique identifier. From the LoC information about 001 - Control Number :

An organization receiving a record may move the incoming control number from field 001 (and the control number identifier from field 003) to field 035 (System Control Number) ... and place its own system control number in field 001 (and its control number identifier in field 003).

That might look like:

Source recordAs imported
001    1234
003    ICU
001    2345
003    PBL
035    ‡a (ICU)1234

SHARE-VDE BIBFRAME practice:

The SHARE-VDE project is using the combination of organization (as Agent) and existing instance identifier to create unique identifiers for BIBFRAME instances. (Explanation courtesy Christie Thomas):

First UChicago is identified as an Agent in the data set:

<http://share-vde.org/sharevde/rdfBibframe2/Agent/UCHICAGO> <http://www.w3.org/2000/01/rdf-schema#label> 
    "UCHICAGO" <http://share-vde.org/sharevde/rdfBibframe2/Agent/UCHICAGO> .

Then all assertions about that instance are qualified by a reference to our BIB ID with our Agent name as a prefix:

<http://share-vde.org/sharevde/rdfBibframe2/Instance/UCHICAGO146593> <http://id.loc.gov/ontologies/bibframe/identifiedBy> 
    <http://share-vde.org/sharevde/rdfBibframe2/identifier/f539ef95-da8a-35c5-8e6d-0679a0d8746f> 
    <http://share-vde.org/sharevde/rdfBibframe2/Agent/UCHICAGO> .

This is true for all institutions. For example, Library of Congress instances are identified as:

<http://share-vde.org/sharevde/rdfBibframe2/Instance/LOC4235541> <http://id.loc.gov/ontologies/bibframe/contribution> 
    <http://share-vde.org/sharevde/rdfBibframe2/Contribution/c9f370ff-2504-37f2-9773-e56df6dc745a>
    <http://share-vde.org/sharevde/rdfBibframe2/Agent/ItFiC> .

From what we can tell, all internal identifiers are UUIDs. (As you can see in some of the examples above.) There is an RDF label for every value identified with a UUID. The RDF label is used when presenting the data to users.


Vince: We need to have universal unique identifiers (UUID) but also have a need for human readable (HRID). Determining how these relate is what is under discussion. The primary concern for Folio is that internal operations rely only on UUIDs; HRIDs should not be used to identify records between modules. HRIDs would be secondary to the UUID for identifying records.  What goes into the 001 field is a separate problem. But the convention of importing external MARC records by moving the existing 001 record to 035 and providing a new 001 value is consistent with placing a UUID in 001 upon ingest.  TC should weigh in on whether we allow number sequencers between different apps (or whether there should be a central generator/sequencer). However, centralized number sequencers are problematic, and UUIDs provide a solution without needing a number sequencer.

Potential questions for TC to answer:

  1. What should be used to create HRIDs - UXPROD-884
  2. How do we ensure that the HRID is a true alias for the UUID - most important question
  3. Recommendations for where these values are used in MARC fields - UIIN-369


20 minTC Backlog ReviewReview edits, progress and dispensation of the TC backlog.