400 likes | 412 Views
This article provides an overview of the different tools available for configuring EPrints repositories, including command line editing, web configuration editing, phrase editor, metadata editor, and web page editor.
E N D
EPrints - the Administrator's View • SQL database • Web server • Scripts to configure repository activities • Configuration files
Orientation • Where is the configuration information?
EPrints Folder: Configuration Global configuration for all repositories Repository-specific configuration for each repository • One EPrints install can run multiple repositories • each may be very different in style & functionality
Contents of archives Folder A subdirectory for every active repository
Contents of individual archive folder The configuration files for this repository
Contents of individual archive directory PDFs etc.
Contents of individual archive directory Processed static webpages (e.g. home page, abstract pages and views). This is where content gets served from.
Contents of individual archive directory Temporary files
Layers of Configuration Management give a wide range of power and flexibility
Configuration Files Every repository on each server has many dozens of configuration files.
Command line Editing Command line editing requires the authorisation to get terminal access to the server, and the skill to use the command line shell and text editors.
Web Configuration Editing Web configuration editing allows config files to be edited in a web page. You still need to understand the config file contents and where they go, but it is more convenient.
Phrase Editor Application • Lists all phrases used by the repository • Edit or add new ones • You don’t need to know about the config files at all - the phrase editor reads and writes them for you and shows their contents in an easy-to-understand way.
Metadata Editor Application • Lists all metadata used by the repository • Add new metadata fields • You don’t need to know about the config files at all - the metadata editor reads and writes them for you and shows their contents in an easy-to-understand way.
Web Page Editor Application • Allows you to edit the repository template and home pages • You don’t need to know about the config files at all - the web page editor reads and writes them for you and shows their contents in an easy-to-understand way.
Now in Web browser • Configuration can now be viewed and edited from the web browser instead of the command line • The config file structure is mimicked in the display’s tree structure • Some tasks have bespoke interface • Phrases, subjects, metadata schema • All the underlying config files can still be accessed on command line
Caveat Administrator • Config files contain either • XML • Raw data • Perl data • Perl files are programs! • EPrints does not allow Perl editing by default • You must specify +config/edit/perl in the administrator’s roles
Introduction to Configuration • We will some of the more important configuration by looking at common tasks • Page Editing • Metadata Schema Management • Phrase Management • Deposit workflow • Bibliographic styles • Views • Searches
Task 1: Editing EPrints pages All EPrints pages equals template + page content
The template provides a uniform style • It sets the layout and visual structure • e.g. 1-column fixed width vs 3-column liquid • It imports all the necessary stylesheets and scripts • It uses “university brand” images, colours and designs
Templates assemble many different fragments of content into a complete Web page • The template is a skeleton HTML file with named “pins” that insert different bits of content in the right place in the page structure repository name repository URL page title page content
EPrints provides for static and dynamic page contents STATIC About Page Help Page Home Page DYNAMIC Search Page Browse View Abstract Page
Editing Repository Pages • The Edit Page screen assembles the template and page content into a single HTML file for editing by a web page editor. • Or, you can separately edit the template • and the page contents cfg/lang/en/templates/default.xml cfg/lang/en/static/index.xpage
Task 2: Metadata Schema Control • EPrints uses the same familiar metadata workflow interface to enternew metadata and to define new kinds of metadata for eprints, documents and users. • add new fields for local requirements • text, dates, booleans, names, compound • restricted vocabularies
Metadata Schema • The “Manage Metadata Fields” screen • lists the current set of fields in the database • Allows you to easily create new fields on the fly • It allows you to add new fields to • eprints , documents , users • As well as creating the fields, it adds • phrases for names and help text • places in the deposit workflow
Task 3: EPrints Phrases • All EPrints screens and fields and buttons are given structured ids • e.g. eprint_fieldname_creators • and each id is given a phrase in one or more languages • The Phrase Editor lists all the structured ids and lets you change the human language phrases.
Task 4: Deposit Workflow • The deposit pages are shown to users in a specific order • this is specified in a workflow configuration file: cfg/workflows/eprint/default.xml <flow> <stage ref="type"/> <stage ref="files"/> <stage ref="core"/> <stage ref="subjects"/> </flow>
EPrints Workflow flow type files core subject The EPrints deposit workflow is specified by an XML document. It contains a flow element which points to a number of stages. Each stage will appear in a separate web page. Each stage element contains a number of components and fields. Components are boxes on the web page. Fields are metadata input items. Components can be divided between any number of stages. type files format, license, embargo core title, abstract, creators, date, journal, volume, publisher, keywords subject
Sample Workflow with Displayed Result <stage name="core"> <component> <field ref="title" required="yes"/> </component> <component> <field ref="abstract"/> </component> </stage> Notes The EPrints phrase used for the ‘core’ stage is “Details”. You can change it in the phrase editor. The title field is required, so it gets a red star next to it.
Collapsed Components <component collapse="yes"><field ref="note"/></component> A component can be set to collapse and its contained field is hidden by default. It appears again when the user clicks on the reveal button. revealed collapsed
Conditional Components <epc:if test="type = 'thesis'"> <component><field ref="thesis_type"/></component> </epc:if> • A component can be made conditional, using elements from the EPrints Control (or epc) format. • Here the thesis_type field will only be shown for eprints if they are declared to be of type thesis, and not for books or journal articles. • epc:choose provides another kind of conditional test. • For more details about controlling the visibility of components, see • EPrints Control format (EPC)http://wiki.eprints.org/w/EPrints_Control_Format • EPScript language http://wiki.eprints.org/w/EPScript
Task 5: Bibliographic Formats • EPrints uses rules to create “bibliographic references” whenever it refers to an eprint • In the abstract page • In a list of search results • On a view page • These rules (the bibliographic styles) are expressed in an XML language • (Same language as used in workflows)
Task 5: Bibliographic Formats (2) • Galil, L. and Utsunomiya, R. (2005) Mexican Musk Turtles and Man. Animal Issues, 18 (19). pp. 146-193. <choose> <when test="type = 'book' and is_set( creators )"> <print expr="creators_name"/> </when> <when test="type = 'book' and !is_set( creators )"> <print expr="editors_name"/>, ed<if test="length(editors_name) gt 1">s</if>. </when> <when test="type = 'patent'"> <print expr="patent_applicant"/> </when> <otherwise> <print expr="creators_name"/> </otherwise> </choose> <if test="date">(<print expr="date" opts="res=year"/>)</if> <cite:linkhere><xhtml:em><print expr="title" opts="magicstop"/></xhtml:em></cite:linkhere> cfg/citations/eprint/default.xml
Task 6: Making Views • Rules for generating the views / collections cfg/cfg.d/views.pl { id => "types", fields => "type", order => "-date/title", hideempty => 1,},
Task 7: Making Searches • Rules for making different searches cfg/cfg.d/search.pl $c->{search}->{simple} = { search_fields => [{id => "q", meta_fields => [$EPrints::Utils::FULLTEXT,"title","abstract","creators_name","date" ] },], preamble_phrase => "cgi/search:preamble", title_phrase => "cgi/search:simple_search", citation => "result", page_size => 20, order_methods => { "byyear" => "-date/creators_name/title", "byyearoldest" => "date/creators_name/title", "byname" => "creators_name/-date/title”, "bytitle" => "title/creators_name/-date"}, default_order => "byyear", show_zero_results => 1, };