Title: The DSpace Course
1- Module - DSpace Configuration
2Module objectives
- By the end of this module you will
- Understand how to configure the submission
interface via input-forms.xml - How to configure Emails/Notifications
Subscriptions - How to enable and configure RSS feeds
- How to configure nightly scripts (filter
media/index-all)
3-
- Modifying the Submission Process
- Submission Steps
4The submission configuration file
- The submission configuration file controls the
ordering of the steps used to collect information
during item deposit - dspace/config/item-submission.xml
- Traditional Submission Process
- Initial Questions -gt Describe -gt Upload -gt Verify
-gt License -gt Complete
5The Structure of item-submission.xml
ltitem-submissiongt
ltsubmission-mapgt ltname-map
collection-handle"default" submission-name"tradi
tional" /gt lt/submission-mapgt
ltsubmission-definitionsgt
ltsubmission-process name"traditional"gt ...
lt!-- Step definitions appear here! --gt
lt/submission-processgt lt/submission-definit
ionsgt lt/item-submissiongt
6The submission map
- The submission can be configured for individual
collections using the ltsubmission-mapgt - The collection-handle is the unique identifier
for the collection - The submission-namemysub relates to the
submission process name
ltsubmission-mapgt ltname-map
collection-handle"default" submission-name"tradi
tional" /gt ltname-map
collection-handle123456789/110"
submission-namemysub" /gt lt/submission-mapgt
7Submission Process
- It is possible to modify the traditional
submission order to suit you institution - For example, the licence acceptance first
- Before Initial Questions -gt Describe -gt Upload
-gt Verify -gt License -gt Complete - After Licence -gt Initial Questions -gt Upload -gt
Describe -gt Verify -gt Complete - The ordering of the ltstepgt tags within a
ltsubmission-processgt definition corresponds to
the order in which those steps will appear
8- So in the example below, the licence will be
displayed before the initial questions are asked
ltsubmission-definitionsgt
ltsubmission-process name"traditional"gt
lt!--Step 1 will be to Sign off on the License--gt
ltstepgt ltheadinggtsubmit.progressbar.li
censelt/headinggt ltprocessing-classgtorg.dspa
ce.submit.step.LicenseSteplt/processing-classgt
ltjspui-bindinggtorg.dspace.app.webui.submit.ste
p.JSPLicenseSteplt/jspui-bindinggt
ltxmlui-bindinggtorg.dspace.app.xmlui.aspect.submiss
ion.submit.LicenseSteplt/xmlui-bindinggt
ltworkflow-editablegtfalselt/workflow-editablegt
lt/stepgt lt!--Step 2 will be to Ask
Initial Questions--gt ltstepgt
ltheadinggtsubmit.progressbar.initial-questionslt/hea
dinggt ltprocessing-classgtorg.dspace.submit.
step.InitialQuestionsSteplt/processing-classgt
ltjspui-bindinggtorg.dspace.app.webui.submit.step
.JSPInitialQuestionsSteplt/jspui-bindinggt
ltxmlui-bindinggtorg.dspace.app.xmlui.aspect.s
ubmission.submit.InitialQuestionsSteplt/xmlui-bindi
nggt ltworkflow-editablegttruelt/workflow-edit
ablegt lt/stepgt lt/submission-processgt
9Practical Submission Order
- Open dspace/config/item-submission.xml
- sudo gedit dspace/config/item-submission.xml
- Locate the code block below
- Move this above step 1 as below
10Practical Submission Order
- Restart Tomcat
- Submit an item to your newly created collection
Metadata - The licence should now appear first
11-
- Modifying the Submission Process
- Input Forms
12A bit on Metadata
- Metadata is data that describes other data
- DSpace uses metadata to describe internal objects
such as communities, EPeople, collections items - Metadata for an item is defined in the DSpace
registry - Default out-of-the-box schema used by DSpace is
Dublin Core - Each field in an items metadata is represented by
a DC element
ltdc-typegt ltschemagtdclt/schemagt
ltelementgtcontributorlt/elementgt
ltqualifiergtauthorlt/qualifiergt
ltscope_notegtlt/scope_notegt lt/dc-typegt
Schema in use
Descriptive element
Qualifier
13A bit more on Metadata
- The metadata registry can be configured via the
DSpace GUI
14The Submission Process
- Out of the box, DSpace, as expected uses a
default submission process - This submission process can be customised
allowing - Adding additional metadata to be collected about
an item - Individual collections to have unique metadata
for their items
15Input-forms.xml
- The forms used during a submission of an item via
the UI are created based on - dspace/config/input-forms.xml
- Detailed information can be found in
- dspace/docs/submission.html
- The input-forms.xml consists of the top level
element ltinput-formsgt which contains 3 elements - ltform-mapgt Mapping which denotes what collections
use which form - ltform-definitionsgt What makes up an individual
forms - ltform-value-pairsgt Definition of selection lists
included in the form
16Form Map
- The form-map maps collection handles to forms
- Each ltform-mapgtlt/form-mapgt has 2 attributes
- collection-handle"collectionHandle (default
if not selected) - form-name"formName (e.g. ltform name"myForm"gt)
- Collection 123456789/110 has a form called one
defined
ltinput-formsgt ltform-mapgt ltname-map
collection-handle"default" form-name"traditional
" /gt lt/form-mapgt lt/input formsgt
17Form Definitions
- The form-definitions map lays out what types of
form are included in the submission - Each separate form set has a unique name as an
attribute. This name is used to associate a form
to a collection in the form-map - A form called traditional has been defined in
this form definition
ltinput-formsgt lt-- Form Set Definitions --gt
ltform-definitionsgt ltform
name"traditional"gt ...
lt/formgt lt/form-definitionsgt lt/input formsgt
18Form Definitions
- A form is created with ltformgtlt/formgt
- Each form has the attribute name e.g. ltform
name"myForm"gt - This name is used to map a form to a collection.
- A form may consist of multiple elements
- ltpage number1gtlt/pagegt
- ltfieldgtlt/fieldgt
ltinput-formsgt lt-- Form Set Definitions --gt
ltform-definitionsgt ltform nametraditionalgt lt
page number1gt ltfieldgt.....lt/fieldgt
ltfieldgt.....lt/fieldgt lt/pagegt
19Form Definitions - Fields
ltfieldgt Name Mandatory? Description
ltdc-schemagtlt/dc-schemagt True metadata schema name
ltdc-elementgtlt/dc-elementgt True metadata element
ltdc-qualifiergtlt/dc-qualifiergt metadata qualifier
ltrepeatablegtlt/repeatablegt Values true or false Marks a field as repeatable.
ltlabel gtlt/labelgt True Label used in User Interface
ltinput-type gtlt/input-typegt True Type of input field that is displayed
lthintgtlt/hintgt True Hint used in User Interface
ltrequiredgtlt/requiredgt If completed, the field is marked as mandatory.
ltfieldgt ltdc-schemagtdclt/dc-schemagt
ltdc-elementgtcontributorlt/dc-elementgt
ltdc-qualifiergtauthorlt/dc-qualifiergt
ltrepeatablegttruelt/repeatablegt
ltlabelgtOne Authorslt/labelgt
ltinput-typegtnamelt/input-typegt
lthintgtEnter the names of the authors of this item
below.lt/hintgt ltrequiredgtlt/requiredgt lt/fie
ldgt
20Form Definitions - Fields
Input-type Description
1 onebox Single boxes for short text
2 twobox A pair of single boxes
3 textarea A text area
4 name A pair of text boxes for personal names
5 date At least a year must be given
6 dropdown A selection list
7 qualdrop-value A selection list combined with a single text box
1.
4.
2.
5.
6.
3.
21Form Value Pairs
- Form-value-pairs populate dropdown and
qualdrop-value lists. - The form-value-pairs element holds child elements
named 'value-pairs - A form value pair has two attributes
- value-pairs-name
- dc-term
lt/input-formsgt lt-- Name/Value Pairs used
within Multiple Choice Widgets --gt
ltform-value-pairsgt ltvalue-pairs
value-pairs-name"common_identifiers"
dc-term"identifier"gt ltpairgt
ltdisplayed-valuegtISSNlt/displayed-valuegt
ltstored-valuegtissnlt/stored-valuegt
lt/pairgt .....
lt/form-value-pairsgt lt/input-formsgt
22Metadata Customisation
- Create a new collection called Metadata
- Once created, navigate into the collection, click
edit on the admin tools menu and note its
handle id i.e. 123456789/422 - Open a terminal window
- Navigate to dspace/config
- Open the input-forms.xml using gedit type gedit
input-forms.xml - Locate the lines
23Metadata Customisation
- Add an additional line setting
- collection-handleltYour collection IDgt
- form-nameone
- This forces any submission into this collection
to use a different input form - Locate the form definition
- Try adding in you own field types using the dc
elements in other field definitions as a starting
point
24Metadata Customisation
- Restart Tomcat
- Submit an item to your newly created collection
Metadata - The submission form input should now be modified
25-
- Configuring Emails/Notifications Subscriptions
26Email Notification Subscription
- Most Email Notifications Subscriptions can be
configured through the dspace.cfg file
dspace/config/dspace.cfg - System emails are based on templates found in
dspace/config/emails
E-mail sent to DSpace users when they register
for an account Parameters 0 is expanded to
a special registration URL See
org.dspace.core.Email for information on the
format of this file. Subject DSpace Account
Registration To complete registration for a
DSpace account, please click the link below
0 If you need assistance with your account,
please email dspace-help_at_myu.edu or call us at
xxx-555-xxxx. The DSpace Team
27 28RSS Syndication
- DSpace supports RSS Syndication
- It can be enabled by editing the dspace.cfg file
- webui.feed.enable true
- Then restart Tomcat
- Other Syndication settings such as
- Number of items per feed
- Syndication formats
- What metadata is included in the feed
- Can also be configured in the dspace.cfg file
-
29Practical RSS Syndication
- Open the dspace.cfg file
- dspace/config/dspace.cfg
- Locate the Syndication Feed Settings
- Modify webui.feed.enable
- webui.feed.enable true
- Restart Tomcat as defined in your local
instructions - Have an explore of what syndication features can
be configured
30Nightly Scripts
-
- Configuring Nightly Scripts (cron Jobs)
31Nightly Scripts
- A couple of DSpace features require that a script
is run regularly - Email subscriptions feature (deposit alert)
- Filter media tool (generates thumbnails
extracts full-text) - Indexer
- Statistics generation
32Nightly Scripts
- To schedule these scripts to run, execute the
command crontab e as the DSpace user - Then add the following lines
- Send out subscription e-mails at 0100 every
day - 0 1 dspace/bin/sub-daily
- Run the media filter at 0200 every day
- 0 2 dspace/bin/filter-media
- Run the checksum checker at 0300
- 0 3 dspace/bin/checker -lp
- Mail the results to the sysadmin at 0400
- 0 4 dspace/bin/dsrun org.dspace.checker.Da
ilyReportEmailer c - PostgreSQL also benefits from regular 'vacuuming
- Clean up the database nightly at 4.20am
- 20 4 vacuumdb --analyze dspace gt /dev/null
2gt1
33Nightly Scripts
- Generate Statistical reports
- Run stat analyses
- 0 1 dspace/bin/stat-general
- 0 1 dspace/bin/stat-monthly
- 0 2 dspace/bin/stat-report-general
- 0 2 dspace/bin/stat-report-monthly
- The timings of each of these jobs can be modified
to suit you institution - ---------------- minute (0 - 59)
- ------------- hour (0 - 23)
- ---------- day of month (1 - 31)
- ------- month (1 - 12)
- ---- day of week (0 - 7)
(Sunday0 or 7) -
- command to be executed
34Credits
- These slides have been produced by
- Stuart Lewis Chris Yates
- Repository Support Project
- http//www.rsp.ac.uk/
- Part of the RepositoryNet
- Funded by JISC
- http//www.jisc.ac.uk/