SlideShare ist ein Scribd-Unternehmen logo
1 von 90
DSpace 4.2
Advanced
Training
DSpace 4.2 Advanced Training by James Creel is licensed under a
Creative Commons Attribution 4.0 International License. Special
thanks to the DuraSpace Foundation and the Texas Digital Library
for making this course possible.
Course Outline
• Day 1: Quick Review of DSpace Basics
DSpace Configuration
• Day 2: DSpace Content Transmission
• Day 3: Theming for the XMLUI
Preview of DSpace 5.0
Why XMLUI?
• Customizable, Modular, Extensible
• Themes
• Aspects
• Specific features
• Harvesting
• Controlled vocabulary
What goes into a DSpace
installation?
Source Code
Installer
Installation
Apache Tomcat Webserver
mvn package
ant build
Webapps Webapps
What goes into a DSpace
installation (1/4) – Source
Code
• Get it on sourceforge (zip) or GitHub
• Where does the source code live?
• C:Developmentdspace-4.2-src-release
• Call this [dspace-src-dir]
What goes into a DSpace
installation (2/4) - Installer
• Using mvn package from the [dspace-src-dir] we create the “installer”
at
[dspace-src-dir]dspacetargetdspace-4.2-build.
• The build directory will contain a build.xml for use with the Apache ant tool.
• Once packaged, this installer can be moved anywhere on the filesystem and
invoked. A bug in some JDKs on Windows will cause ant to crash if the directory
is too far nested, so you might need to move it up a bit in the filesystem!
• Apache ant will read a dspace.cfg file to determine where to install DSpace
and how to connect to the database among other details. By default, it will use
the configuration in its own config directory, but this can be overridden with the
–Dconfig= parameter.
• Configuration may also be customized by editing the build.properties
file.
What goes into a DSpace
installation (3/4) - Installation
• From the installer directory, we can do a new installation with
ant –Dconfig=[path-to-dspace.cfg] fresh_install
which will create an empty DSpace database and overwrite all the
configuration with what was specified
• We can update the code (leaving the database and configuration
untouched) with
ant –Dconfig=[path-to-dspace.cfg] update
• DSpace will be installed in the directory specified by your chosen
config file, in our case
• C:dspace
• Call this [dspace-installation-dir]
What goes into a DSpace
installation (4/4) - Webapps
The webapps under
[dspace-installation-dir]webapps
should then be deployed under Tomcat. I usually do this with a
symlink or by copying them over.
Structuring the
Repository Content
• Communities can contain sub-communities and collections
• Collections contain only items
• Items contain only bundles
• Bundles contain only bitstreams
• Bitstreams are the objects of ultimate interest
Structuring the Repository
Items available at 3rd tier
Communities and collections
Top level community or
communities
Comm-
unity
Collec-
tion
Item
Bundle
Bitstream Bitstream
Bundle
Bitstream
Item
Bundle
Bitstream
Sub-
Comm-
unity
Collec-
tion…
Sub-
Comm-
unity…
Some preliminaries
• Log in as admin@admin.com, password “admin”
• From the homepage,
create the first top-level community
• From the community’s page,
create the first collection
• Therein, submit the first item.
I used the text file sample.txt as the bitstream.
Accessing Content via XMLUI
• Communities, collections, and items are addressable by
handles.
• Bitstreams are addressable by their item’s handle plus a
filename or sequence number (note that a filename will
override a sequence number)
• Bundles are not directly addressable
Let’s view the item
• Click through the community/collection hierarchy to find the
item
• It is addressed via handle, for example:
http://localhost:8080/xmlui/handle/123456789
/3
• Consider a singular file within one of the item’s bundles:
http://localhost:8080/xmlui/bitstream/handle/123456789/3/
sample.txt?sequence=1
• Note that
http://localhost:8080/xmlui/bitstream/handle/123456789/3/
sample.txt works just as well, as does
http://localhost:8080/xmlui/bitstream/handle/123456789/3/
?sequence=1
Some basic functionality for review
• Moving and mapping items
• Editing metadata individually and in batch
• Managing epersons and groups
• Permissions
• Registries
• Format
• Metadata
Advanced DSpace 4.2
Training - Configuration
DSpace 4.2 Advanced Training by James Creel is licensed under a
Creative Commons Attribution 4.0 International License. Special
thanks to the DuraSpace Foundation and the Texas Digital Library
for making this course possible.
Configuring DSpace 4.2
and the XMLUI
• Themes and Aspects
• Emails
• Authentication
• Item Submission
• Affordances for Information Seeking (i.e. exposing information)
• Configuring Statistics
• Configuring Media Filters
• Configuring Curation Tasks
• All the helper servers
• Handle server
• Solr
• SWORD
• OAI
• REST
Themes and Aspects
• Themes and aspects are applied in the
dspaceconfigxmlui.xconf configuration file.
• The root element, <xmlui> contains two sub-elements,
<aspects> and <themes>.
Theming for the XMLUI
• Inside the xmlui webapp, you can find a themes directory
containing the themes.
• Each theme is configured in its constituent sitemap.xmap
file.
• As with other configuration changes, the server must be
restarted to enact changes to how themes are applied.
• However, a currently applied theme may be edited on-the-fly.
Theming for the XMLUI
• Within your xmlui.xconf file, have a look at the <themes>
section.
• Use the handle attribute to apply to specific handles in your repo.
• Use the regex attribute to apply to pages based on their url path.
• Note that themes listed first will take precedence.
• Apply another theme to your favorite collection (look into your
xmlui/themes directory for a few options) by using a handle.
• Apply another theme to the community-list page using a regular
expression.
• Restart tomcat to see the effects.
Theming for the XMLUI -
Internationalization
• Within the xmlui/i18n directory, you will find the
messages.xml file.
• As part of the processing pipeline that generates XMLUI pages,
keys are replaced by locally human-readable text as specified
in the messages.
• This is also very important for branding your repository, as you
might not want it always referred to as “DSpace”. Brand your
repository appropriately if desired.
Aspects in the XMLUI
• Within your xmlui.xconf file, have a look at the
<aspects> section.
• Aspects are Java code that interacts with DSpace entities and
contribute to the DRI (Digital Repository Interface) XML that is
subsequently styled by the applied theme.
• Uncomment the Versioning aspect and restart Tomcat to see
this new functionality on the sample item’s page.
System Emails (1/4) - Configure
DSpace to send email
• Open jEdit and bring up dspace.cfg
• Set the following values:
• mail.server=gator3159.hostgator.com
• mail.server.username =
dspacetraining@brazosdatatech.com
• mail.server.password = SuperSecretP@55w0rd
• Uncomment the 3 lines of mail.extraproperties
System Emails (2/4) - Check that
email works
• DSpace provides a nice command line facility to check email
functionality without having to go through any real workflows.
• From the command line, run the test-email script.
System Emails (3/4) - DSpace
email templates
• Once email is working, customizing email texts is one of the
easiest customizations one can do.
• Simply find the email template of interest in
C:dspaceconfigemails
• Changes to these files do not require a restart of Tomcat
• The significance of the numbers in braces depends on the
calling Java class, and can be determined from the context.
System Emails (4/4) – Try out an
email template modification
• Make some modifications to the register email template.
• Navigate to the landing page, and click register on the right-
hand menu (or on the login page)
• Put in an email address you can get to over the web – if you
need one, ask me to get temporarily set up.
• Check your email to see whether your changes were effective.
Authentication - Introduction
• Configuring the Authentication Stack
• IP-based authentication
• Institutional authentication with attributes
Configuring IP-based
authentication (1/2)
• Create a new eperson group for your DSpace repository.
• Pick an item and set its bitstream’s permissions such that only
members of the new group can read it.
• Delete the existing policy
• Add a new policy for the group
Configuring IP-based
authentication (2/2)
• Bring up [dspace-install-
dir]configmodulesauthentication.cfg
• Find the stack of authentication methods
• Add org.dspace.authenticate.IPAuthentication
• Bring up [dspace-install-
dir]configmodulesauthentication-ip.cfg
• Add your ip to a new ip.GROUPNAME line.
• What is your ip? Due to the vagaries of networking, this is best
determined by checking [dspace-install-
dir]logdspace.log.[date] for today’s date.
• Restart tomcat, ensure you’re logged out, and see if you can read
the item.
• Pro Tip: If you’re behind a load balancer or another proxying server,
set useProxies = true in dspace.cfg and make sure your
sysadmin forwards the ip headers
Configuring Attribute-based
Authentication
• LDAP and Shibboleth are two institutional authentication
schemes that can be used to convey headers full of attributes
to DSpace.
• Enable in XMLUI by adding their module’s classes to the auth
stack.
• Both employ an autoregister field in their configurations that
permits users to be registered as epersons automatically upon
logging in with the institutional authenticator.
Configuring Attribute-based
Authentication – LDAP attributes
• Configure with the file [dspace-install-
dir]configmodulesauthentication-ldap.cfg
• Denote your institution’s LDAP server, as with for ex.
provider_url = ldap://ldap.myu.edu/o=myu.edu
• Authentication occurs based on an object context, as with
object_context = ou=people, o=myu.edu
• When autoregistering the eperson,
• eperson metadata (username, email, phone, etc) are populated from
specified LDAP values, for ex.
id_field = uid
email_field = mail
• Metadata are looked up based on a search context, as with
search_context = ou=people, o=myu.edu
• Check with your LDAP provider for your local configuration.
Configuring Attribute-based
Authentication – LDAP Group
Mapping
• All LDAP authenticated users can be put into a specific group
with the configuration value login.specialgroup =
group-name
• Specific group mappings on the basis of LDAP DNs
(distinguished names) are achieved with the
login.groupmap.[n] (for n > 0) values. These values
are DN substrings followed by a colon and a DSpace group, for
ex. login.groupmap.1 = ou=Students:students
Configuring Attribute-based
Authentication – Shibboleth
Attributes
• Configure with authentication-shibboleth.cfg
• Two types of sessions: lazy and active
• Lazy sessions may be required by the application when needed,
so are suitable for DSpace instances where many pages should be
public
• Active sessions restrict domains entirely and so run counter to
open access
• The lazy session login URL may be specified as with
authentication.shib.lazysession.loginurl =
/Shibboleth.sso/Login
• eperson attributes may be populated specifically in the case of
netid, surname, given name, and email, and en masse with a
list. These mappings are achieved as with, for ex.
email-header = SHIB-MAIL
Configuring Attribute-based
Authentication – Shibboleth Role-
based Group Mapping
• Shibboleth attributes may be scoped by means of the at-sign
‘@’ as in attribute@scope
• In order to map epersons into groups based on Shibboleth
attributes, first determine how to deal with the scoping of the
attributes.
• Optionally, one may ignore attributes (use scope only) or ignore
scope and just use the attribute
• In addition, one must specify which header to examine for the
role attributes, e.g.
role-header = SHIB_SCOPED_AFFILIATION
• Finally , epersons can be assigned to groups based on
attributes, e.g.
role.faculty = Faculty, Member
Final Thoughts on Authentication
• Centralized methods require coordination with Campus or
Department IT.
• Groups are determined dynamically based on the headers for
each session and not stored in the database. This can be
desirable as people’s roles change at an institution.
Submission Workflows - Topics
• Creating new submission workflows
• Applying customizations to specific collections
• Creating custom input forms
Submission Workflow (1/5) –
modifying the workflow
• Use jEdit to open the file C:dspaceconfigitem-
submission.xml
• There are 3 crucial sections to the file:
• <submission-map> Maps workflows to collections
• <step-definitions> If you want to re-use specific
submission workflow steps, describe their headings and java
classes here
• <submission-definitions> Describes workflows in
terms of their individual steps
Submission Workflow (2/5) –
modifying the workflow
• Consider the <submission-definitions> section at
the bottom.
• The default order for steps is familiar: Select Collection ->
Initial Questions -> Describe -> Upload -> Verify -> License ->
Complete
• We can easily duplicate the traditional workflow, rename it,
modify it, and apply it.
Submission Workflow (3/5) –
modifying the workflow
• Copy the traditional submission process in order to make a
new <submission-process> with a name of your
choosing.
• Move the upload step to be step 2.
• Change the default <name-map> in the <submission-
map> at the top to use the new submission process.
• Restart Tomcat.
• Try out the new workflow.
Submission Workflow (4/5)-
Customizing the submission form
for a specific collection
• Obtain the handle of a non-harvested collection.
• Restore the default to traditional submission mapping.
• Make a new mapping from your chosen collection to the
modified workflow.
• Restart tomcat once more, and make sure the modified
workflow properly applies
Submission Workflow (5/5) –
Enabling Advanced Embargo
• Enabling this feature requires the additional step of setting
webui.submission.restrictstep.enableAdvanc
edForm=true in the dspace.cfg
• Visit the item-submission.xml file again, comment out
the UploadStep, and uncomment the ManageAccess
and UploadWithEmbargo steps in the new workflow.
• Restart tomcat, and visit the item submission again to see the
new steps.
Creating Custom Input Forms
(1/5)
• Use jEdit to open the file C:dspaceconfiginput-
forms.xml
• Similarly to the item-submission.xml file, you will find a
<form-map> section and a <form-definitions>
section.
• Within the <form-definitions> are <form> elements
which characterize the metadata input.
Creating Custom Input Forms
(2/5)
• DSpace 4.2 has a traditional form with exactly 2 pages (recall
that there are two pages of strictly metadata-oriented input in
the traditional submission workflow.
• Let’s duplicate the form element and give it a new name.
• Then, let’s map the new form(s) to the same collection we did
for our un-traditional submission workflow.
Creating Custom Input Forms
(3/5)
• The pages can be modified in a number of ways –
• Target metadata field (schema, element, qualifier)
• Labels
• Repeatability
• Input-type
• Requirement
• In addition, we can customize the value pairs used for
dropdowns (that’s one of the input types).
Creating Custom Input Forms
(4/5)
• Let’s create a dropdown for dc.format (or another field if
you like)
• First, make a <value-pairs> with an appropriate value-
pairs-name attribute and a specific dc-term attribute
element inside the <form-value-pairs> element.
• Next, make some <pair> elements inside the new value-
pairs element.
• Finally, make a new <field> element inside of the <page
number=“1”> element to use the new value list.
• Restart tomcat and check it out!
Custom Input Forms (5/5) -
Customizing the Submission
Workflow for Item Types
• The element <type-bind>, containing comma-delimited
dc.type values, may be contained in a <field> element.
• This can only affect the workflow after the dc.type value has
been set (so, typically, on the second page of metadata entry)
• Try adding <type-bind> for some appropriate types such as
“article” to the dc.description.abstract field on the second
page of the input forms.
• Restart Tomcat to see the effects.
Controlled Vocabularies for Input
Fields (1/3)
• With controlled vocabularies in DSpace, submitters can
choose specific string values that are specified in an XML
document, eliminating the ambiguity of free-text fields (at
least for anyone who comprehends the semantics of the
contents of the XML document)
• Let’s fabricate a controlled vocabulary for the
dc.subject.classification field which comes in the default
registry.
Controlled Vocabularies for Input
Fields (2/3)
• Here is the grammar for the XML files:
• The root element is a <node> element
• It has an id and a label attribute.
• It may contain an <isComposedBy> element.
• An <isComposedBy> element can contain one or more
<node> elements.
• These xml files belong in the [dspace-installation-
dir]configcontrolled-vocabularies directory
• The following vocabularies are already provided:
• nsi.xml - The Norwegian Science Index
• srsc.xml - Swedish Research Subject Categories
Controlled Vocabularies for Input
Fields (3/3)
• Make an XML file with, say, 3 <node> elements and save it to
the controller-vocabularies directory.
• Add a new field for dc.subject.classification to
the 2nd page of one of your metadata submission input forms.
• Include the additional element <vocabulary
closed=“true”>[name]</vocabulary> where
name is what you named your xml file (minus the xml
extension).
• Restart Tomcat and check out your new vocabulary!
Enabling Information Seeking -
Outline
• Faceted search (aka “Discovery”)
• Handles
• DOIs
• Deprecated Legacy Search/Browse
Discovery (i.e. facets)
• A popular paradigm for information-seeking
tasks.
• The user selects a value for a metadata field.
This results in a smaller space of items to search.
• The user may select a value for another
metadata field value that is still available in the
new search space, resulting in a still smaller
search space.
Configuring Discovery (1/7)
• Configuration for the discovery feature may be found in
[dspace-install-
dir]configspringapidiscovery.xml
• Herein, one may make bean definitions for the Java Spring
framework, a means of configuring Java class instances for
enterprise applications.
• The beans have
• id attributes that are used to reference them by name in Java
application code, and
• class attributes that name the Java class that the bean
instantiates and configures
Configuring Discovery (2/7)
• By analogy with the configuration of input forms and
workflows which are mapped to specific handles (communites
and collections), the discovery.xml file includes a bean
that maps discovery configurations to handles.
• This mapping bean has (eliding prefixes) both an id and a class of
DiscoveryConfigurationService
• Find the entry elements inside the map sub-element of this
bean.
• The entry elements will contain a key attribute referencing the
target handle and a value-ref attribute referencing the discovery
configuration to use.
Configuring Discovery (3/7)
There are two privileged key attribute values that are not handles
used in the entry elements:
And the optional key=“site” entry element which solely
impacts the default search page and the repository homepage
Configuring Discovery (4/7)
• The discovery.xml file comes stock with a bean of id
defaultConfiguration which is used by the default
mapping.
• The most expedient means of reconfiguring the facets for a certain
community or collection is to copy this bean , rename (i.e. change
the id) of it, and add the mapping to the
DiscoveryConfigurationService near the top of the file.
• Next, we will try adding a field to our new configuration.
Configuring Discovery (5/7)
• Under the comment
we find the beans representing our facets.
• Within the org.dspace.discovery.configuration
package there are the classes
• DiscoverySearchFilter - used for facets that appear only in
the dropdown on the Discovery search page
• DiscoverySearchFilterFacet – used for facets that may
appear in both the clickable Discovery sidebar widget and the
Discovery search dropdown
• HierarchicalSidebarFacetConfiguration – used for
facets that are compatible with hierarchically expressed metadata
field values such as those enabled by the controlled vocabulary
mechainsm.
• NOTE: If you want a facet to appear on the sidebar, it must also
appear in the Discovery search dropdown!
Configuring Discovery (6/7)
• Within a given Discovery configuration bean, there are two
crucial lists:
• It is by adding and removing references to the search filter
beans that we can effect changes to the sidebar facet and
Discovery search dropdown facet lists respectively.
Configuring Discovery (7/7)
• As a simple test of Discovery configuration, we can take a
freshly duplicated bean of the defaultConfiguration
bean (first changing the id)
• Then, duplicate the searchFilterAuthor bean among the search
filter configuration beans
• Change its id and targeted Dublin Core field(s)
• Change the indexFieldName property
• This one is a DiscoverySearchFilterFacet instance, so it is
able to appear on both the sidebar and search page.
• Add this new search filter configuration bean to the lists in the
new configuration bean
Indexing for Discovery
• A Solr webapp is provided in Tomcat’s webapps directory. See
that Tomcat is running it at http://localhost:8080/solr
• Solr will offer to a client on localhost a webform to query its
discovery index
• From the command line, run [dspace-install-
dir]bindspace index-discovery
• Add –b to the end of that if you get a java-related error about
binary formats
• Add -b and –f if your facets stubbornly fail to appear on the
sidebar
• Add –h to get the help text about all the options
Try out some faceted search
• Restart and bring back up your repository.
• Your Discovery facets will appear on the right – but, as
usual, work might remain in the messages!
Naturally, if it works on the
sidebar, it works in the search
interface.
Final Considerations on
Discovery
• For customizing the search/browse affordances on a collection
basis, a far more lightweight tool than XMLUI themes.
• Hierarchical fields enable the facet values to be cut down to
the final leaf by mean of a delimiter (the double colon “::” in
the case of the default controlled vocabulary configuration) –
Thus, for example, Everything::Entity appears as Entity under
the subject facet.
• SearchArtifacts is deprecated and disabled by default in 4.1.
This will be a transition worth the costs.
Handles
• Once you have a handle prefix assigned by CNRI (as described
in the Server Configuration section below), set your handle
prefix in dspace.cfg under the parameter
handle.prefix
Digital Object Identifiers
(DOIs) in DSpace
• May be used in parallel with the handle functionality that is
inextricable from DSpace (and will continue to be used for
item’s URLs)
• Requires registration with an agency, of which there are many.
• Available Java Beans in DSpace implement for the DataCite
and EZID services – for others, custom code is required.
• No facility exists for multiple DSpaces (or other repository
instances) to share a prefix and namespace separator and
coordinate DOI mintage – but modify the namespace
separator between DSpace instances and you will be good to
go.
Digital Object Identifiers
(DOIs) with DataCite
• Lots to configure - assigned prefix, credentials, and update
event handling in dspace.cfg
• Change value of variable ‘publisher’ in [dspace-install-
dir]/config/crosswalks/DIM2DataCite.xsl
• Uncomment beans in [dspace-install-
dir]/config/spring/api/identifier-
service.xml
• Set up cron jobs to talk to the DataCite API
• See the docs for details if this is your use case.
Digital Object Identifiers
(DOIs) with EZID
• Less to configure – uncomment the EZID block in dspace.cfg
• Uncomment beans in [dspace-install-
dir]/config/spring/api/identifier-
service.xml
• Optionally configure the metadata mapping on the bean
• See the docs for details if this is your use case.
Activating Legacy
Search/Browse
• Open the file C:dspaceconfigxmlui.xconf
• Comment out the Discovery aspect and uncomment the
Search Artifacts aspect
• In dspace.cfg, do the following:
• Remove discovery to the list of
event.dispatcher.default.consumers
• Change recent.submissions.count to five or so
• Enable the ItemCountDAO, BrowseDAO,
BrowseCreateDAO classes for Postgres (instead of Solr)
Changing the Browse Indexes (1/4)
• Return to the dspace.cfg file.
• Track down where the webui.browse.index.n
entries begin
• We can here add and remove indexes – I chose to add
dc.format:
webui.browse.index.5 = 
format:metadata:dc.format:text
Changing the Browse Indexes (2/4)
• As it happens, we haven’t initialized our browse and browse
indices yet. That needs to be done at the command line with:
C:dspacebindspace index-db-browse –f
C:dspacebindspace index-lucene-init -f
• Restart Tomcat
• The new index should show up – if not, click around to another
page, or try deleting Tomcat’s cache (it is the
C:DevelopmenttomcatworkCatalinalocalh
ostxmlui directory). Caching issues are known to exist
on the server…
Changing the Browse Indexes (3/4)
• Once you see your new index choice, you will note that it
is rather user unfriendly:
xmlui.ArtifactBrowser.Navigation.browse_format
Changing the Browse Indexes (4/4)
• Here are the message keys required to render the new browse
field nicely:
• xmlui.ArtifactBrowser.Navigation.browse_format
(on the sidebar)
• xmlui.ArtifactBrowser.ConfigurableBrowse.title.
metadata.format (atop the browse-by controls)
• xmlui.ArtifactBrowser.ConfigurableBrowse.format
.column_heading (atop the table of results)
• xmlui.ArtifactBrowser.ConfigurableBrowse.trail.
metadata.format (in the breadcrumb trail)
• Provide some reasonable interpretations for these keys in the
messages.
• Ctrl+C Tomcat, delete its cache, and restart to see the
improvements.
Additional Configurations
• Statistics
• Media Filters
• Curation Tasks
Statistics - Outline
• Repository Overview
• Handle level
• Administrative view
• Google analytics
Statistics –
Repository Overview
• Usage – Top ten items
• Search – Top ten terms and click through
• Workflow – Total actions performed
Statistics – Handles
(i.e. Items and Collections)
• Usage – Total views as well as monthly views for the past 7 months
• Search – Top ten terms and click through
• Workflow – Total actions performed
• Accessible on the sidebar when viewing any DSpace object
• Visibility of these pages can be restricted to administrators in the
[dspace-install-dir]configmodulesusage-
statistics.cfg file
Statistics – Administrative
View
• Requires a few command-line tasks to activate
• stat-initial
• stat-report-initial
• stat-general
• stat-report-general
• stat-monthly
• stat-report-monthly
• Logged in as administrator, look to Administrative => Statistics
on the sidebar
Statistics –
Google Analytics
• An alternative approach to tracking your repository
• Requires a Google Analytics account, which in turn provides
you a tracking key for your domain
• The key and associated JavaScript must then be put on your
website – DSpace facilitates this in the XMLUI with the
configuration value
xmlui.google.analytics.key=UA-XXXXXX-X
Configuring Media Filters
• Open up dspace.cfg
• Find the “Media Filter / Format Filter” portion.
Configuring Media Filters
• There are several setting groups of note:
• filter.plugins activaties the filters with their human-
readable names
• plugin.named.org.dspace.app.mediafilter.Form
atFilter assigns human-readable names to the Java classes
implementing the filters
• filter.org.dspace.app.mediafilter.X.inputfor
mats designates the formats to which filter X applies
Configuring Curation Tasks
• A relatively simple way to implement and apply custom
operations to repository objects.
• Activate with the
plugin.named.org.dspace.curate.CurationTask
setting, which will consist of key-value pairs such as
• org.dspace.curate.ProfileFormats =
profileformats
• Where the key is the Java class and the value is the designation
used for further configuration
DSpace’s Helper Servers
• The Handle Server
• Apache Solr - a webservice
using Apache Lucene
• SWORD – Simple Webservice
Offering Repository Deposit
• Open Archives Initiative
• REST API – Representational State
Transfer Application Programming
Interface.
DSpace’s Helper Servers
• All except the handle server exist as webapps under Tomcat
• The handle server is started separately from the command
line.
The Handle Server
• Run [dspace-installation-dir]/bin/dspace make-handle-config
[dspace-installation-dir]/handle-server to do the initial setup.
• Next, register your institution with CNRI to get your repository
prefix: http://www.handle.net/service_agreement.html ,
agree to pay some money, and upload the generated
sitebndl.zip file.
• Wait a week…
The Handle Server
• Edit the [dspace-installation-dir]/handle-
server/config.dct file and inside the “server_config”
block set the pairs
"storage_type" = "CUSTOM" and
"storage_class" =
"org.dspace.handle.HandlePlugin"
and change
YOUR_NAMING_AUTHORITY to the handle prefix you get
from CNRI
• The server can be started with [dspace-installation-
dir]/bin/start-handle-server. Make sure port 2641 is
open through your firewall.
• If you’ve been running DSpace for some time without real handles,
you can migrate the previously generated ones with the script
update-handle-prefix
The Solr Server
• Service underpinning the Discovery aspect, Statistics aspect,
and OAI service
• Not visible to anyone except the localhost since queries upon
it can reveal restricted items.
• One can check functionality quickly however, with a wget at
the localhost’s command line or by seeing if the repository
statistics page shows any content whatsoever.
The Solr Server
• Solr configuration is set up for you automatically on a fresh
install, but you might want to edit it after the fact if you keep
the services elsewhere on the network or want to tweak the
indexing and searching functionality.
• The three services (oai, search, and statistics) are denoted in
[dspace-install-dir]/solr/solr.xml
• Each is configured in its own conf directory, as with
[dspace-install-dir]/solr/statistics/conf
The SWORD Server(s)
• SWORD v1 configured in [dspace-install-dir]modulessword-
server.cfg
• SWORD v2 configured in [dspace-install-
dir]modulesswordv2-server.cfg
• Noteworthy configuration values –
• URLs for servicedocument and deposit
• Which types of packages to accept
The OAI Server
• Relies on Solr in DSpace 4.2
• Initialize with [dspace-installation-
dir]/bin/dspace oai import
• Disseminates metadata with XSL configurable crosswalks
The OAI Server
• Crosswalks (and contexts) can be added (or removed) by editing
[dspace-install-
dir]/config/crosswalks/oai/xoai.xml
• The context determines the end of the URL path, for example
“request” is the context of
http://localhost:8080/oai/request
• Once a new XSL file is in place, it can be denoted in the <Formats>
section with a unique id attribute and invoked as a <Format>
with the corresponding refid attribute in the appropriate
<Context>
• Just to see an example of how to add a new format, you can copy
and rename an existing one and activate it in xoai.xml
The REST API
• Read-only access for the Anonymous user
• Simply provides JSON responses statelessly, and is not
configurable short of changes to how Tomcat serves it
• Changes or additions to the JSON responses would require
some Java coding
Final Thoughts on
Configuration
• Everything requires a restart, which can be a pain in production
environments requiring scheduling and after-hours work.
• Wondering about whether and how something can be done? The
DSpace Wiki is your friend:
https://wiki.duraspace.org/display/DSDOC4x/DSpace+4.x+Documentation
• If you lose functionality after an upgrade, one of the configuration
files is probably to blame. An upgrade requires a comparison of the
new stock configurations with your old ones (line by line!). Specific
issues can be addressed by checking the docs regarding the feature
in question.
• [dspace-install-dir]/log/dspace.log.[today’s
date] is a great place to start looking if you’re stumped about
your repository not acting as expected.

Weitere ähnliche Inhalte

Was ist angesagt?

Microsoft Offical Course 20410C_08
Microsoft Offical Course 20410C_08Microsoft Offical Course 20410C_08
Microsoft Offical Course 20410C_08gameaxt
 
MCSA Installing & Configuring Windows Server 2012 70-410
MCSA Installing & Configuring Windows Server 2012 70-410MCSA Installing & Configuring Windows Server 2012 70-410
MCSA Installing & Configuring Windows Server 2012 70-410omardabbas
 
Apache Kafka Women Who Code Meetup
Apache Kafka Women Who Code MeetupApache Kafka Women Who Code Meetup
Apache Kafka Women Who Code MeetupSnehal Nagmote
 
Integrating DSpace with DuraCloud 11-30-11
Integrating DSpace with DuraCloud 11-30-11Integrating DSpace with DuraCloud 11-30-11
Integrating DSpace with DuraCloud 11-30-11DuraSpace
 
Which cloud provider for your oracle database
Which cloud provider for your oracle databaseWhich cloud provider for your oracle database
Which cloud provider for your oracle databaseLaurent Leturgez
 
April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...
April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...
April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...Yahoo Developer Network
 
The First Class Integration of Solr with Hadoop
The First Class Integration of Solr with HadoopThe First Class Integration of Solr with Hadoop
The First Class Integration of Solr with Hadooplucenerevolution
 
Real-Time Inverted Search NYC ASLUG Oct 2014
Real-Time Inverted Search NYC ASLUG Oct 2014Real-Time Inverted Search NYC ASLUG Oct 2014
Real-Time Inverted Search NYC ASLUG Oct 2014Bryan Bende
 
Lucene for Solr Developers
Lucene for Solr DevelopersLucene for Solr Developers
Lucene for Solr DevelopersErik Hatcher
 
Chapter 4 configuring and managing the dns server role
Chapter 4   configuring and managing the dns server roleChapter 4   configuring and managing the dns server role
Chapter 4 configuring and managing the dns server roleLuis Garay
 
Emerging technologies /frameworks in Big Data
Emerging technologies /frameworks in Big DataEmerging technologies /frameworks in Big Data
Emerging technologies /frameworks in Big DataRahul Jain
 
Multitenancy: Kafka clusters for everyone at LINE
Multitenancy: Kafka clusters for everyone at LINEMultitenancy: Kafka clusters for everyone at LINE
Multitenancy: Kafka clusters for everyone at LINEkawamuray
 
Python and Oracle : allies for best of data management
Python and Oracle : allies for best of data managementPython and Oracle : allies for best of data management
Python and Oracle : allies for best of data managementLaurent Leturgez
 
LINE's messaging service architecture underlying more than 200 million monthl...
LINE's messaging service architecture underlying more than 200 million monthl...LINE's messaging service architecture underlying more than 200 million monthl...
LINE's messaging service architecture underlying more than 200 million monthl...kawamuray
 
Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)Ulrich Krause
 
