ro-manager 0.2.20

Research Objects are semantically rich aggregations of resources that bringtogether data, methods and people in scientific investigations. For furtherinformation, see:* What is an RO? - http://www.wf4ever-project.org/wiki/pages/viewpage.action?pageId=2065079 * Wf4Ever Research Object Model - http://wf4ever.github.com/ro/

Research Object Manager (RO Manager) is a simple command line tool for creating andmanipulating Research Objects in a local file system, and for exchanging them with aResearch Object Digital Library (RODL):* http://www.wf4ever-project.org/wiki/display/docs/RO+management+tool* http://www.wf4ever-project.org/wiki/display/docs/RO+Manager+FAQ

* Python 2.7.* Linux/Unix type system. This software has not been tested under Windows, but may work.* The sample scripts are written to run under BASH* Python pip utility, or git, depending on the installation option used.

## Installation overview

This is just a summary of the installation options.More detailed explanations can be found below.

There are two main options for installation: the first is from the Python Package Index (PyPI) which requires that the Python pip utility is installed:

pip install ro-manager ro-manager-test

The other option is to take a copy of the source code from GitHub, and installfrom that, which requires that the git source code management tool isinstalled:

For further information on installing git on various systems, see:* http://git-scm.com/download* http://git-scm.com/book/en/Getting-Started-Installing-Git* http://www.devdaily.com/mac-os-x/how-install-git-mac-os-x-osx* https://help.ubuntu.com/community/Git

For further information on installing pip on various systems, see:* http://stackoverflow.com/questions/4986896/* http://www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/* http://stackoverflow.com/questions/4750806/how-to-install-pip-on-windows

Once pip is installed, it can be used to install virtualenv, if needed.

## System-wide install from PyPI

RO-manager can be installed from the Python Package Index (PyPI) using 'pip'.

This is the simplest option for installing RO Manager, and does not requirea copy of the RO Manager code be obtained from GitHub, but generally doesrequire that you have root access on the computer where it is installed:

If you don't have root privileges, or if you want to create a temporaryor local copy of the RO Manager installation, this can be done using thePython "virtual environment" facility. The following assumes that Python"virtualenv" is installed (http://pypi.python.org/pypi/virtualenv) Thismethod does not require that a copy of RO Manager software be obtainedfrom GitHub. A disadvantage of this method is that the Python virtualenvironment must always be activated in order to run RO Manager.

You will need to choose a working directory where the Python virtual environment will be created. We'll call this $RO_MANAGER.

To remove a temporary virtual environment, including any software that has been installed there:

deactivate rm -rf $RO_MANAGER/roenv

2. Install RO Manager:

pip install ro-manager

3. Test:

ro help

## To install from GitHub

RO Manager can also be installed using a copy of the software obtainedfrom GitHub. This may be advantageous if you need to access the mostrecent version of the software. (The copy uploaded to PyPI may lag thedevelopment copy in GitHub.)

To obtain subsequent updates, go into the ro-manager directory tree and use "git pull":

cd $RO_MANAGER git pull

2. (Optional) Use Python virtualenv to create and activate an environment for installing RO manager. There are two advantages to doing this: (a) not needing root privileges to install ro-manager, and (b) using a Python environment version different from the system default. The main disadvantage of using a new Python virtual environment is that it must be activated every time before RO Manager can be run.

cd $RO_Manager virtualenv roenv source roenv/bin/activate

3. Go to directory $RO_MANAGER/src

cd $RO_MANAGER/src

4. Build the installation package:

python setup.py build

5. Install the package and its dependencies

If installing into a Python virtual environment:

python setup.py install

If *not* installing into a Python virtual environment, this command must be run as root:

Note that (on some systems, including MacOS), if RO Manager is installed under the system Python environment (i.e. not using virtualenv) then a small number of test cases that access test data files may fail. If the majority of tests pass, and the ro command appears to work, the installation is probably fine.

7. To run RO manager to display a summary of commands and options:

ro help

## Using RO Manager

See also the documentation at http://www.wf4ever-project.org/wiki/display/docs/RO+management+tool

Directory $RO_MANAGER/src/samples contains some bash shell scripts that are examples for creating, annotating and displaying simple Research Objects.

Note that the ro config command needs to be run to set up a configuration for your environment, though it can be re-run to update the details. Most ro config values are currently ignored. The important value is -b <robase>, which indicates a disk area where Research Objectsare managed.

Look inside the file $RO_MANAGER/src/samples/ro_sample.sh to see what the individual commands used look like.

For example, to create and manipulate a simple example Research Object:

* Web services to return checklist result as HTML or JSON for rendering by Javascript* RDF output option from checklist evaluation function* Command line evaluation can run against RO accessed using ROSRS API* Various small bug fixes, refactoring and optimizations* Updated sample files and scripts

### Changes for V0.2.7

* Add `ro remove` command, fix URI escaping problems that were occurring when an RO was created from files containing space or '#' characters* Add `ro link` command; this works just like `ro annotate`, except that the default treatment of the target value (i.e. for unrecognized annotation types) is as a URI, this providing a mechanism to create arbitrary links between RO resources, or between an RO resource and an external resource.* Allow annotation and links with CURIE (QName) properties. A predefined set of recognized URI prefixes are defined (see `~/.ro-config`) which can be used to create annotations with CURIES; e.g. `ro link foo rdfs:seeAlso bar`.* Create multiple annotations and links with wildcard resource matching; e.g. `ro link -w "/workflow/.*t2flow$" rdf:type wfdesc:Workflow" will create an rdf:type wfdesc:Workflow link for all aggregated resources in a directory named "/Workflow" and with file extension ".t2flow".* ROSRS (v6) support* Support for checklist evaluation of ROs stored in RODL or some other ROSRS service (used primarily by the `roweb` service component)* Decouple MINIM constraints from target RO. Allow creation of MINIM descriptions that can be applied to arbitrary ROs: this paves the way for creating and using checklists that encode community norms for RO quality.