Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning
titleWarning

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:

  1. Obtain user credentials for a running DuraStore instance
  2. Obtain user credentials for a running Fedora instance (this may be supplied by Sidora)
  3. Obtain the DfR applications
  4. Build and deploy the DfR applications
  5. Initialize the DfR applications
  6. 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.

...

  1. Maven 2.2.1 (build on Maven 3 have not been tested)
  2. Tomcat 6.x or above, or Jetty (pre-installed for deployment, Jetty is used automatically during the build)
  3. Java 7Java 6 or 7 for the server components, Java 7 only for UpSync
  4. Git 1.7 or higher

To run the UI tests (dfr-sync) you need to install:

...

  1. Clone the DfR repository from GitHub

    Code Block
    git clone https://github.com/duraspace/dfr.git
    
  2. Set environment variables

    Code Block
    export JAVA_OPTS="-XX:MaxPermSize=256m"
    export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=1024m"
    
  3. Configure Tomcat
    1. 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>
      
  4. Start tomcat

    Code Block
    $CATALINA_HOME/bin/startup.sh
    
  5. Configure Maven2 using your preferred method for configuring its properties
    1. 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>
  6. Build
    1. From top of source tree

      Code Block
      mvn clean install

 

Initialize the DfR applications
  1. Configure Tomcat Manager (for deployment)
    1. 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>
      
  2. Start tomcat

    Code Block
    $CATALINA_HOME/bin/startup.sh
    
  3. Use the Tomcat Manager application to deploy the dfr-webapp.war

    Use the application initialization (app-config) utiltiy to configure the deployed DuraCloud applications
  4. Build app-config utility, from within the //app-config module

    Code Block
     
  5. Run the app-config utility

    Code Block
    java -jar target/app-config-[VERSION]-driver.jar <init.props>
    
    1. 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.
  6. 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
  1. 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).
  2. Log in using the credentials provided in your configuration file
  3. You should be able to view, add, update, and delete spaces and content in Spaces tab
  4. You should be able to deploy services in the Services tab
  5. Congratulations! You now have a functional DuraCloud installation.

Optional items

Code coverage
  1. 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>
    
  2. To run clover

    Code Block
    mvn clover2:instrument clover2:aggregate clover2:clover -Pprofile-clover
    
  3. 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
  1. DfR uses the SLF4j logging framework backed by the LogBack implementation
  2. By adding either a logback.xml or logback-test.xml file on the classpath, logging configuration can be customized

...

  1. This tool provides an installer , administrator and run-time envionment for the DfR SyncUp UpSync tool
  2. To build and run the SyncUp tool:

     

Building Java client packages
  1. 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
    
  2. The packaged zip will be found under the project's target directory

Misc configuration/discussion

Services on Windows

...

  1. UpSync obtain the tool installer Jar