2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar Slides2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar SlidesDuraSpace
 
DSpace Today and Tomorrow
DSpace Today and TomorrowDSpace Today and Tomorrow
DSpace Today and TomorrowBram Luyten
 

Was ist angesagt? (20)

Microsoft Offical Course 20410C_08
Microsoft Offical Course 20410C_08Microsoft Offical Course 20410C_08
Microsoft Offical Course 20410C_08
 
MCSA 70-412 Chapter 09
MCSA 70-412 Chapter 09MCSA 70-412 Chapter 09
MCSA 70-412 Chapter 09
 
6421 b Module-03
6421 b Module-036421 b Module-03
6421 b Module-03
 
MCSA Installing & Configuring Windows Server 2012 70-410
MCSA Installing & Configuring Windows Server 2012 70-410MCSA Installing & Configuring Windows Server 2012 70-410
MCSA Installing & Configuring Windows Server 2012 70-410
 
Apache Kafka Women Who Code Meetup
Apache Kafka Women Who Code MeetupApache Kafka Women Who Code Meetup
Apache Kafka Women Who Code Meetup
 
Integrating DSpace with DuraCloud 11-30-11
Integrating DSpace with DuraCloud 11-30-11Integrating DSpace with DuraCloud 11-30-11
Integrating DSpace with DuraCloud 11-30-11
 
