World Class Commissioning Partnerships Nicola Benge - Director Health Improvement.
LDS Church Implementations Aleph / Primo Implementation & Gap Application Development Ken Jensen...
-
Upload
cameron-earnest -
Category
Documents
-
view
214 -
download
0
Transcript of LDS Church Implementations Aleph / Primo Implementation & Gap Application Development Ken Jensen...
LDS Church Implementations
Aleph / Primo Implementation & Gap Application Development
Ken JensenDavid Benge
Overview• LDS Church overview• History of LDS Church / Ex Libris • Implementation of Aleph / Primo
– Data Migration – HMMS -> MarkLogic -> Aleph– Aleph Configuration – Library / Archives / Museum– Primo Implementation – Customizing UI– Gap Applications – EAD, Put-away program
• Future development– Digitool Implementation– EAD phase II and III– Acquisitions module– Integration with other departments / institutions
LDS Church overview• 14+ million members globally• 166 languages supported• $885 MM of Humanitarian
Assistance since 1985• 4 Universities and Colleges• Family History Library• Church History Library – 4+ million• Audio Visual Department / MPS
History of LDS Church / Ex Libris
• BYU previously purchased Primo• 9/2009 – Aleph and Primo purchase• 10/2010 – Aleph Go-Live• 10/2010 – PutAway Go-Live• 11/2010 – Primo Go-Live• Rosetta POC done, implementation
begun• Digitool implementation begun
Data Migration
• 20+ year old, homegrown Oracle apps ILS – Historical Materials Management System (HMMS)
• Modified MARC• Innovative and Aquabrowser• 1 million validation errors• 4000+ transformation rules• HMMS xml -> MarkLogic -> Aleph
(: ------------ Biblography/LIBR to file ------------- :)(: --------------------------------------------------------------- :)(: ------- place HMMS Library here before starting --------------- :)(: --------------------------------------------------------------- :)
(: Converter for Biblography/LIBR Records and write to file :)(: NOTE: export label is used for the data checker to validate :)(: all subfields have been exported. If export label is :)(: not used, then data checker will most likely be :)(: compromised. :)let $exportlabel := "5-100630"
let $output := for $record in (/record[@catalog = "LIBR"][format])return
let $exported := $record/@exportedreturn
<record type="Bibliographic" ><leader>^^^^^nam^a22^^^^^^a^4500</leader>{for $format in $record/format[@kind eq "BIB"]
let $uniqueidlen := string-length($format/@id) let $uniqueid := substring(concat("000000000",$format/@id), ((9+$uniqueidlen)-8), (9+
$uniqueidlen))return
( <controlfield tag="001">{$uniqueid}</controlfield>, <controlfield tag="003">org.ldschurch.hmms</controlfield>,<controlfield tag="005">{substring(data($exported),1,8)}</controlfield>,
if (exists($format/tag[@id="006"])) then <controlfield tag="006">{substring(data($format/tag[@id="006"]),1,19)}</controlfield> else (), if (exists($format/tag[@id="007"])) then <controlfield tag="007">{substring(data($format/tag[@id="007"]),1,15)}</controlfield> else (),
<controlfield tag="008">{substring(data($format/tag[@id="008"]),1,41)}</controlfield>,
<datafield tag="035" ind1="9" ind2=" "><subfield code="a">{data($record/@id)}</subfield><subfield code="b">{data($record/@structure)}</subfield>
</datafield>,<controlfield tag="FMT">{data($format/@type)}</controlfield>,
<datafield tag="CAT" ind1=" " ind2=" "><subfield code="a">{data($record/created/@by)}</subfield><subfield code="b">40</subfield><subfield code="c">{substring(data($record/created/@when),1,8) } </subfield><subfield code="h">0000</subfield><subfield code="l">LDS01</subfield></datafield>,<datafield tag="CAT" ind1=" " ind2=" "><subfield code="a">{data($record/updated/@by)}</subfield><subfield code="b">40</subfield><subfield code="c">{substring(data($record/updated/@when),1,8) }</subfield><subfield code="h">0000</subfield><subfield code="l">LDS01</subfield></datafield>,<datafield tag="OWN" ind1=" " ind2=" "><subfield code="a">{data($record/@structure)}</subfield></datafield>,
local:convert_libr_bib_npu_rule( data($record/@structure) ), for $tag in $format/tag where not ($tag/@id = (006, 007, 008, 009)) return local:convert_rule_manager( $record, $tag, $record/@catalog, "BIB", $tag/@id,
$exportlabel ) )
}</record>
return xdmp:save( concat( "/hmms_export/AlephLoadFiles/", substring(replace(string(current-date()),"-",""),1,8), "LIBR-BIB-All", "-", count($output),
".bib.xml" ), <records>{$output}</records> )
MarkLogic - XQuery
Aleph Configuration• Library, Archives and Museum
– Nested locations (non-call #)– Acquisitions (catalog over time)– Volunteer staff (no formal training)
Custom configurations• Extract BIB, HOLD and AUTH data into the Z13 for custom reports
and auto populating item data (real time). • Configured Aleph to authority control a holdings tag (usually it’s only
done with BIB tags).• Configured Aleph to do custom sorting by creating a user-defined sort
key and putting it in the enumeration-A field. We then selected one of the canned Aleph sort routines (item-14) that uses the enumeration-A field.
• Configured Aleph to authoritatively manage bar-coded locations by putting our locations (and containers) in item records under a single custom BIB record. (put-away program uses these).
• Configured Aleph to do LDAP authentication for staff login to the Aleph client.
• Configured Aleph to automatically push collection code and call number to an item record using a 950 tag in a HOLD record (real time). Note: Aleph already does this using the 852 tag. What makes it unique is that the call number could come from a BIB record (090 tag) or a HOLD record (850 tag).
Primo Implementation• Records from Church History
Library, Archive, Museum, BYU, Audio Visual Library
• LibGuides integration
Primo Implementation
Gap Applications• PutAway
– Barcoded locations and assets – Auditing reports
• EAD – Encoded Archival Description– Phase I – Creation– Phase II – Display through Primo– Phase III – Circulation integration w/
Aleph
- Login- Scan Location- Scan Object- Object Putaway- Create Storage Container
PutAway
EAD Module• Encoded Archival Description
(XML)• Physical and Virtual nesting• Cataloging to various levels
incomplete• Java & GWT with MarkLogic XML-
DB
Future Development• EAD
– Phase II – Integrate with Primo / Digitool
– Phase III – Integrate with Aleph for circulation
• Acquisitions• Remote Cataloging by volunteers• Digitization on demand• Crowd-sourcing metadata
descriptions
Questions???
Thanks!