EPrints 3 Technical Overview EPrints 3 Briefing 8
EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London
Overview x Getting EPrints 3 up and running x Installation x Upgrading x Configuring deposit process x workflow x autocompletion x Plugging in functionality x import, export, screen, input component x New XML Format x Improved indexer x Web service interface
Installation x Download from releases section of files. eprints. org x Platform requirements x Unix (Red Hat Linux recommended) x Core software requirements x apache 2, mod_perl, mysql x Expertise requirements x basic webmaster skills x some Unix experience x confident editing text and XML configuration files
Installation: Run epadmin Tool x Walks you through creating an EPrints 3 repository x core configuration xhostname, repository name x database configuration x creates database x creates EPrints 3 tables in database x creates an initial user account xusername, user type, password x creates repository Web pages x Open repository homepage in browser & log in
Upgrading x EPrints 3 is a very significant upgrade x You will need to migrate your EP 2 configuration to EP 3 x But don’t worry, there is a tool to help you migrate 1. install EP 3 on same server as your EP 2 repository 2. run migration tool x creates copy of your database and configuration x converts them to EP 3 3. run EP 2 and EP 3 in parallel x make sure all the changes you made to your EP 2 repository are reapplied to your EP 3 repository 4. switch to EP 3 as your production repository x Vanilla repositories will migrate with little or no intervention x More advanced repository configurations will need some manual inspection
Running an EPrints Repository x Keep operating system patched x Keep EPrints and plugins up to date x Regularly back up repository data and configuration
Getting Help with Installation/Migration x Step by step instructions xwiki. eprints. org x Technical mailing list xwww. eprints. org/software/ x EPrints Services x. Build and host x. Assess and manage migration process xwww. eprints. org/services/
Configuring Deposit Process x Workflow flexibility x Autocompletion options
Workflow Flexibility x EP 3 workflows should feel familiar xdefined using XML xdivided into stages (pages) x More flexible xgroup related fields together xfile upload can appear at any stage in workflow xfields or groups can be collapsed by default xtext can be inserted into the workflow xe. g. additional instructions, notices
Workflow Flexibility: Flow Control x EP 3 also supports conditional workflow xeg. workflow variations for xdifferent types of eprint xdifferent sorts of users xdifferent kinds of journals xdifferent publication stages xeg. if unpublished don’t need volume, number pages
Workflow Flexibility: Example x A department within your institution wants to use its own classification scheme in addition to your default scheme x Add new scheme to workflow with conditional xcheck which department the depositor comes from xif the department matches “maths” then include the additional classification scheme in the workflow
Workflow Flexibility: Example XML <stage name="subjects"> <component type="Field: : Subject"> <field ref="subjects" required="yes" /> </component> <epc: if test="userid. as_item(){department} = ‘maths'"> <component type="Field: : Subject"> <field ref=“maths_subjects" required="yes"/> </component> </epc: if> </stage>
Autocompletion x EPrints 3 autocompletes x author names x journal title xalso fills in publisher and ISSN xalso fills in journal title and publisher x conference title xalso fills in location and date x Where are these being looked up? x existing eprints in the repository x the more populated your repository, the more suggestions users will see
Autocompletion: Custom Lookups x Provide a text file (authority list) x a list of names, titles, . . . x additional display information x eg. ROMEO authority list xlist of journal titles xpublisher policy also displayed xcommunity will share at files. eprints. org x Write a custom lookup script to x query external resource/service x eg. staff database x eg. Library of Congress name authority service
Autocompletion: Workflow x Autocompletion can be combined with workflow conditionals xeg. if user is from School of Medicine, look up grant name (and id) in MRC database xeg. if user is from Computer Science department look up authors in ACM authority list
Autocompletion: How Lookup Works x Lookup script is passed the characters that the depositor has typed x Must return matching results as HTML list items <li> J Smith (author of 6 items in this repository) <ul> <li id="for: value: relative: _name_family">Smith</li> <li id="for: value: relative: _name_given">J</li> <li id="for: value: relative: _id">js@gmail. com</li> </ul> </li>
Plugging In Functionality x EPrints 3 functionality can be extended with plugins x import and export xget data in and out of the repository x interface screens xadd new tools and reports to UI x input components xadd new ways for users to enter data x Key design goals x Easy to build xminimal coding x Easy to share xdrop in and go xdistribute independently of EPrints
Plugins: Writing an Export Plugin 1. Register x name x will appear on search results page x what it can handle x lists of records or single records (or both) x type of record (eprint, user, subject. . . ) x who can use it 2. Define 2 core functions x how EPrints record maps to export record x field mapping x how to serialise export record into export format
Plugins: Import Plugins x Reading input can be harder than writing output xdetect and handle errors in input x But there are many existing libraries available for parsing a wide variety of file formats
Plugins: Writing an Import Plugin 1. Register x name x what it can handle x who can use it 2. Define 2 core functions (export backwards) x deserialise import record from import format x map import record to eprints record
Plugins: Screen Plugins x Drop new tools, actions and reports into the EPrints UI
Plugins: Writing Screen Plugins 1. Register x where it appears in UI x who can use it 2. Define functionality x for example. . .
Plugins: Writing Screen Plugins (2) x New tool available to users x eg. RAE utilities User tools list
Plugins: Writing Screen Plugins (2) x New action to be invoked on an eprint x eg. scan documents for viruses Eprint actions list for depositors (there is also an actions list for editors)
Plugins: Writing Screen Plugins (3) x New report about an eprint x eg. show download statistics Eprint tabs list (each tab is a single screen plugin)
Plugins: Input Component Plugins x Drop custom input controls into the deposit workflow xeg. pick latitude and longitude coordinates from a map xeg. draw a molecule in an applet
Plugins: Writing Input Component Plugins 1. Define 2 core functions x how to render input control(s) x how to update the record based on what the user entered 2. Optionally define x how to check the user input is valid
EPrints 3 XML Format x New XML format for import and export x Much more succinct than EP 2 format x Embedded documents x document metadata alongside eprint metadata x files themselves can be included inline xbase 64 encoded xexport your whole repository as 1 single XML file x All record types can be imported/exported in this format x eprints, users, subjects, history, access log. . .
EPrints 3 Indexer x EP 2 indexer used the Forth bridge model xindex everything then start again x EP 3 introduces index queue xon-demand indexing xmuch less resource intensive! xqueues individual metadata fields or files to be indexed rather than entire records xwhenever a record changes, the values that got changed are added to the queue x Deposits are indexed sooner
EPrints 3 Web Service x Deposit, retrieve, search and remove records remotely x Currently not part of EPrints 3 core xdevelopment team working on security model xensure actions only carried out by authorised users xtesting with various platforms xavailable on request
Contributing to EPrints 3 x files. eprints. org x for the latest x plugins x authority lists and autocomplete lookup scripts x subject trees x translations x themes (skins) x other tools, utilities
- Slides: 31