Which cloud provider for your oracle database
Which cloud provider for your oracle databaseWhich cloud provider for your oracle database
Which cloud provider for your oracle database
 
April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...
April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...
April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...
 
The First Class Integration of Solr with Hadoop
The First Class Integration of Solr with HadoopThe First Class Integration of Solr with Hadoop
The First Class Integration of Solr with Hadoop
 
Real-Time Inverted Search NYC ASLUG Oct 2014
Real-Time Inverted Search NYC ASLUG Oct 2014Real-Time Inverted Search NYC ASLUG Oct 2014
Real-Time Inverted Search NYC ASLUG Oct 2014
 
Solr 4
Solr 4Solr 4
Solr 4
 
Lucene for Solr Developers
Lucene for Solr DevelopersLucene for Solr Developers
Lucene for Solr Developers
 
Chapter 4 configuring and managing the dns server role
Chapter 4   configuring and managing the dns server roleChapter 4   configuring and managing the dns server role
Chapter 4 configuring and managing the dns server role
 
Emerging technologies /frameworks in Big Data
Emerging technologies /frameworks in Big DataEmerging technologies /frameworks in Big Data
Emerging technologies /frameworks in Big Data
 
Multitenancy: Kafka clusters for everyone at LINE
Multitenancy: Kafka clusters for everyone at LINEMultitenancy: Kafka clusters for everyone at LINE
Multitenancy: Kafka clusters for everyone at LINE
 
