All Versions
- DSpace 7.x (Current Release)
- DSpace 8.x (Unreleased)
- DSpace 6.x (EOL)
- DSpace 5.x (EOL)
- More Versions...
...
Wiki Markup |
---|
The system is configured by editing the relevant files in {{\[DSDOC:dspace\]/config}}, as described in the configuration section. |
Wiki Markup |
---|
*When editing configuration files for applications that DSpace uses, such as Apache Tomcat, you may want to edit the copy in {{\[DSDOC:dspace-source\]}} and then run {{ant update}} or {{ant overwrite_configs}} rather than editing the 'live' version directly\!* This will ensure you have a backup copy of your modified configuration files, so that they are not accidentally overwritten in the future. |
The ConfigurationManager class can also be invoked as a command line tool:
Wiki Markup |
---|
{{\[DSDOC:dspace\]/bin/dspace dsprop property.name}} This writes the value of _property.name_ from _dspace.cfg_ to the standard output, so that shell scripts can access the DSpace configuration. If the property has no value, nothing is written. |
...
Wiki Markup |
---|
The e-mail texts are stored in {{\[DSDOC:dspace\]/config/emails}}. They are processed by the standard _java.text.MessageFormat_. At the top of each e-mail are listed the appropriate arguments that should be filled out by the sender. Example usage is shown in the _org.dspace.core.Email_ Javadoc API documentation. |
...
Wiki Markup |
---|
The level of logging can be configured on a per-package or per-class basis by editing {{\[DSDOC:dspace\]/config/log4j.properties}}. You will need to stop and restart Tomcat for the changes to take effect. |
...
Wiki Markup |
---|
The above format allows the logs to be easily parsed and analyzed. The {{\[DSDOC:dspace\]/bin/log-reporter}} script is a simple tool for analyzing logs. Try: |
...
Wiki Markup |
---|
Additionally, some changes made to objects only happen in-memory. In these cases, invoking the _update_ method lines up the in-memory changes to occur in storage when the _Context_ is committed or completed. In general, methods that change any \[DSDOC:meta\]data field only make the change in-memory; methods that involve relationships with other objects in the system line up the changes to be committed with the context. See individual methods in the API Javadoc. |
...
Wiki Markup |
---|
*Plugins Named in the Configuration* A named plugin which gets its name(s) from the configuration is listed in this kind of entry:_plugin.named.interface = classname = name \[DSDOC: , name.. \] \[DSDOC: classname = name.. \]_The syntax of the configuration value is: classname, followed by an equal-sign and then at least one plugin name. Bind more names to the same implementation class by adding them here, separated by commas. Names may include any character other than comma (,) and equal-sign (=).For example, this entry creates one plugin with the names GIF, JPEG, and image/png, and another with the name TeX: |
Code Block |
---|
plugin.named.org.dspace.app.mediafilter.MediaFilter = \ org.dspace.app.mediafilter.JPEGFilter = GIF, JPEG, image/png \ org.dspace.app.mediafilter.TeXFilter = TeX |
Code Block |
---|
plugin.named.org.dspace.app.mediafilter.MediaFilter = \ org.dspace.app.mediafilter.TeXFilter = TeX \ org.dspace.app.mediafilter.PDFFilter = Adobe PDF, PDF, Portable Document Format |
Wiki Markup |
---|
*Self-Named Plugins* Since a self-named plugin supplies its own names through a static method call, the configuration only has to include its interface and classname:_plugin.selfnamed.interface = classname \[DSDOC: , classname.. \]_The following example first demonstrates how the plugin class, \_XsltDisseminationCrosswalk_ is configured to implement its own names "MODS" and "DublinCore". These come from the keys starting with _crosswalk.dissemination.stylesheet._. The value is a stylesheet file. The class is then configured as a self-named plugin: |
Code Block |
---|
crosswalk.dissemination.stylesheet.DublinCore = xwalk/TESTDIM-2-DC_copy.xsl crosswalk.dissemination.stylesheet.MODS = xwalk/mods.xsl plugin.selfnamed.crosswalk.org.dspace.content.metadata.DisseminationCrosswalk = \ org.dspace.content.metadata.MODSDisseminationCrosswalk, \ org.dspace.content.metadata.XsltDisseminationCrosswalk |
...
Wiki Markup |
---|
Workflows are set per Collection, and steps are defined by creating corresponding entries in the List named workflowGroup. If you wish the workflow to have a step 1, use the administration tools for Collections to create a workflow Group with members who you want to be able to view and approve the Item, and the workflowGroup\[DSDOC:0\] becomes set with the ID of that Group. |
...
Wiki Markup |
---|
The _CreateAdministrator_ class is a simple command-line tool, executed via {{\[DSDOC:dspace\]/bin/dspace create-administrator}}, that creates an administrator e-person with information entered from standard input. This is generally used only once when a DSpace system is initially installed, to create an initial administrator who can then use the Web administration UI to further set up the system. This script does not check for authorization, since it is typically run before there are any e-people to authorize\! Since it must be run as a command-line tool on the server machine, generally this shouldn't cause a problem. A possibility is to have the script only operate when there are no e-people in the system already, though in general, someone with access to command-line scripts on your server is probably in a position to do what they want anyway\! |
...
DSpace keeps track of registered users with the org.dspace.eperson.EPerson class. The class has methods to create and manipulate an EPerson such as get and set methods for first and last names, email, and password. (Actually, there is no getPassword() method‚Äîan method‚ an MD5 hash of the password is stored, and can only be verified with the checkPassword() method.) There are find methods to find an EPerson by email (which is assumed to be unique,) or to find all EPeople in the system.
...
Another kind of Group is also implemented in DSpace‚Äîspecial DSpace‚ special Groups. The Context object for each session carries around a List of Group IDs that the user is also a member of‚Äîcurrently of‚ currently the MITUser Group ID is added to the list of a user's special groups if certain IP address or certificate criteria are met.
...
Currently most of the read policy checking is done with items‚Äîcommunities items‚ communities and collections are assumed to be openly readable, but items and their bitstreams are checked. Separate policy checks for items and their bitstreams enables policies that allow publicly readable items, but parts of their content may be restricted to certain groups.
...
Where do items get their read policies? From the their collection's read policy. There once was a separate item read default policy in each collection, and perhaps there will be again since it appears that administrators are notoriously bad at defining collection's read policies. There is also code in place to enable policies that are timed‚Äîhave timed‚ have a start and end date. However, the admin tools to enable these sorts of policies have not been written.
...
Wiki Markup |
---|
Note that since the Handle server runs as a separate JVM to the DSpace Web applications, it uses a separate 'Log4J' configuration, since Log4J does not support multiple JVMs using the same daily rolling logs. This alternative configuration is located at {{\[DSDOC:dspace\]/config/log4j-handle-plugin.properties}}. The {{\[DSDOC:dspace\]/bin/start-handle-server}} script passes in the appropriate command line parameters so that the Handle server uses this configuration. |
...
The query class DSQuery contains the three flavors of doQuery() methods‚Äîone methods‚ one searches the DSpace site, and the other two restrict searches to Collections and Communities. The results from a query are returned as three lists of handles; each list represents a type of result. One list is a list of Items with matches, and the other two are Collections and Communities that match. This separation allows the UI to handle the types of results gracefully without resolving all of the handles first to see what kind of content the handle points to. The DSQuery class also has a main() method for debugging via command-line searches.
...
Wiki Markup |
---|
If the browse index becomes inconsistent for some reason, the _InitializeBrowse_ class is a command line tool (generally invoked using the {{\[DSDOC:dspace\]/bin/dspace index-init}} command) that causes the indexes to be regenerated from scratch. |
...
OpenSearch is a small set of conventions and documents for describing and using 'search engines', meaning any service that returns a set of results for a query. It is nearly ubiquitous‚Äîbut ubiquitous‚ but also nearly invisible‚ in modern web sites with search capability. If you look at the page source of Wikipedia, Facebook, CNN, etc you will find buried a link element declaring OpenSearch support. It is very much a lowest-common-denominator abstraction (think Google box), but does provide a means to extend its expressive power. This first implementation for DSpace supports none of these extensions‚Äîmany extensions‚ many of which are of potential value‚ so it should be regarded as a foundation, not a finished solution. So the short answer is that DSpace appears as a 'search-engine' to OpenSearch-aware software.
...