Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: fix typos

Wiki Markup
DSpace System Documentation: Manakin \[DSDOC:XMLUI\] Configuration and Customization

The DSpace digital repository supports two user interfaces: one based on JavaServer Pages (JSP) technologies and one based upon the Apache Cocoon framework (XMLUI). This chapter describes those parameters which are specific to the Manakin (XMLUI) interface based upon the Cocoon framework.

...

Property:

xmlui.supportedLocales

Example Value:

xmlui.supportedLocales = en, de

Informational Note:

A list of supported locales for Manakin. Manakin will look at a user's browser configuration for the first language that appears in this list to make available to in the interface. This parameter is a comma separated list of Locales. All types of Locales country, country_language, country_language_variant. Note that if the appropriate files are not present (i.e. Messages_XX_XX.xml) then Manakin will fall back through to a more general language.

Property:

xmlui.force.ssl

Example Value:

xmlui.force.ssl = true

Informational Note:

Force all authenticated connections to use SSL, only non-authenticated connections are allowed over plain http. If set to true, then you need to ensure that the 'dspace.hostname' parameter is set to the correctly.

Property:

xmlui.user.registration

Example Value:

xmlui.user.registration = true

Informational Note:

Determine if new users should be allowed to register. This parameter is useful in conjunction with Shibboleth where you want to disallow registration because Shibboleth will automatically register the user. Default value is true.

Property:

xmlui.user.editmetadata

Example Value:

xmlui.user.editmetadata = true

Informational Note:

Determines if users should be able to edit their own metadata. This parameter is useful in conjunction with Shibboleth where you want to disable the user's ability to edit their metadata because it came from Shibboleth. Default value is true.

Property:

xmlui.user.assumelogon

Example Value:

xmlui.user.assumelogon = true

Informational Note:

Determine if super administrators (those whom are in the Administrators group) can login as another user from the "edit eperson" page. This is useful for debugging problems in a running dspace instance, especially in the workflow process. The default value is false, i.e., no one may assume the login of another user.

Property:

xmlui.user.loginredirect

Example Value:

xmlui.user.loginredirect = /profile

Informational Note:

After a user has logged into the system, which url should they be directed? Leave this parameter blank or undefined to direct users to the homepage, or /profile for the user's profile, or another reasonable choice is /submissions to see if the user has any tasks awaiting their attention. The default is the repository home page.

Property:

xmlui.theme.allowoverrides

Example Value:

xmlui.theme.allowoverrides = false

Informational Note:

Allow the user to override which theme is used to display a particular page. When submitting a request add the HTTP parameter "themepath" which corresponds to a particular theme, that specified theme will be used instead of the any other configured theme. Note that this is a potential security hole allowing execution of unintended code on the server, this option is only for development and debugging it should be turned off for any production repository. The default value unless otherwise specified is "false".

Property:

xmlui.bundle.upload

Example Value:

xmlui.bundle.upload = ORIGINAL, METADATA, THUMBNAIL, LICENSE, CC_LICENSE

Informational Note:

Determine which bundles administrators and collection administrators may upload into an existing item through the administrative interface. If the user does not have the appropriate privileges (add and write) on the bundle then that bundle will not be shown to the user as an option.

Property:

xmlui.community-list.render.full

Example Value:

xmlui.community-list.render.full = true

Informational Note:

On the community-list page should all the metadata about a community/collection be available to the theme. This parameter defaults to true, but if you are experiencing performance problems on the community-list page you should experiment with turning this option off.

Property:

xmlui.community-list.cache

Example Value:

xmlui.community-list.cache = 12 hours

Informational Note:

Normally, Manakin will fully verify any cache pages before using a cache copy. This means that when the community-list page is viewed the database is queried for each community/collection to see if their metadata has been modified. This can be expensive for repositories with a large community tree. To help solve this problem you can set the cache to be assumed valued for a specific set of time. The downside of this is that new or editing communities/collections may not show up the website for a period of time.

Property:

xmlui.bistream.mods

Example Value:

xmlui.bistream.mods = true

Informational Note:

Optionally, you may configure Manakin to take advantage of metadata stored as a bitstream. The MODS metadata file must be inside the "METADATA" bundle and named MODS.xml. If this option is set to 'true' and the bitstream is present then it is made available to the theme for display.

Property:

xmlui.bitstream.mets

Example Value:

xmlui.bitstream.mets = true

Informational Note:

Optionally, you may configure Manakin to take advantage of metadata stored as a bitstream. The METS metadata file must be inside the "METADATA" bundle and named METS.xml. If this optino option is set to "true" and the bitstream is present then it is made available to the theme for display.

Property:

xmlui.google.analytics.key

Example Value:

xmlui.google.analytics.key = UA-XXXXXX-X

Informational Note:

If you would like to use google analytics to track general website statistics then use the following parameter to provide your analytics key. First sign up for an account at http://analytics.google.com, then create an entry for your repositories website. Google Analytics will give you a snipit of javascript code to place on your site, inside that snip it is your google analytics Google Analytics key usually found in the line: _uacct = "UA-XXXXXXX-X" Take this key (just the UA-XXXXXX-X part) and place it here in this parameter.

Property:

xmlui.controlpanel.activity.max

Example Value:

xmlui.controlpanel.activity.max = 250

Informational Note:

