You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Warning

This documentation is still being drafted.

Introduction

DuraCloud for Research application software is composed of many parts. A breakdown of the primary pieces is as follows:

  • 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
    • Object Creation Service - a service that creates Fedora digital objects that organize and enhance resources, and ingests them into a Fedora Repository
    • 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-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 credentials for a running DuraStore instance
  2. Obtain credentials for a running Fedora instance (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 computing environment and is often deployed in a desktop operating system like Microsoft Windows or OSX.

Prerequisites

Software that must be installed on your system prior to building/using DuraCloud

  1. Maven 2.2.1 (build on Maven 3 have not been tested)
  2. Tomcat 6.x or above, or Jetty
  3. Java 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. xvfb (Linux)

Setting up DfR

Any portions of the configuration below for which you need to include a replacement value will be written in all capital letters and included in brackets: [LIKE-THIS]

Build and deploy the DfR applications
  1. Clone the DfR repository from GitHub

    git clone
    
  2. Set environment variables

    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

      <tomcat-users>
        <role rolename="manager"/>
        <role rolename="admin"/>
        <user username="[ANY-USERNAME]" password="[ANY-PASSWORD]" roles="admin,manager"/>
      </tomcat-users>
      
  4. Start tomcat

    $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

      <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

      mvn clean install

 

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

       
    2. Run the app-config utility

      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.
    1. 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
  2. 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'

    <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

    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
  1. Assuming that there are no port conflicts
    1. From inside the dfr-oce-webapp module execute:

      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

Installing and Configuring UpSync

UpSync
  1. This tool provides an installer, administrator and run-time envionment for the DfR SyncUp 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

    mvn install -Ppackage-client
    
  2. The packaged zip will be found under the project's target directory

Misc configuration/discussion

Services on Windows

 

  • No labels