Warning | ||
---|---|---|
| ||
This documentation is still being drafted. |
Table of Contents |
---|
Introduction
...
- DuraCloud
- DuraStore - this web application provides the access to and management of storage resources, which includes handling the storage portion of the DuraCloud REST API
- DuraCloud for Research
- Rich Object Creation Service - a service that creates Fedora digital objects that organize and enhance resources, and ingests them into a Fedora Repository
- Service Execution Environment - the integration framework on which the ROCS is deployed
- UpSync Tool - a client tool that monitors a filesystem, and upload files and filesystem metadata to DuraCloud when files are added or changed
- Sidora (Demonstrationfor demonstration)
- Sidora Server - a Drupal plus Islandora-based "Virtual Research Environment" that provides a GUI for interacting with the resources to perform research, enhance and organize the data
- Fedora Repository - provides access to the Fedora digital objects and resources to Sidora (or other services), primarily from DuraCloud storage
This guide lays out the steps necessary to begin using DfR:
- Obtain user credentials for a running DuraStore instance
- Obtain user credentials for a running Fedora instance (this may be supplied by Sidora)
- Obtain the DfR applications
- Build and deploy the DfR applications
- Initialize the DfR applications
- Test your installation
Although this document is written from a Linux environment perspective, analogous builds/installations have been tested in Windows and OSX (but may have limitations, as noted below). Any comments or feedback are welcomed. In particular, UpSync runs in the end-users user's computing environment and is often deployed in a desktop operating system like Microsoft Windows or OSX.
...
- Maven 2.2.1 (build on Maven 3 have not been tested)
- Tomcat 6.x or above, or Jetty (pre-installed for deployment, Jetty is used automatically during the build)
- Java 7Java 6 or 7 for the server components, Java 7 only for UpSync
- Git 1.7 or higher
To run the UI tests (dfr-sync) you need to install:
...
Clone the DfR repository from GitHub
Code Block git clone https://github.com/duraspace/dfr.git
Set environment variables
Code Block export JAVA_OPTS="-XX:MaxPermSize=256m" export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=1024m"
- Configure Tomcat
Add to $CATALINA_HOME/conf/tomcat-users.xml
No Format <tomcat-users> <role rolename="manager"/> <role rolename="admin"/> <user username="[ANY-USERNAME]" password="[ANY-PASSWORD]" roles="admin,manager"/> </tomcat-users>
Start tomcat
Code Block $CATALINA_HOME/bin/startup.sh
- Configure Maven2 using your preferred method for configuring its properties
Add tomcat user to $M2_HOME/conf/settings.xml
No Format <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <localRepository/> <interactiveMode/> <usePluginRegistry/> <offline/> <pluginGroups/> <servers/> <mirrors/> <proxies/> <profiles> <profile> <id>ocs-integration-test</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <fedora.baseurl>http://dfr.duracloud.org:8080/fedora</fedora.baseurl> <fedora.password>changeme!</fedora.password> <duracloud.password>changeme!</duracloud.password> </properties> </profile> </profiles> <activeProfiles/> </settings>
- Build
From top of source tree
Code Block mvn clean install
Initialize the DfR applications
- Configure Tomcat Manager (for deployment)
Add to $CATALINA_HOME/conf/tomcat-users.xml
No Format <tomcat-users> <role rolename="manager"/> <role rolename="admin"/> <user username="[ANY-USERNAME]" password="[ANY-PASSWORD]" roles="admin,manager"/> </tomcat-users>
Start tomcat
Code Block $CATALINA_HOME/bin/startup.sh
Use the Tomcat Manager application to deploy the dfr-webapp.war
Use the application initialization (app-config) utiltiy to configure the deployed DuraCloud applicationsBuild app-config utility, from within the //app-config module
Code Block Run the app-config utility
Code Block java -jar target/app-config-[VERSION]-driver.jar <init.props>
- The init.props file is a configuration file which specifies all of the information necessary for the DuraCloud applications to run. An example of this file can be found at //app-config/src/main/resources/init.props. This file will need to be updated to match your environment.
When the app-config utility completes successfully, the last line of output printed to the console will be the word "success". If this is not the case, check that your configuration file includes the correct information.
Test your installation
- Once all of the above steps have been completed, your DfR installation should be ready to test.
Go to "someplace" (change host or port as necessary). - Log in using the credentials provided in your configuration file
- You should be able to view, add, update, and delete spaces and content in Spaces tab You should be able to deploy services in the Services tab
- Congratulations! You now have a functional DuraCloud installation.
Optional items
Code coverage
If you plan on using Clover, the following element needs to be added to your maven 'settings.xml'
No Format <profiles> <profile> <id>profile-clover</id> <activation> <property> <name>profile</name> <value>clover</value> </property> </activation> <properties> <cloverLicense>[LOCATION-OF-clover.license-FILE]</cloverLicense> </properties> </profile> </profiles>
To run clover
Code Block mvn clover2:instrument clover2:aggregate clover2:clover -Pprofile-clover
- A report will be generated in the following directory:
//target/site/clover/
Integration tests with Jetty
...
From inside the dfr-oce-webapp module execute:
...
Logging
- DfR uses the SLF4j logging framework backed by the LogBack implementation
- By adding either a logback.xml or logback-test.xml file on the classpath, logging configuration can be customized
...
- This tool provides an installer , administrator and run-time envionment for the DfR SyncUp UpSync tool
To build and run the SyncUp tool:
Building Java client packages
To create a distributable zip of the storeclient, serviceclient, or reportclient which includes their dependencies, from within the project directory (//storeclient, //serviceclient, //reportclient) run
Code Block mvn install -Ppackage-client
- The packaged zip will be found under the project's target directory
Misc configuration/discussion
Services on Windows
...
UpSync obtain the tool installer Jar