Assign how many page views will be recorded and displayed in the control panel's activity viewer. The activity tab allows an administrator to debug problems in a running DSpace by understanding who and how their dspace DSpace is currently being used. The default value is 250.

Property:

xmlui.controlpanel.activity.ipheader

Example Value:

xmlui.controlpanel.activity.ipheader = X-Forward-For

Informational Note:

Determine where the control panel's activity viewer recieves receives an events IP address from. If your DSpace is in a load balanced enviornment environment or otherwise behind a context-switch then you will need to set the paramater parameter to the HTTP parameter that records the original IP address.

...

Wiki Markup
The repository administrator is able to define which aspects and themes are installed for the particular repository by editing the _\[DSDOC:dspace\]/config/xmlui.xconf_ configuration file. The _xmlui.xconf_ file consists of two major sections: Aspects and Themes.

...

Wiki Markup
Manakin supplies an English only translation of the interface. In order to add other translations to the system, locate the _\[DSDOC:dspace-source\]/dspace/modules/xmlui/src/main/webapp/i18n/_ directory. By default this directory will be empty; to add additional translations add alternative versions of the _messages.xml_ file in specific language and country variants as needed for your installation.

...

Wiki Markup
Manakin themes stylize the look-and-feel of the repository, community, or collection and are distributed as self-contained packages. A Manakin/DSpace installation may have multiple themes installed and available to be used in different parts of the repository. The central component of a theme is the sitemap.xmap, which defines what resources are available to the theme such as XSL stylesheets, CSS stylesheets, images, or multimedia files.
*1) Create theme skeleton*
Most theme developers do not create a new theme from scratch; instead they start from the standard theme template, which defines a skeleton structure for a theme. The template is located at: _\[DSDOC:dspace-source\]/dspace-xmlui/dspace-xmlui-webbapp/src/main/webbapp/themes/template_. To start your new theme simply copy the theme template into your locally defined modules directory, _\[DSDOC:dspace-source\]/dspace/modules/xmlui/src/main/webbapp/themes/\[DSDOC:your theme's directory\]/_.
*2) Modify theme variables*
The next step is to modify the theme's parameters so that the theme knows where it is located. Open the _\[DSDOC:your theme's directory\]/sitemap.xmap_ and look for _<global-variables>_

...

Update both the theme's path to the directory name you created in step one. The theme's name is used only for documentation.
3) Add your CSS stylesheets
The base theme template will produce a repository interface without any style - just plain XHTML with no color or formatting. To make your theme useful you will need to supply a CSS Stylesheet that creates your desired look-and-feel. Add your new CSS stylesheets:

Wiki Markup
_\[DSDOC:your theme's directory\]/lib/style.css_ (The base style sheet used for all browsers)

Wiki Markup
_\[DSDOC:your theme's directory\]/lib/style-ie.css_ (Specific stylesheet used for internet explorer)
*4) Install theme and rebuild DSpace*
Next rebuild and deploy DspaceDSpace (replace <version> with the your current release):

  1. Wiki Markup
    Rebuild the DSpace installation package by running the following command from your _\[DSDOC:dspace-source\]/dspace/_ directory:
    Code Block
    mvn package
  2. Wiki Markup
    Update all DSpace webapps to _\[DSDOC:dspace\]/webapps_ by running the following command from your _\[DSDOC:dspace-source\]/dspace/target/dspace-\[DSDOC:version\]-build.dir_ directory:
    Code Block
    ant -Dconfig=[dspace]/config/dspace.cfg update 
  3. Deploy the the new webapps:
    Code Block
    cp -R /[dspace]/webapps/* /[tomcat]/webapps
  4. Restart Tomcat
    This will ensure the theme has been installed as described in the previous section "Configuring Themes and Aspects".

...

Wiki Markup
The news document is located at _\[DSDOC:dspace\]/dspace/config/news-xmlui.xml_.  There is only one version; it is localized by inserting "i18n" callouts into the text areas.  It must be a complete and valid XML DRI document (see Chapter 15).

...

Wiki Markup
Globally static content can be placed in the _\[DSDOC:dspace-source\]/dspace/modules/xmlui/src/main/webapp/static/_ directory. By default this directory only contains the default _robots.txt_ file, which provides helpful site information to web spiders/crawlers. However, you may also add static HTML (_\*.html_) content to this directory, as needed for your installation.

Wiki Markup
Any static HTML content you add to this directory may also reference static content (e.g. CSS, Javascript, Images, etc.) from the same _\[DSDOC:dspace-source\]/dspace/modules/xmlui/src/main/webapp/static/_ directory. You may reference other static content from your static HTML files similar to the following:

...

  • "Change Settings" takes you back to the edit screen.
  • "Import Now" performs a single harvest from the remote collection into the local one. Success, notes, and errors encountered in the process will be reflected in the "Last Harvest Result" entry. More detailed information is available in the dspace DSpace log. Note that the whole harvest cycle is execuited withtin executed within a single HTTP request and will time out for large collections. For this reason, it is advisable to use the automatic harvest scheduler set up
    either in XMLUI or from the command line. If the scheduler is running, "Import Now" will handle the harvest task as a separate thread.
  • "Reset and Reimport Collection" will perform the same function as "Import Now", but will clear the collection of all existing items before doing so.

...