eprints 3 technical overview eprints 3 briefing 8 th december 2006, london

31
EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Upload: david-williams

Post on 27-Mar-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

EPrints 3 Technical Overview

EPrints 3 Briefing8th December 2006, London

Page 2: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Overview

Getting EPrints 3 up and running Installation Upgrading

Configuring deposit process workflow autocompletion

Plugging in functionality import, export, screen, input component

New XML Format Improved indexer Web service interface

Page 3: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Installation

Download from releases section of files.eprints.org

Platform requirements Unix (Red Hat Linux recommended)

Core software requirements apache 2, mod_perl, perl, mysql

Expertise requirements basic webmaster skills some Unix experience confident editing text and XML configuration

files

Page 4: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Installation: Run epadmin Tool

Walks you through creating an EPrints 3 repository

core configuration hostname, repository name

database configuration creates database creates EPrints 3 tables in database creates an initial user account

username, user type, password creates repository Web pages

Open repository homepage in browser & log in

Page 5: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Upgrading

EPrints 3 is a very significant upgrade You will need to migrate your EP2 configuration to

EP3 But don’t worry, there is a tool to help you migrate

1. install EP3 on same server as your EP2 repository2. run migration tool

creates copy of your database and configuration converts them to EP3

3. run EP2 and EP3 in parallel make sure all the changes you made to your EP2

repository are reapplied to your EP3 repository4. switch to EP3 as your production repository

Vanilla repositories will migrate with little or no intervention

More advanced repository configurations will need some manual inspection

Page 6: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Running an EPrints Repository

Keep operating system patched Keep EPrints and plugins up to date Regularly back up repository data

and configuration

Page 7: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Getting Help with Installation/Migration

Step by step instructions wiki.eprints.org

Technical mailing list www.eprints.org/software/

EPrints Services Build and host Assess and manage migration process www.eprints.org/services/

Page 8: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Configuring Deposit Process

Workflow flexibility Autocompletion options

Page 9: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Workflow Flexibility

EP3 workflows should feel familiar defined using XML divided into stages (pages)

More flexible group related fields together file upload can appear at any stage in

workflow fields or groups can be collapsed by

default text can be inserted into the workflow

e.g. additional instructions, notices

Page 10: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Workflow Flexibility: Flow Control

EP3 also supports conditional workflow

eg. workflow variations for different types of eprint different sorts of users different kinds of journals different publication stages

eg. if unpublished don’t need volume, number pages

Page 11: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Workflow Flexibility: Example

A department within your institution wants to use its own classification scheme in addition to your default scheme

Add new scheme to workflow with conditional

check which department the depositor comes from

if the department matches “maths” then include the additional classification scheme in the workflow

Page 12: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

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>

Page 13: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Autocompletion

EPrints 3 autocompletes author names journal title

also fills in publisher and ISSN ISSN

also fills in journal title and publisher conference title

also fills in location and date

Where are these being looked up? existing eprints in the repository the more populated your repository, the more

suggestions users will see

Page 14: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Autocompletion: Custom Lookups

Provide a text file (authority list) a list of names, titles, ... additional display information eg. ROMEO authority list

list of journal titles publisher policy also displayed community will share at files.eprints.org

Write a custom lookup script to query external resource/service eg. staff database eg. Library of Congress name authority service

Page 15: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Autocompletion: Workflow

Autocompletion can be combined with workflow conditionals

eg. if user is from School of Medicine, look up grant name (and id) in MRC database

eg. if user is from Computer Science department look up authors in ACM authority list

Page 16: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Autocompletion: How Lookup Works

Lookup script is passed the characters that the depositor has typed

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">[email protected]</li>

</ul></li>

Page 17: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Plugging In Functionality

EPrints 3 functionality can be extended with plugins

import and export get data in and out of the repository

interface screens add new tools and reports to UI

input components add new ways for users to enter data

Key design goals Easy to build

minimal coding Easy to share

drop in and go distribute independently of EPrints

Page 18: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Plugins: Writing an Export Plugin

1. Register name

will appear on search results page what it can handle

lists of records or single records (or both) type of record (eprint, user, subject...)

who can use it

2. Define 2 core functions how EPrints record maps to export record

field mapping how to serialise export record into export

format

Page 19: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Plugins: Import Plugins

Reading input can be harder than writing output

detect and handle errors in input But there are many existing libraries

available for parsing a wide variety of file formats

Page 20: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Plugins: Writing an Import Plugin

1. Register name what it can handle who can use it

2. Define 2 core functions (export backwards) deserialise import record from import

format map import record to eprints record

Page 21: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Plugins: Screen Plugins

Drop new tools, actions and reports into the EPrints UI

Page 22: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Plugins: Writing Screen Plugins

1. Register where it appears in UI who can use it

2. Define functionality for example...

Page 23: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Plugins: Writing Screen Plugins (2)

New tool available to users eg. RAE utilities

User tools list

Page 24: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Plugins: Writing Screen Plugins (2)

Eprint actions list for depositors (there is also

an actions list for editors)

New action to be invoked on an eprint eg. scan documents for viruses

Page 25: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Plugins: Writing Screen Plugins (3)

Eprint tabs list (each tab is a single screen

plugin)

New report about an eprint eg. show download statistics

Page 26: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Plugins: Input Component Plugins

Drop custom input controls into the deposit workflow

eg. pick latitude and longitude coordinates from a map

eg. draw a molecule in an applet

Page 27: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Plugins: Writing Input Component Plugins

1. Define 2 core functions how to render input control(s) how to update the record based on

what the user entered

2. Optionally define how to check the user input is valid

Page 28: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

EPrints 3 XML Format

New XML format for import and export Much more succinct than EP2 format Embedded documents

document metadata alongside eprint metadata files themselves can be included inline

base64 encoded export your whole repository as 1 single XML file

All record types can be imported/exported in this format

eprints, users, subjects, history, access log...

Page 29: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

EPrints 3 Indexer

EP2 indexer used the Forth bridge model

index everything then start again EP3 introduces index queue

on-demand indexing much less resource intensive!

queues individual metadata fields or files to be indexed rather than entire records

whenever a record changes, the values that got changed are added to the queue

Deposits are indexed sooner

Page 30: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

EPrints 3 Web Service

Deposit, retrieve, search and remove records remotely

Currently not part of EPrints 3 core development team working on security

model ensure actions only carried out by

authorised users

testing with various platforms available on request

Page 31: EPrints 3 Technical Overview EPrints 3 Briefing 8 th December 2006, London

Contributing to EPrints 3

files.eprints.org for the latest

plugins authority lists and autocomplete lookup scripts subject trees translations themes (skins) other tools, utilities