Python and Oracle : allies for best of data management
Python and Oracle : allies for best of data managementPython and Oracle : allies for best of data management
Python and Oracle : allies for best of data management
 
LINE's messaging service architecture underlying more than 200 million monthl...
LINE's messaging service architecture underlying more than 200 million monthl...LINE's messaging service architecture underlying more than 200 million monthl...
LINE's messaging service architecture underlying more than 200 million monthl...
 
Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)
 
2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar Slides2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar Slides
 
DSpace Today and Tomorrow
DSpace Today and TomorrowDSpace Today and Tomorrow
DSpace Today and Tomorrow
 

Ähnlich wie Dspace4 150227090306-conversion-gate01

[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the BasicsUlrich Krause
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the BasicsUlrich Krause
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUlrich Krause
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPagesUlrich Krause
 
SFDC Deployments
SFDC DeploymentsSFDC Deployments
SFDC DeploymentsSujit Kumar
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with DockerRavindu Fernando
 
Corporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiCorporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiUnmesh Baile
 
Corporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiCorporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiUnmesh Baile
 
CNIT 152 13 Investigating Mac OS X Systems
CNIT 152 13 Investigating Mac OS X SystemsCNIT 152 13 Investigating Mac OS X Systems
CNIT 152 13 Investigating Mac OS X SystemsSam Bowne
 
Content server installation guide
Content server installation guideContent server installation guide
Content server installation guideNaveed Bashir
 
What is new in CFEngine 3.6
What is new in CFEngine 3.6What is new in CFEngine 3.6
What is new in CFEngine 3.6RUDDER
 
What is new in CFEngine 3.6
What is new in CFEngine 3.6What is new in CFEngine 3.6
What is new in CFEngine 3.6Jonathan Clarke
 
Centralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackCentralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackRich Lee
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container EcosystemVinay Rao
 
Drupal 8 + Elasticsearch + Docker
Drupal 8 + Elasticsearch + DockerDrupal 8 + Elasticsearch + Docker
Drupal 8 + Elasticsearch + DockerRoald Umandal
 
Salesforce winter 16 release
Salesforce winter 16 releaseSalesforce winter 16 release
Salesforce winter 16 releaseJitendra Zaa
 
Road to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsRoad to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsGianluca Varisco
 

Ähnlich wie Dspace4 150227090306-conversion-gate01 (20)

[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
 
Dspace software
Dspace softwareDspace software
Dspace software
 
SFDC Deployments
SFDC DeploymentsSFDC Deployments
SFDC Deployments
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
10135 b 02
10135 b 0210135 b 02
10135 b 02
 
Corporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiCorporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbai
 
Corporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiCorporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbai
 
CNIT 152 13 Investigating Mac OS X Systems
CNIT 152 13 Investigating Mac OS X SystemsCNIT 152 13 Investigating Mac OS X Systems
CNIT 152 13 Investigating Mac OS X Systems
 
Content server installation guide
Content server installation guideContent server installation guide
Content server installation guide
 
What is new in CFEngine 3.6
What is new in CFEngine 3.6What is new in CFEngine 3.6
What is new in CFEngine 3.6
 
What is new in CFEngine 3.6
What is new in CFEngine 3.6What is new in CFEngine 3.6
What is new in CFEngine 3.6
 
Introduction to DSpace
Introduction to DSpaceIntroduction to DSpace
Introduction to DSpace
 
Centralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackCentralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stack
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
 
Drupal 8 + Elasticsearch + Docker
Drupal 8 + Elasticsearch + DockerDrupal 8 + Elasticsearch + Docker
Drupal 8 + Elasticsearch + Docker
 
Salesforce winter 16 release
Salesforce winter 16 releaseSalesforce winter 16 release
Salesforce winter 16 release
 
Road to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsRoad to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoops
 

Kürzlich hochgeladen

Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 

Kürzlich hochgeladen (20)

Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 

Dspace4 150227090306-conversion-gate01

  • 1. DSpace 4.2 Advanced Training DSpace 4.2 Advanced Training by James Creel is licensed under a Creative Commons Attribution 4.0 International License. Special thanks to the DuraSpace Foundation and the Texas Digital Library for making this course possible.
  • 2. Course Outline • Day 1: Quick Review of DSpace Basics DSpace Configuration • Day 2: DSpace Content Transmission • Day 3: Theming for the XMLUI Preview of DSpace 5.0
  • 3. Why XMLUI? • Customizable, Modular, Extensible • Themes • Aspects • Specific features • Harvesting • Controlled vocabulary
  • 4. What goes into a DSpace installation? Source Code Installer Installation Apache Tomcat Webserver mvn package ant build Webapps Webapps
  • 5. What goes into a DSpace installation (1/4) – Source Code • Get it on sourceforge (zip) or GitHub • Where does the source code live? • C:Developmentdspace-4.2-src-release • Call this [dspace-src-dir]
  • 6. What goes into a DSpace installation (2/4) - Installer • Using mvn package from the [dspace-src-dir] we create the “installer” at [dspace-src-dir]dspacetargetdspace-4.2-build. • The build directory will contain a build.xml for use with the Apache ant tool. • Once packaged, this installer can be moved anywhere on the filesystem and invoked. A bug in some JDKs on Windows will cause ant to crash if the directory is too far nested, so you might need to move it up a bit in the filesystem! • Apache ant will read a dspace.cfg file to determine where to install DSpace and how to connect to the database among other details. By default, it will use the configuration in its own config directory, but this can be overridden with the –Dconfig= parameter. • Configuration may also be customized by editing the build.properties file.
  • 7. What goes into a DSpace installation (3/4) - Installation • From the installer directory, we can do a new installation with ant –Dconfig=[path-to-dspace.cfg] fresh_install which will create an empty DSpace database and overwrite all the configuration with what was specified • We can update the code (leaving the database and configuration untouched) with ant –Dconfig=[path-to-dspace.cfg] update • DSpace will be installed in the directory specified by your chosen config file, in our case • C:dspace • Call this [dspace-installation-dir]
  • 8. What goes into a DSpace installation (4/4) - Webapps The webapps under [dspace-installation-dir]webapps should then be deployed under Tomcat. I usually do this with a symlink or by copying them over.
  • 9. Structuring the Repository Content • Communities can contain sub-communities and collections • Collections contain only items • Items contain only bundles • Bundles contain only bitstreams • Bitstreams are the objects of ultimate interest
  • 10. Structuring the Repository Items available at 3rd tier Communities and collections Top level community or communities Comm- unity Collec- tion Item Bundle Bitstream Bitstream Bundle Bitstream Item Bundle Bitstream Sub- Comm- unity Collec- tion… Sub- Comm- unity…
  • 11. Some preliminaries • Log in as admin@admin.com, password “admin” • From the homepage, create the first top-level community • From the community’s page, create the first collection • Therein, submit the first item. I used the text file sample.txt as the bitstream.
  • 12. Accessing Content via XMLUI • Communities, collections, and items are addressable by handles. • Bitstreams are addressable by their item’s handle plus a filename or sequence number (note that a filename will override a sequence number) • Bundles are not directly addressable
  • 13. Let’s view the item • Click through the community/collection hierarchy to find the item • It is addressed via handle, for example: http://localhost:8080/xmlui/handle/123456789 /3 • Consider a singular file within one of the item’s bundles: http://localhost:8080/xmlui/bitstream/handle/123456789/3/ sample.txt?sequence=1 • Note that http://localhost:8080/xmlui/bitstream/handle/123456789/3/ sample.txt works just as well, as does http://localhost:8080/xmlui/bitstream/handle/123456789/3/ ?sequence=1
  • 14. Some basic functionality for review • Moving and mapping items • Editing metadata individually and in batch • Managing epersons and groups • Permissions • Registries • Format • Metadata
  • 15. Advanced DSpace 4.2 Training - Configuration DSpace 4.2 Advanced Training by James Creel is licensed under a Creative Commons Attribution 4.0 International License. Special thanks to the DuraSpace Foundation and the Texas Digital Library for making this course possible.
  • 16. Configuring DSpace 4.2 and the XMLUI • Themes and Aspects • Emails • Authentication • Item Submission • Affordances for Information Seeking (i.e. exposing information) • Configuring Statistics • Configuring Media Filters • Configuring Curation Tasks • All the helper servers • Handle server • Solr • SWORD • OAI • REST
  • 17. Themes and Aspects • Themes and aspects are applied in the dspaceconfigxmlui.xconf configuration file. • The root element, <xmlui> contains two sub-elements, <aspects> and <themes>.
  • 18. Theming for the XMLUI • Inside the xmlui webapp, you can find a themes directory containing the themes. • Each theme is configured in its constituent sitemap.xmap file. • As with other configuration changes, the server must be restarted to enact changes to how themes are applied. • However, a currently applied theme may be edited on-the-fly.
  • 19. Theming for the XMLUI • Within your xmlui.xconf file, have a look at the <themes> section. • Use the handle attribute to apply to specific handles in your repo. • Use the regex attribute to apply to pages based on their url path. • Note that themes listed first will take precedence. • Apply another theme to your favorite collection (look into your xmlui/themes directory for a few options) by using a handle. • Apply another theme to the community-list page using a regular expression. • Restart tomcat to see the effects.
  • 20. Theming for the XMLUI - Internationalization • Within the xmlui/i18n directory, you will find the messages.xml file. • As part of the processing pipeline that generates XMLUI pages, keys are replaced by locally human-readable text as specified in the messages. • This is also very important for branding your repository, as you might not want it always referred to as “DSpace”. Brand your repository appropriately if desired.
  • 21. Aspects in the XMLUI • Within your xmlui.xconf file, have a look at the <aspects> section. • Aspects are Java code that interacts with DSpace entities and contribute to the DRI (Digital Repository Interface) XML that is subsequently styled by the applied theme. • Uncomment the Versioning aspect and restart Tomcat to see this new functionality on the sample item’s page.
  • 22. System Emails (1/4) - Configure DSpace to send email • Open jEdit and bring up dspace.cfg • Set the following values: • mail.server=gator3159.hostgator.com • mail.server.username = dspacetraining@brazosdatatech.com • mail.server.password = SuperSecretP@55w0rd • Uncomment the 3 lines of mail.extraproperties
  • 23. System Emails (2/4) - Check that email works • DSpace provides a nice command line facility to check email functionality without having to go through any real workflows. • From the command line, run the test-email script.
  • 24. System Emails (3/4) - DSpace email templates • Once email is working, customizing email texts is one of the easiest customizations one can do. • Simply find the email template of interest in C:dspaceconfigemails • Changes to these files do not require a restart of Tomcat • The significance of the numbers in braces depends on the calling Java class, and can be determined from the context.
  • 25. System Emails (4/4) – Try out an email template modification • Make some modifications to the register email template. • Navigate to the landing page, and click register on the right- hand menu (or on the login page) • Put in an email address you can get to over the web – if you need one, ask me to get temporarily set up. • Check your email to see whether your changes were effective.
  • 26. Authentication - Introduction • Configuring the Authentication Stack • IP-based authentication • Institutional authentication with attributes
  • 27. Configuring IP-based authentication (1/2) • Create a new eperson group for your DSpace repository. • Pick an item and set its bitstream’s permissions such that only members of the new group can read it. • Delete the existing policy • Add a new policy for the group
  • 28. Configuring IP-based authentication (2/2) • Bring up [dspace-install- dir]configmodulesauthentication.cfg • Find the stack of authentication methods • Add org.dspace.authenticate.IPAuthentication • Bring up [dspace-install- dir]configmodulesauthentication-ip.cfg • Add your ip to a new ip.GROUPNAME line. • What is your ip? Due to the vagaries of networking, this is best determined by checking [dspace-install- dir]logdspace.log.[date] for today’s date. • Restart tomcat, ensure you’re logged out, and see if you can read the item. • Pro Tip: If you’re behind a load balancer or another proxying server, set useProxies = true in dspace.cfg and make sure your sysadmin forwards the ip headers
  • 29. Configuring Attribute-based Authentication • LDAP and Shibboleth are two institutional authentication schemes that can be used to convey headers full of attributes to DSpace. • Enable in XMLUI by adding their module’s classes to the auth stack. • Both employ an autoregister field in their configurations that permits users to be registered as epersons automatically upon logging in with the institutional authenticator.
  • 30. Configuring Attribute-based Authentication – LDAP attributes • Configure with the file [dspace-install- dir]configmodulesauthentication-ldap.cfg • Denote your institution’s LDAP server, as with for ex. provider_url = ldap://ldap.myu.edu/o=myu.edu • Authentication occurs based on an object context, as with object_context = ou=people, o=myu.edu • When autoregistering the eperson, • eperson metadata (username, email, phone, etc) are populated from specified LDAP values, for ex. id_field = uid email_field = mail • Metadata are looked up based on a search context, as with search_context = ou=people, o=myu.edu • Check with your LDAP provider for your local configuration.
  • 31. Configuring Attribute-based Authentication – LDAP Group Mapping • All LDAP authenticated users can be put into a specific group with the configuration value login.specialgroup = group-name • Specific group mappings on the basis of LDAP DNs (distinguished names) are achieved with the login.groupmap.[n] (for n > 0) values. These values are DN substrings followed by a colon and a DSpace group, for ex. login.groupmap.1 = ou=Students:students
  • 32. Configuring Attribute-based Authentication – Shibboleth Attributes • Configure with authentication-shibboleth.cfg • Two types of sessions: lazy and active • Lazy sessions may be required by the application when needed, so are suitable for DSpace instances where many pages should be public • Active sessions restrict domains entirely and so run counter to open access • The lazy session login URL may be specified as with authentication.shib.lazysession.loginurl = /Shibboleth.sso/Login • eperson attributes may be populated specifically in the case of netid, surname, given name, and email, and en masse with a list. These mappings are achieved as with, for ex. email-header = SHIB-MAIL
  • 33. Configuring Attribute-based Authentication – Shibboleth Role- based Group Mapping • Shibboleth attributes may be scoped by means of the at-sign ‘@’ as in attribute@scope • In order to map epersons into groups based on Shibboleth attributes, first determine how to deal with the scoping of the attributes. • Optionally, one may ignore attributes (use scope only) or ignore scope and just use the attribute • In addition, one must specify which header to examine for the role attributes, e.g. role-header = SHIB_SCOPED_AFFILIATION • Finally , epersons can be assigned to groups based on attributes, e.g. role.faculty = Faculty, Member
  • 34. Final Thoughts on Authentication • Centralized methods require coordination with Campus or Department IT. • Groups are determined dynamically based on the headers for each session and not stored in the database. This can be desirable as people’s roles change at an institution.
  • 35. Submission Workflows - Topics • Creating new submission workflows • Applying customizations to specific collections • Creating custom input forms
  • 36. Submission Workflow (1/5) – modifying the workflow • Use jEdit to open the file C:dspaceconfigitem- submission.xml • There are 3 crucial sections to the file: • <submission-map> Maps workflows to collections • <step-definitions> If you want to re-use specific submission workflow steps, describe their headings and java classes here • <submission-definitions> Describes workflows in terms of their individual steps
  • 37. Submission Workflow (2/5) – modifying the workflow • Consider the <submission-definitions> section at the bottom. • The default order for steps is familiar: Select Collection -> Initial Questions -> Describe -> Upload -> Verify -> License -> Complete • We can easily duplicate the traditional workflow, rename it, modify it, and apply it.
  • 38. Submission Workflow (3/5) – modifying the workflow • Copy the traditional submission process in order to make a new <submission-process> with a name of your choosing. • Move the upload step to be step 2. • Change the default <name-map> in the <submission- map> at the top to use the new submission process. • Restart Tomcat. • Try out the new workflow.
  • 39. Submission Workflow (4/5)- Customizing the submission form for a specific collection • Obtain the handle of a non-harvested collection. • Restore the default to traditional submission mapping. • Make a new mapping from your chosen collection to the modified workflow. • Restart tomcat once more, and make sure the modified workflow properly applies
  • 40. Submission Workflow (5/5) – Enabling Advanced Embargo • Enabling this feature requires the additional step of setting webui.submission.restrictstep.enableAdvanc edForm=true in the dspace.cfg • Visit the item-submission.xml file again, comment out the UploadStep, and uncomment the ManageAccess and UploadWithEmbargo steps in the new workflow. • Restart tomcat, and visit the item submission again to see the new steps.
  • 41. Creating Custom Input Forms (1/5) • Use jEdit to open the file C:dspaceconfiginput- forms.xml • Similarly to the item-submission.xml file, you will find a <form-map> section and a <form-definitions> section. • Within the <form-definitions> are <form> elements which characterize the metadata input.
  • 42. Creating Custom Input Forms (2/5) • DSpace 4.2 has a traditional form with exactly 2 pages (recall that there are two pages of strictly metadata-oriented input in the traditional submission workflow. • Let’s duplicate the form element and give it a new name. • Then, let’s map the new form(s) to the same collection we did for our un-traditional submission workflow.
  • 43. Creating Custom Input Forms (3/5) • The pages can be modified in a number of ways – • Target metadata field (schema, element, qualifier) • Labels • Repeatability • Input-type • Requirement • In addition, we can customize the value pairs used for dropdowns (that’s one of the input types).
  • 44. Creating Custom Input Forms (4/5) • Let’s create a dropdown for dc.format (or another field if you like) • First, make a <value-pairs> with an appropriate value- pairs-name attribute and a specific dc-term attribute element inside the <form-value-pairs> element. • Next, make some <pair> elements inside the new value- pairs element. • Finally, make a new <field> element inside of the <page number=“1”> element to use the new value list. • Restart tomcat and check it out!
  • 45. Custom Input Forms (5/5) - Customizing the Submission Workflow for Item Types • The element <type-bind>, containing comma-delimited dc.type values, may be contained in a <field> element. • This can only affect the workflow after the dc.type value has been set (so, typically, on the second page of metadata entry) • Try adding <type-bind> for some appropriate types such as “article” to the dc.description.abstract field on the second page of the input forms. • Restart Tomcat to see the effects.
  • 46. Controlled Vocabularies for Input Fields (1/3) • With controlled vocabularies in DSpace, submitters can choose specific string values that are specified in an XML document, eliminating the ambiguity of free-text fields (at least for anyone who comprehends the semantics of the contents of the XML document) • Let’s fabricate a controlled vocabulary for the dc.subject.classification field which comes in the default registry.
  • 47. Controlled Vocabularies for Input Fields (2/3) • Here is the grammar for the XML files: • The root element is a <node> element • It has an id and a label attribute. • It may contain an <isComposedBy> element. • An <isComposedBy> element can contain one or more <node> elements. • These xml files belong in the [dspace-installation- dir]configcontrolled-vocabularies directory • The following vocabularies are already provided: • nsi.xml - The Norwegian Science Index • srsc.xml - Swedish Research Subject Categories
  • 48. Controlled Vocabularies for Input Fields (3/3) • Make an XML file with, say, 3 <node> elements and save it to the controller-vocabularies directory. • Add a new field for dc.subject.classification to the 2nd page of one of your metadata submission input forms. • Include the additional element <vocabulary closed=“true”>[name]</vocabulary> where name is what you named your xml file (minus the xml extension). • Restart Tomcat and check out your new vocabulary!
  • 49. Enabling Information Seeking - Outline • Faceted search (aka “Discovery”) • Handles • DOIs • Deprecated Legacy Search/Browse
  • 50. Discovery (i.e. facets) • A popular paradigm for information-seeking tasks. • The user selects a value for a metadata field. This results in a smaller space of items to search. • The user may select a value for another metadata field value that is still available in the new search space, resulting in a still smaller search space.
  • 51. Configuring Discovery (1/7) • Configuration for the discovery feature may be found in [dspace-install- dir]configspringapidiscovery.xml • Herein, one may make bean definitions for the Java Spring framework, a means of configuring Java class instances for enterprise applications. • The beans have • id attributes that are used to reference them by name in Java application code, and • class attributes that name the Java class that the bean instantiates and configures
  • 52. Configuring Discovery (2/7) • By analogy with the configuration of input forms and workflows which are mapped to specific handles (communites and collections), the discovery.xml file includes a bean that maps discovery configurations to handles. • This mapping bean has (eliding prefixes) both an id and a class of DiscoveryConfigurationService • Find the entry elements inside the map sub-element of this bean. • The entry elements will contain a key attribute referencing the target handle and a value-ref attribute referencing the discovery configuration to use.
  • 53. Configuring Discovery (3/7) There are two privileged key attribute values that are not handles used in the entry elements: And the optional key=“site” entry element which solely impacts the default search page and the repository homepage
  • 54. Configuring Discovery (4/7) • The discovery.xml file comes stock with a bean of id defaultConfiguration which is used by the default mapping. • The most expedient means of reconfiguring the facets for a certain community or collection is to copy this bean , rename (i.e. change the id) of it, and add the mapping to the DiscoveryConfigurationService near the top of the file. • Next, we will try adding a field to our new configuration.
  • 55. Configuring Discovery (5/7) • Under the comment we find the beans representing our facets. • Within the org.dspace.discovery.configuration package there are the classes • DiscoverySearchFilter - used for facets that appear only in the dropdown on the Discovery search page • DiscoverySearchFilterFacet – used for facets that may appear in both the clickable Discovery sidebar widget and the Discovery search dropdown • HierarchicalSidebarFacetConfiguration – used for facets that are compatible with hierarchically expressed metadata field values such as those enabled by the controlled vocabulary mechainsm. • NOTE: If you want a facet to appear on the sidebar, it must also appear in the Discovery search dropdown!
  • 56. Configuring Discovery (6/7) • Within a given Discovery configuration bean, there are two crucial lists: • It is by adding and removing references to the search filter beans that we can effect changes to the sidebar facet and Discovery search dropdown facet lists respectively.
  • 57. Configuring Discovery (7/7) • As a simple test of Discovery configuration, we can take a freshly duplicated bean of the defaultConfiguration bean (first changing the id) • Then, duplicate the searchFilterAuthor bean among the search filter configuration beans • Change its id and targeted Dublin Core field(s) • Change the indexFieldName property • This one is a DiscoverySearchFilterFacet instance, so it is able to appear on both the sidebar and search page. • Add this new search filter configuration bean to the lists in the new configuration bean
  • 58. Indexing for Discovery • A Solr webapp is provided in Tomcat’s webapps directory. See that Tomcat is running it at http://localhost:8080/solr • Solr will offer to a client on localhost a webform to query its discovery index • From the command line, run [dspace-install- dir]bindspace index-discovery • Add –b to the end of that if you get a java-related error about binary formats • Add -b and –f if your facets stubbornly fail to appear on the sidebar • Add –h to get the help text about all the options
  • 59. Try out some faceted search • Restart and bring back up your repository. • Your Discovery facets will appear on the right – but, as usual, work might remain in the messages!
  • 60. Naturally, if it works on the sidebar, it works in the search interface.
  • 61. Final Considerations on Discovery • For customizing the search/browse affordances on a collection basis, a far more lightweight tool than XMLUI themes. • Hierarchical fields enable the facet values to be cut down to the final leaf by mean of a delimiter (the double colon “::” in the case of the default controlled vocabulary configuration) – Thus, for example, Everything::Entity appears as Entity under the subject facet. • SearchArtifacts is deprecated and disabled by default in 4.1. This will be a transition worth the costs.
  • 62. Handles • Once you have a handle prefix assigned by CNRI (as described in the Server Configuration section below), set your handle prefix in dspace.cfg under the parameter handle.prefix
  • 63. Digital Object Identifiers (DOIs) in DSpace • May be used in parallel with the handle functionality that is inextricable from DSpace (and will continue to be used for item’s URLs) • Requires registration with an agency, of which there are many. • Available Java Beans in DSpace implement for the DataCite and EZID services – for others, custom code is required. • No facility exists for multiple DSpaces (or other repository instances) to share a prefix and namespace separator and coordinate DOI mintage – but modify the namespace separator between DSpace instances and you will be good to go.
  • 64. Digital Object Identifiers (DOIs) with DataCite • Lots to configure - assigned prefix, credentials, and update event handling in dspace.cfg • Change value of variable ‘publisher’ in [dspace-install- dir]/config/crosswalks/DIM2DataCite.xsl • Uncomment beans in [dspace-install- dir]/config/spring/api/identifier- service.xml • Set up cron jobs to talk to the DataCite API • See the docs for details if this is your use case.
  • 65. Digital Object Identifiers (DOIs) with EZID • Less to configure – uncomment the EZID block in dspace.cfg • Uncomment beans in [dspace-install- dir]/config/spring/api/identifier- service.xml • Optionally configure the metadata mapping on the bean • See the docs for details if this is your use case.
  • 66. Activating Legacy Search/Browse • Open the file C:dspaceconfigxmlui.xconf • Comment out the Discovery aspect and uncomment the Search Artifacts aspect • In dspace.cfg, do the following: • Remove discovery to the list of event.dispatcher.default.consumers • Change recent.submissions.count to five or so • Enable the ItemCountDAO, BrowseDAO, BrowseCreateDAO classes for Postgres (instead of Solr)
  • 67. Changing the Browse Indexes (1/4) • Return to the dspace.cfg file. • Track down where the webui.browse.index.n entries begin • We can here add and remove indexes – I chose to add dc.format: webui.browse.index.5 = format:metadata:dc.format:text
  • 68. Changing the Browse Indexes (2/4) • As it happens, we haven’t initialized our browse and browse indices yet. That needs to be done at the command line with: C:dspacebindspace index-db-browse –f C:dspacebindspace index-lucene-init -f • Restart Tomcat • The new index should show up – if not, click around to another page, or try deleting Tomcat’s cache (it is the C:DevelopmenttomcatworkCatalinalocalh ostxmlui directory). Caching issues are known to exist on the server…
  • 69. Changing the Browse Indexes (3/4) • Once you see your new index choice, you will note that it is rather user unfriendly: xmlui.ArtifactBrowser.Navigation.browse_format
  • 70. Changing the Browse Indexes (4/4) • Here are the message keys required to render the new browse field nicely: • xmlui.ArtifactBrowser.Navigation.browse_format (on the sidebar) • xmlui.ArtifactBrowser.ConfigurableBrowse.title. metadata.format (atop the browse-by controls) • xmlui.ArtifactBrowser.ConfigurableBrowse.format .column_heading (atop the table of results) • xmlui.ArtifactBrowser.ConfigurableBrowse.trail. metadata.format (in the breadcrumb trail) • Provide some reasonable interpretations for these keys in the messages. • Ctrl+C Tomcat, delete its cache, and restart to see the improvements.
  • 71. Additional Configurations • Statistics • Media Filters • Curation Tasks
  • 72. Statistics - Outline • Repository Overview • Handle level • Administrative view • Google analytics
  • 73. Statistics – Repository Overview • Usage – Top ten items • Search – Top ten terms and click through • Workflow – Total actions performed
  • 74. Statistics – Handles (i.e. Items and Collections) • Usage – Total views as well as monthly views for the past 7 months • Search – Top ten terms and click through • Workflow – Total actions performed • Accessible on the sidebar when viewing any DSpace object • Visibility of these pages can be restricted to administrators in the [dspace-install-dir]configmodulesusage- statistics.cfg file
  • 75. Statistics – Administrative View • Requires a few command-line tasks to activate • stat-initial • stat-report-initial • stat-general • stat-report-general • stat-monthly • stat-report-monthly • Logged in as administrator, look to Administrative => Statistics on the sidebar
  • 76. Statistics – Google Analytics • An alternative approach to tracking your repository • Requires a Google Analytics account, which in turn provides you a tracking key for your domain • The key and associated JavaScript must then be put on your website – DSpace facilitates this in the XMLUI with the configuration value xmlui.google.analytics.key=UA-XXXXXX-X
  • 77. Configuring Media Filters • Open up dspace.cfg • Find the “Media Filter / Format Filter” portion.
  • 78. Configuring Media Filters • There are several setting groups of note: • filter.plugins activaties the filters with their human- readable names • plugin.named.org.dspace.app.mediafilter.Form atFilter assigns human-readable names to the Java classes implementing the filters • filter.org.dspace.app.mediafilter.X.inputfor mats designates the formats to which filter X applies
  • 79. Configuring Curation Tasks • A relatively simple way to implement and apply custom operations to repository objects. • Activate with the plugin.named.org.dspace.curate.CurationTask setting, which will consist of key-value pairs such as • org.dspace.curate.ProfileFormats = profileformats • Where the key is the Java class and the value is the designation used for further configuration
  • 80. DSpace’s Helper Servers • The Handle Server • Apache Solr - a webservice using Apache Lucene • SWORD – Simple Webservice Offering Repository Deposit • Open Archives Initiative • REST API – Representational State Transfer Application Programming Interface.
  • 81. DSpace’s Helper Servers • All except the handle server exist as webapps under Tomcat • The handle server is started separately from the command line.
  • 82. The Handle Server • Run [dspace-installation-dir]/bin/dspace make-handle-config [dspace-installation-dir]/handle-server to do the initial setup. • Next, register your institution with CNRI to get your repository prefix: http://www.handle.net/service_agreement.html , agree to pay some money, and upload the generated sitebndl.zip file. • Wait a week…
  • 83. The Handle Server • Edit the [dspace-installation-dir]/handle- server/config.dct file and inside the “server_config” block set the pairs "storage_type" = "CUSTOM" and "storage_class" = "org.dspace.handle.HandlePlugin" and change YOUR_NAMING_AUTHORITY to the handle prefix you get from CNRI • The server can be started with [dspace-installation- dir]/bin/start-handle-server. Make sure port 2641 is open through your firewall. • If you’ve been running DSpace for some time without real handles, you can migrate the previously generated ones with the script update-handle-prefix
  • 84. The Solr Server • Service underpinning the Discovery aspect, Statistics aspect, and OAI service • Not visible to anyone except the localhost since queries upon it can reveal restricted items. • One can check functionality quickly however, with a wget at the localhost’s command line or by seeing if the repository statistics page shows any content whatsoever.
  • 85. The Solr Server • Solr configuration is set up for you automatically on a fresh install, but you might want to edit it after the fact if you keep the services elsewhere on the network or want to tweak the indexing and searching functionality. • The three services (oai, search, and statistics) are denoted in [dspace-install-dir]/solr/solr.xml • Each is configured in its own conf directory, as with [dspace-install-dir]/solr/statistics/conf
  • 86. The SWORD Server(s) • SWORD v1 configured in [dspace-install-dir]modulessword- server.cfg • SWORD v2 configured in [dspace-install- dir]modulesswordv2-server.cfg • Noteworthy configuration values – • URLs for servicedocument and deposit • Which types of packages to accept
  • 87. The OAI Server • Relies on Solr in DSpace 4.2 • Initialize with [dspace-installation- dir]/bin/dspace oai import • Disseminates metadata with XSL configurable crosswalks
  • 88. The OAI Server • Crosswalks (and contexts) can be added (or removed) by editing [dspace-install- dir]/config/crosswalks/oai/xoai.xml • The context determines the end of the URL path, for example “request” is the context of http://localhost:8080/oai/request • Once a new XSL file is in place, it can be denoted in the <Formats> section with a unique id attribute and invoked as a <Format> with the corresponding refid attribute in the appropriate <Context> • Just to see an example of how to add a new format, you can copy and rename an existing one and activate it in xoai.xml
  • 89. The REST API • Read-only access for the Anonymous user • Simply provides JSON responses statelessly, and is not configurable short of changes to how Tomcat serves it • Changes or additions to the JSON responses would require some Java coding
  • 90. Final Thoughts on Configuration • Everything requires a restart, which can be a pain in production environments requiring scheduling and after-hours work. • Wondering about whether and how something can be done? The DSpace Wiki is your friend: https://wiki.duraspace.org/display/DSDOC4x/DSpace+4.x+Documentation • If you lose functionality after an upgrade, one of the configuration files is probably to blame. An upgrade requires a comparison of the new stock configurations with your old ones (line by line!). Specific issues can be addressed by checking the docs regarding the feature in question. • [dspace-install-dir]/log/dspace.log.[today’s date] is a great place to start looking if you’re stumped about your repository not acting as expected.

Hinweis der Redaktion

  1. Note that ordering for the themes is significant!
  2. Note that ordering for the themes is significant!
  3. Note that ordering for the themes is significant!