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 (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 (for demonstration)
    • Fedora Repository - provides access to the Fedora digital objects and resources to Sidora (or other services), primarily from DuraCloud storage

...

  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 automatically deployed for testing)
  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
    
  2. 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
    
  3. 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>
  4. Build
    1. From top of source tree

      Code Block
      mvn clean install

 

Initialize the DfR applications
  1. Configure Tomcat (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
    

     


    1. Install the dfr-webapp.war

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

      Code Block
       
    2. 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.
    3. 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.
  2. Go to "someplace" (change host or port as necessary).
  3. Log in using the credentials provided in your configuration file
  4. You should be able to view, add, update, and delete spaces and content in Spaces tab
  5. You should be able to deploy services in the Services tab
  6. 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'

...

...

<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

...

Integration tests with Jetty
  1. Assuming that there are no port conflicts
    1. From inside the dfr-oce-webapp module execute:

      Code Block
      mvn jetty:run -DskipITs=false
      
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