Reference Data Set Manager (RDSM) Software Design - QI

advertisement
Reference Data Set Manager SDD
Rev 0.3
Reference Data Set Manager Software Design Document
February 17, 2012
Rev 0.3
Required Approvals:
Author of this
Revision:
Patrick Reynolds
System Engineer:
Andrew Buckler
Print Name
Signature
Date
Document Revisions:
Revision Revised By
Reason for Update
Date
0.1
Patrick Reynolds
First Issue
January 27, 2012
0.2
AJ Buckler
Added requirements table
February 6, 2012
0.3
Patrick Reynolds
Fleshed out text
February 17, 2012
BBMSC
1 of 24
Reference Data Set Manager SDD
Rev 0.3
Table of Contents
1.
EXECUTIVE SUMMARY ................................................................................................ 3
1.1. COMPONENT DESCRIPTION AND PURPOSE ............................................................................. 3
1.2. SCOPE .................................................................................................................................... 3
1.3. PLATFORM DETAILS .............................................................................................................. 4
1.4. REFERENCED STANDARDS ..................................................................................................... 4
2.
COMPONENT-LEVEL REQUIREMENTS ................................................................... 4
2.1. FUNCTIONALITY .................................................................................................................... 5
2.2. PERFORMANCE..................................................................................................................... 11
2.3. DEFERRED REQUIREMENTS .................................................................................................. 11
3.
PLATFORM SPECIFIC MODEL .................................................................................. 11
3.1. OVERVIEW ........................................................................................................................... 11
3.2. ASSUMPTIONS AND DEPENDENCIES ..................................................................................... 12
3.3. COMPONENT INTERFACE ...................................................................................................... 13
BBMSC
2 of 24
Reference Data Set Manager SDD
Rev 0.3
1. Executive Summary
For the purposes of quantitatively evaluating imaging biomarkers, standard sets of data
known as Reference Datasets will be used to verify that new biomarker candidates have
adequate diagnostic and/or prognostic value. To enable this, the Reference Dataset
Manager serves as a platform for storing imaging and imaging-related data for the
purposes of quantitative evaluation of imaging biomarkers. Applications within the QIBench suite will use the RDSM to retrieve the datasets necessary to fulfill their requisite
functions.
1.1. Component Description and Purpose
The Reference Dataset Manger is a platform for storing imaging datasets and
annotations for easy retrieval. This component shall provide both web-browser and
programmatic access via an API. Additionally the RDSM will provide the indexing of
image meta-data to allow queries based on metadata values.
Figure 1: Data Hierarchy
1.2. Scope
In order to facilitate the evaluation of imaging biomarkers the Reference Dataset
Manager provides the following functionality:
A. Imaging and Metadata Storage
The RDSM will store images and metadata relevant to the biomarkers being
qualified.
B. Imaging and Metadata Retrieval
The RDSM will allow images and metadata to be retrieved individually,
selectively, or in batch.
C. Imaging and Metadata Querying
BBMSC
3 of 24
Reference Data Set Manager SDD
Rev 0.3
The RDSM will allow queries to be constructed to retrieve data and metadata
corresponding to specified parameters. This will be allowed both
programmatically and through a web browser.
1.3. Platform Details
The Reference Dataset Manager is a Midas Platform application that runs on a
conventional LAMP (Linux, Apache, MySQL, and PHP) stack. This allows the
deployment of the RDSM on most hosting platforms that are commercially available
today. Apache and MySQL also have well-defined methods for scaling a system
horizontally to meet increasing numbers of users.
1.4. Referenced Standards
Domain
Standards
Description
HTML
Hyper-Text Markup Language
ECMAScript
The standard behind Javascript
PHP
PHP Hypertext Preprocessor
Apache
The Webserver from the Apache Sofware Foundation
SQL
Structured Query Language
CSS
Cascading Stylesheets
Technology Stack
Technology
Standards
Description
HTTP
Hyper-Text Transfer Protocol
SSL
Secure Sockets Layer
TLS
Transport Layer Security
HTTPS
Hyper-Text Transfer Protocol over Secure Sockets (SSL/TLS)
JSON
Javascript Object Notation
XML
Extensible Markup Language
2. Component-level Requirements
Note that, the normal process of requirements development does not guarantee that
adjacent requirements are directly related. In situations where requirements are tightly
BBMSC
4 of 24
Reference Data Set Manager SDD
Rev 0.3
related or where requirements are to be considered in the context of an upper level
requirement, explicit parent-child relationships have been created. These can be
identified by the requirement numbering – child requirements have numbers of the form
XX.Y indicating the Yth child of requirement XX.
The following list of attributes is used:

Origin – Identifies the project or Enterprise Use Case that originated the
requirement.

Component – Identifies all Enterprise Use Case/project components to which the
requirement applies.

Comment / TI – Additional information regarding the requirement. This may
include information as to how the requirement may be tested (i.e. the test
indication).

Design Guideline – Used to identify requirements that are to be taken as
guidance or are otherwise not testable. In such cases the phrase “Not a testable
requirement” will appear.
Requirements may, and often do, apply to multiple components. In such cases, the
Component attribute will identify all components where the requirement applies
(including components that do not apply to this Enterprise Use Case).
The Origin of a requirement is intended to identify the application for which the
requirement was originally defined.
2.1. Functionality
Functional requirements.
Requirements
Comment / TI (DG if design guideline)
Store the metadata information associated with a given dataset
as well as a full data provenance record.
Install databases and tools as needed at each site, loading the
databases with initial data. This includes installing image
databases at all actor sites, installing clinical report databases at
all clinical sites, and installing annotation databases at Reader,
Statistician, and PI sites.
Support the submission and retrieval of images without unwieldy
submission mechanisms or administrative procedures,
particularly so as to support small scale, informal or unfunded
experiments (in addition to larger scale projects).
Support query by all available meta-data, including across
federated systems.
Associate other submitted data (such as spreadsheets of
covariates like lab test values or histo-pathological diagnosis)
with the image datasets, whether by direct linkage or shared
identifiers of subjects and visit or date (e.g., from a CSV
spreadsheet with a header row containing common data
elements, and shared subject and visit identification columns).
% Browsing Reference Data Set Manager (RDSM) %
Reference Data Set Manager (RDSM) groups datasets using a
hierarchy:
* Communities are the top level element. A community can
contain as many subcommunities as needed.
BBMSC
5 of 24
Reference Data Set Manager SDD
Requirements
Rev 0.3
Comment / TI (DG if design guideline)
* Collections are within a community. A collection consists of
items and cannot have subcollections.
* Items are the main element describing the data in Reference
Data Set Manager (RDSM). Metadata information is related to
items.
* Bitstreams are references to files on disk. An item can have
several associated bitstreams.
From any page you can access the '''Help''' page from the left
menu as well as the '''About Reference Data Set Manager
(RDSM)''' page.
%% Browsing menus %%
Reference Data Set Manager (RDSM) presents several links to
browse the database.
* Home: always presented in the top menu bar, allows users to
go back to the main page of Reference Data Set Manager
(RDSM).
* Browse: also always presented in the top menu bar, allows
users to see the complete Reference Data Set Manager
(RDSM) hierarchy of communities and collections.
There are several ways to efficiently browse Reference Data
Set Manager (RDSM) : by title, by authors, by keywords and
via the image gallery. We describe these options next.
%%% Browse by titles %%%
RDSM will display all the items ordered by title.<br/>
You can enter the first few letters and it will display only the
items which match that entry or you can jump to a specific letter
in the alphabet and RDSM will display the items which
correspond to that first letter.
%%% Browse by authors %%%
RDSM will display all the items ordered by title author.<br/>
You can enter the first few letters of either the title or the author
and it will display only the items which match that entry or you
can jump to a specific letter in the alphabet and RDSM will
display the items which correspond to that first letter.
%%% Browse by keywords %%%
RDSM will display all the items ordered by keyword.<br/>
You can enter the first few letters of the keyword and it will
display only the items which match that entry or you can jump to
a specific letter in the alphabet and RDSM will display the items
which correspond to that first letter.
%%% Image Gallery %%%
The Image Gallery displays all the images in the database as
thumbnails. This provides an easy and fun way to navigate the
datasets.
%% Communities %%
*'''Collections within this community'''. Shows all the collections
within the community you've selected.
*'''Xcede Catalog'''. Creates an XCEDE Catalog listing all the
sub-communities, collections, items and bitstreams within the
community you've selected.
%% Folders %%
*'''Submitted items'''. You will be able to see all of the items
which are in the collection and have access to them by clicking
on on specific thumbnails (see below ‘Click on an item’).
In the ‘Submitted item’ section, you can download the full
collection, the Xcede Catalog, or the XML version of the
collection.
*'''Submit an item'''
:You can submit a new item to the current collection by filling in
all of the required fields such as the author(s), title, keyword(s),
et. al.
:If you would like to follow changes and/or updates to a specific
collection you can subscribe to it by clicking the subscribe
button.<br/>
BBMSC
6 of 24
Reference Data Set Manager SDD
Requirements
Rev 0.3
Comment / TI (DG if design guideline)
:This will allow you to receive e-mails each time something
changes in the collections to which you've subscribed.
% Items %
Most of the information is displayed as a clickable link. For
example, when you click on a keyword RDSM will show you all
the items which are related to this keyword displayed in the
same manner as a keyword search.
%% Download an item %%
To download an item with all its bitstreams there are two
options:
# You can click on the first button of the download section
causing your files to be downloaded in one tgz file.
# You also can click on the second button of the download
section causing your files to be compressed in a unique zip file.
''Remember, to be able to download an item you have to have
the right policies.''
%% Download a bitstream %%
To download individual bitstreams instead of the full item, click
on the '''Download button''' of the bitstream and accept the
license.
% Searching RDSM %
RDSM includes a performant search tool. You can search any
item, or bitstream by just entering in the search toolbar an
author, title, etc.<br/>
Once RDSM generates results, you can narrow your search by
focusing on certain aspects like format, the modality, etc., in
order to reduce the number of results and get the exact result(s)
desired.
% User Management %
RDSM uses a user-based session. Anybody can create a RDSM
account. Community, collection and item policies are set to allow
users to view, edit and/or add actions. Depending on the
community, collection, and item policies, users may be restricted
to a view only mode.
%% Registering to RDSM %%
* I don’t have a RDSM account. You can create one by simply
clicking on '''Login''', then '''Click here to register''' and following
the instructions.
* You do have a RDSM account. Just enter your e-mail address
and your password to be connected.
Once you’re registered and connected you have access to your
personal data and can upload/download your own data (if you
have permissions).
If you forgot your password, you can recover it by simply clicking
on '''click here to recover''', and entering your email address.
%% My RDSM %%
*'''My Submissions'''. Here you can find all of your previously
uploaded data. You have direct access to view or modify the
data by editing the information or adding files to the item.
*'''New Submission'''. In this section, if a collection already
exists, you can create a new item. If no collection exists you will
have to create one and then you can create a new item.
Begin by accepting the license.
Then select the collection where you want your new item to be
submitted.
Now you can enter information about this item (e.g., the
author(s), title, date). There is a lot of information you can add to
describe your new submission.
*'''My email subscriptions'''.
% RDSM Administration %
%% Creating a top-level community %%
To create a Top-Level community, you have to be logged in on
your account and have administrative privileges.
BBMSC
7 of 24
Reference Data Set Manager SDD
Requirements
Rev 0.3
Comment / TI (DG if design guideline)
*Once you are logged in, go to the '''My RDSM''' section.
*Click on '''Create top level community'''.
*Specify a name for the community (this is mandatory).
*Specify a more complete description of the community
(optional).
*Specify introductory text for the community (optional).
*Specify a default copyright (optional).
*Specify any extra links referring to this community (optional).
Once you are satisfied with your content, click on the '''Create
community''' link. If you change your mind and no longer wish to
create the community, click on the '''back''' button. Once your
new community has been created you can then create a
subcommunity, a collection or edit the community. Additionally,
you can add specific policies for that community. By default, all
policies are set to the person who created the community.
%% Editing a community %%
If you are the owner of a community or have administrative
privileges you can edit a community.
* Browse to the community you want to edit.
* Click on '''Edit Community'''.
* You can add a logo for the community by browsing your
computer for the desired file and clicking on '''Upload Logo'''.
* Once you make all desired modifications click on '''Update
community'''.
If you want to add the same copyright to all the items you
created in that community use the '''Propagate Copyright to All
Items''' link.
If you want to delete the community, click on '''Delete
Community'''. Then confirm this selection by clicking on ‘OK’.
Remember, if you delete a community you will delete any subcommunities, collections and items in that community as well.
%% Creating a sub-community %%
If you are the owner of a community or have administrative
privileges you can create sub-communities within a community.
* Browse to the community you want to edit.
* Click on '''Create SubCommunity'''.
* Enter a name for the subcommunity (mandatory) the same
way you would if you were creating a new community.
* Enter any optional descriptions, links and default copyrights.
* Click on '''Create community'''.
%% Adding an agreement to a community %%
If you are the owner of a community or have administrative
privileges you can create or edit an agreement.
You can add an agreement to a community when either
creating or editing it.
Let's assume you are creating a new one. (see above creation
of community paragraphs)
Once you are in the create community page:
* Click on '''Add group agreement'''. A text area, a drop-down
box and a "create group" button appear.
* Write the agreement in the text area. You can also click on
'''html''' to write a html text. If you do it, once you're done, click
on '''Update'''.
* You '''MUST''' select a group that will be related to the
community. You can either select it from the drop-down box or
click on '''create group''' to create a new one. If you do that, the
box and the button are replaced by a field, where you can write
the new group, and a new button '''select existing group''' that
lets you go back to the previous view. If you don't select a
group, set an agreement and try to create the community, it
won't work and you will loose the agreement text that might be
long.
* Once you selected the group and wrote the agreement, click
BBMSC
8 of 24
Reference Data Set Manager SDD
Requirements
Rev 0.3
Comment / TI (DG if design guideline)
on '''Create community'''
If you are editing a community, once you are in the edit
community page, follow the same instructions.
If you want to delete the agreement, go to the edit community
page, remove the agreement and then click on '''Update
community'''.
%% Creating a collection %%
If you are the owner of a community or have administrative
privileges you can create a collection within a community.
* Log into RDSM
* Browse to the community in which you want to create the
collection
* Click on '''Create Collection'''
* Specify a name for the collection (this is mandatory)
* Specify a more complete description of the collection
(optional)
* Specify introductory text for the collection (optional)
* Specify a default copyright (optional)
* Specify a license for this collection. By specifying a license
for the collection any users who upload data to it will have to
agree to license the data for redistribution.
* Specify extra links referring to this collection (optional)
* Select or deselect the '''Create default group for this
collection''', this means that RDSM will create a group for this
collection and put the owner of the collection in that group.
Once you are satisfied with your content, click on the '''Create
collection'''. If you change your mind and no longer want to
create the collection, click on the '''back''' button. Once your new
collection has been created you can add items to or edit items in
the collection. Additionally, you can add collection specific
policies. By default, all policies are set to the person who
created the collection.
%% Editing a collection %%
If you are owner of a collectionor have administrative privileges
you can edit a collection.
* Browse to the collection you want to edit.
* Click on '''Edit Collection'''.
* You can add a logo for the collection by browsing your
computer, and clicking on '''Upload Logo'''.
* Once you did all the modifications you wanted, click on
'''Update collection'''.
If you want to add the same copyright to all the items you
created in that collection, use the '''Propagate Copyright to All
Items'''.
If you want to delete the community, click on '''Delete
Collection'''. Then confirm by clicking on ‘OK’.
Remember, if you delete a collection, then all the items in that
collection will be deleted as well.
%% Creating an item %%
* You have two options to create an item:
# Go to '''My RDSM''' section and click on '''New Submission'''.
# Browse to the desired collection and click on '''Add item to this
collection'''
* Read the license (if specified) and grant it to be able to add
an item
* Select the collection where you want to submit your item by
scrolling the selection menu (if not specified already)
Moreover, you can select several collections where the
publication belongs by checking the corresponding boxes.
* Fill in all the related information. Keywords could be useful
when you want to to a search into the database.
* Click '''next'''
* Select the files you want to upload by clicking on '''Select
BBMSC
9 of 24
Reference Data Set Manager SDD
Requirements
Rev 0.3
Comment / TI (DG if design guideline)
Files...'''
* Click on '''Start Upload'''. You can upload several files, at the
same time, or one by one.
* Once you have uploadd all the files, click on '''Finish
Submission'''.
Your new item item is now uploaded on the RDSM database.
%% Editing an Item %%
If you are owner of an item or have administrative privileges you
can edit an item.
If you want to update or delete bitstreams (files) for the given
item you can click directly on '''Add/Modify files (without updating
main item)'''
*You can delete the item by clicking on '''Remove Item''' and
confirm.
%% Manage SSHFS %%
If you want to export RDSM’s items through sshfs or scp/sfp,
you can use this panel to do it. You select the
community/collection where you want to add your item, put its
link.
%% Users Quota%%
Here you can manage quotas for the different users. That
means you can define for each user, how many MB one is
allowed to upload on the database. By default, this value is set
to 10240MB.
%% Manage Groups %%
In RDSM, as an administrator, you can create groups with
specific users. By default there are two groups: Anonymous and
Administrator and the default administrator is in the
Administrator group. We really recommend that you change the
name and password of the main administrator of RDSM.
This notion of ''Group'' is very useful when you want to display
full communities or specific items only to some persons. For
example if you created a community which contains personal
data you want to share only with a group of people, you can
create a group including that people, and add policies for that
group in the community.
%% Upgrading RDSM %%
% RDSM Policies %
RDSM has different policies depending on Communities,
Collections and Items. Moreover, policies can be set for
individual users or a group of users.
Policies can be propagated down to Collections and Items by
using the '''Propagate policies''' button.
%% Community %%
* '''Read'''. The community is visible.
* '''Edit'''. The community information can be edited.
* '''Delete'''. The community can be deleted.
* '''Add Collections'''. Collections can added to the community
* '''Remove Collections'''. Collections can be removed from the
community
%% Collection %%
* '''Read'''. The collection is visible.
* '''Edit'''. The collection information can be edited.
* '''Delete'''. The collection can be deleted.
* '''Add Items'''. Items can added to the collection
* '''Remove Items'''. Items can be removed from the collection
%% Item %%
* '''Read'''. The item is visible.
* '''Edit'''. The item information can be edited.
* '''Delete'''. The item can be deleted.
* '''Add Bitstreams'''. Bitstreams can added to the community
* '''Remove Bitstreams'''. Bitstreams can be removed from the
community
BBMSC
10 of 24
Reference Data Set Manager SDD
Rev 0.3
2.2. Performance
Non-functional requirements, such as how fast a capability needs to run.
Requirements
Comment / TI (DG if design guideline)
User interface display and update time needs to
feel quick.
Implication is that can’t load whole ontologies but rather work
incrementally.
2.3. Deferred Requirements
See Execute Application Architecture Specification (AAS).
3. Platform Specific Model
3.1. Overview
The Reference Dataset is an application built on the Midas Platform. It is fully
documented here:
http://www.kitware.com/midaswiki/index.php/Main_Page
Domain Model
Description
DICOM
Support for image metadata using DCMTK
JSON
JavaScript Object Notation for RESTful API data exchange
AIM
Annotation and Image Markup for annotation storage and
process templating
EXIF
Metadata from commodity photography
BBMSC
11 of 24
Reference Data Set Manager SDD
Rev 0.3
Figure 2: Technology Stack
Technology
Affects
Apache 2.0
Apache is used to serve content from the server to the client
PHP 5.2+
Object-oriented PHP is used for dynamic content and MVC
interaction
Zend Framework
MVC Framework for PHP
MySQL
Relation backing database
JQuery
Cross-browser Javascript for user interaction and dynamic
metadata retrieval
3.2. Assumptions and Dependencies
Assumptions
Affects
Component will be deployed in its
individual container
A new separate server needs to be
procured for each of the component
installations
Component will require standard webports open
Port 80 for insecure content and/or 443
for SSL support
BBMSC
12 of 24
Reference Data Set Manager SDD
Dependency
Description
POSIX-Compliant
Operating System
We assume the platform will be installed on an
industry-standard LAMP stack.
Rev 0.3
3.3. Component Interface
The RDSM provides a user interface described in detail here:
http://www.kitware.com/midaswiki/index.php/Main_Page
Additionally, the RESTful API is self-describing. A user-friendly documentation of the
current API for the RDSM can be found here:
http://execute.qi-bench.org/midas3/api
An XML description of the same is defined as follows:
<methods>
<data>
<name>version</name>
<help>
<params/>
<example/>
<return>Server version in the form <major>.<minor>.<patch></return>
<description>Get the server version</description>
</help>
</data>
<data>
<name>modules.list</name>
<help>
<params/>
<example/>
<return>List of enabled modules on the server</return>
<description>Get the enabled modules on the server</description>
</help>
</data>
<data>
<name>methods.list</name>
<help>
<params/>
<example/>
<return>
List of api method names and their corresponding documentation
</return>
<description>List all available web api methods on the server</description>
</help>
</data>
<data>
<name>info</name>
BBMSC
13 of 24
Reference Data Set Manager SDD
Rev 0.3
<help>
<params/>
<example/>
<return>Server information</return>
<description>
Get the server information including version, modules enabled, and available
web api methods (names do not include the global prefix)
</description>
</help>
</data>
<data>
<name>login</name>
<help>
<params>
<appname>The application name</appname>
<email>The user email</email>
<apikey>
The api key corresponding to the given application name
</apikey>
</params>
<example/>
<return>
A web api token that will be valid for a set duration
</return>
<description>Login as a user using a web api key</description>
</help>
</data>
<data>
<name>resource.get</name>
<help>
<params>
<uuid>Universal identifier for the resource</uuid>
<folder>
(Optional) If set, will return the folder instead of the community record
</folder>
</params>
<example/>
<return>The resource's dao</return>
<description>Get a resource by its UUID</description>
</help>
</data>
<data>
<name>path.from.root</name>
<help>
<params>
<uuid>Unique identifier of the resource</uuid>
</params>
<example/>
<return>
An ordered list of uuids representing a path from the root node
</return>
<description>
Returns a path of uuids from the root folder to the given node
</description>
</help>
</data>
BBMSC
14 of 24
Reference Data Set Manager SDD
Rev 0.3
<data>
<name>path.to.root</name>
<help>
<params>
<uuid>Unique identifier of the resource</uuid>
</params>
<example/>
<return>
An ordered list of uuids representing a path to the root node
</return>
<description>
Returns a path of uuids from the given node to the root node
</description>
</help>
</data>
<data>
<name>resource.search</name>
<help>
<params>
<token>(Optional) Authentication token</token>
<search>The search query</search>
</params>
<example/>
<return>An array of matching resources</return>
<description>Search resources for the given words</description>
</help>
</data>
<data>
<name>upload.generatetoken</name>
<help>
<params>
<token>Authentication token</token>
<itemid>The id of the parent item to upload into</itemid>
<filename>The filename of the bitstream you will upload</filename>
<checksum>
(Optional) The md5 checksum of the file to be uploaded
</checksum>
</params>
<example/>
<return>
An upload token that can be used to upload a file. If checksum is passed and
the token returned is blank, the server already has this file and there is no
need to upload.
</return>
<description>Generate a unique upload token</description>
</help>
</data>
<data>
<name>upload.getoffset</name>
<help>
<params>
<uploadtoken>The upload token for the file</uploadtoken>
</params>
<example/>
<return>
[offset] The size of the file currently on the server
BBMSC
15 of 24
Reference Data Set Manager SDD
Rev 0.3
</return>
<description>Get the size of a partially completed upload</description>
</help>
</data>
<data>
<name>upload.perform</name>
<help>
<params>
<uploadtoken>The upload token (see upload.generatetoken)</uploadtoken>
<filename>The upload filename</filename>
<length>The length in bytes of the file being uploaded</length>
<mode>(Optional) Stream or multipart. Default is stream</mode>
<folderid>(Optional) The id of the folder to upload into</folderid>
<itemid>
(Optional) If set, will create a new revision in the existing item
</itemid>
<revision>
(Optional) If set, will add a new file into an existing revision. Set this to
"head" to add to the most recent revision.
</revision>
<return>
The item information of the item created or changed
</return>
</params>
<example/>
<return/>
<description>
Upload a file to the server. PUT or POST is required. Either the itemid or
folderid parameter must be set
</description>
</help>
</data>
<data>
<name>community.create</name>
<help>
<params>
<token>Authentication token</token>
<name>The community name</name>
<description>(Optional) The community description</description>
<uuid>
(Optional) Uuid of the community. If none is passed, will generate one.
</uuid>
<privacy>(Optional) Default 'Public'.</privacy>
<canjoin>(Optional) Default 'Everyone'.</canjoin>
</params>
<example/>
<return>The community dao that was created</return>
<description>
Create a new community or update an existing one using the uuid
</description>
</help>
</data>
<data>
<name>community.get</name>
<help>
<params>
BBMSC
16 of 24
Reference Data Set Manager SDD
Rev 0.3
<token>(Optional) Authentication token</token>
<id>The id of the community</id>
</params>
<example/>
<return>The community information</return>
<description>Get a community's information</description>
</help>
</data>
<data>
<name>community.children</name>
<help>
<params>
<token>(Optional) Authentication token</token>
<id>The id of the community</id>
</params>
<example/>
<return>The folders in the community</return>
<description>
Get the immediate children of a community (non-recursive)
</description>
</help>
</data>
<data>
<name>community.list</name>
<help>
<params>
<token>(Optional) Authentication token</token>
</params>
<example/>
<return>A list of all communities</return>
<description>Return a list of all communities visible to a user</description>
</help>
</data>
<data>
<name>community.delete</name>
<help>
<params>
<token>Authentication token</token>
<id>The id of the community</id>
</params>
<example/>
<return/>
<description>
Delete a community. Requires admin privileges on the community
</description>
</help>
</data>
<data>
<name>folder.create</name>
<help>
<params>
<token>Authentication token</token>
<name>The name of the folder to create</name>
<description>(Optional) The description of the folder</description>
<uuid>
(Optional) Uuid of the folder. If none is passed, will generate one.
BBMSC
17 of 24
Reference Data Set Manager SDD
Rev 0.3
</uuid>
<privacy>(Optional) Default 'Public'.</privacy>
<parentid>
The id of the parent folder. Set this to -1 to create a top level user
folder.
</parentid>
</params>
<example/>
<return>The folder object that was created</return>
<description>
Create a folder or update an existing one if one exists by the uuid passed
</description>
</help>
</data>
<data>
<name>folder.get</name>
<help>
<params>
<token>(Optional) Authentication token</token>
<id>The id of the folder</id>
</params>
<example/>
<return>The folder object, including its parent object</return>
<description>Get information about the folder</description>
</help>
</data>
<data>
<name>folder.children</name>
<help>
<params>
<token>(Optional) Authentication token</token>
<id>The id of the folder</id>
</params>
<example/>
<return>The items and folders in the given folder</return>
<description>
Get the immediate children of a folder (non-recursive)
</description>
</help>
</data>
<data>
<name>folder.delete</name>
<help>
<params>
<token>Authentication token</token>
<id>The id of the folder</id>
</params>
<example/>
<return/>
<description>
Delete a folder. Requires admin privileges on the folder
</description>
</help>
</data>
<data>
<name>folder.download</name>
BBMSC
18 of 24
Reference Data Set Manager SDD
Rev 0.3
<help>
<params>
<token>(Optional) Authentication token</token>
<id>The id of the folder</id>
</params>
<example/>
<return>A zip archive of the folder's contents</return>
<description>Download a folder</description>
</help>
</data>
<data>
<name>item.create</name>
<help>
<params>
<token>Authentication token</token>
<name>The name of the item to create</name>
<description>(Optional) The description of the item</description>
<uuid>
(Optional) Uuid of the item. If none is passed, will generate one.
</uuid>
<privacy>(Optional) Default 'Public'.</privacy>
<parentid>The id of the parent folder</parentid>
</params>
<example/>
<return>The item object that was created</return>
<description>
Create an item or update an existing one if one exists by the uuid passed
</description>
</help>
</data>
<data>
<name>item.get</name>
<help>
<params>
<token>(Optional) Authentication token</token>
<id>The item id</id>
<head>(Optional) only list the most recent revision</head>
</params>
<example/>
<return>The item object</return>
<description>Get an item's information</description>
</help>
</data>
<data>
<name>item.download</name>
<help>
<params>
<token>(Optional) Authentication token</token>
<id>The id of the item</id>
<revision>
(Optional) Revision to download. Defaults to latest revision
</revision>
</params>
<example/>
<return>The bitstream(s) in the item</return>
<description>Download an item</description>
BBMSC
19 of 24
Reference Data Set Manager SDD
Rev 0.3
</help>
</data>
<data>
<name>item.delete</name>
<help>
<params>
<token>Authentication token</token>
<id>The id of the item</id>
</params>
<example/>
<return/>
<description>Delete an item</description>
</help>
</data>
<data>
<name>item.getmetadata</name>
<help>
<params>
<token>(Optional) Authentication token</token>
<id>The id of the item</id>
<revision>
(Optional) Revision of the item. Defaults to latest revision
</revision>
</params>
<example/>
<return/>
<description>Get the item's metadata</description>
</help>
</data>
<data>
<name>user.folders</name>
<help>
<params>
<token>Authentication token</token>
</params>
<example/>
<return>List of the user's top level folders</return>
<description>
Return a list of top level folders belonging to the user
</description>
</help>
</data>
<data>
<name>user.apikey.default</name>
<help>
<params>
<email>The user's email</email>
<password>The user's password</password>
</params>
<example/>
<return>The user's default API key</return>
<description>
Returns the user's default API key given their username and password. POST
method required.
</description>
</help>
BBMSC
20 of 24
Reference Data Set Manager SDD
Rev 0.3
</data>
<data>
<name>bitstream.get</name>
<help>
<params>
<token>(Optional) Authentication token</token>
<id>The id of the bitstream</id>
</params>
<example/>
<return>Bitstream dao</return>
<description>Fetch the information about a bitstream</description>
</help>
</data>
<data>
<name>bitstream.download</name>
<help>
<params>
<token>(Optional) Authentication token</token>
<id>(Optional) The id of the bitstream</id>
<checksum>(Optional) The checksum of the bitstream</checksum>
<name>(Optional) Alternate filename to download as</name>
<offset>
(Optional) The download offset in bytes (used for resume)
</offset>
</params>
<example/>
<return/>
<description>
Download a bitstream either by its id or by a checksum. Either an id or
checksum parameter is required.
</description>
</help>
</data>
<data>
<name>bitstream.count</name>
<help>
<params>
<token>(Optional) Authentication token</token>
<uuid>The uuid of the containing resource</uuid>
</params>
<example/>
<return>
array(size=>total_size_in_bytes, count=>total_number_of_files)
</return>
<description>
Count the bitstreams under a containing resource. Uses latest revision of
each item.
</description>
</help>
</data>
<data>
<name>batchmake.testconfig</name>
<help>
<params>
<tmp_dir>the path to the batchmake temp dir</tmp_dir>
<bin_dir>
BBMSC
21 of 24
Reference Data Set Manager SDD
Rev 0.3
the path to the batchmake bin dir, should have BatchMake exe
</bin_dir>
<script_dir>
the path to the batchmake script dir, where bms files live
</script_dir>
<app_dir>the path to the dir housing executables</app_dir>
<data_dir>the path to the data export dir</data_dir>
<condor_bin_dir>the path to the location of the condor
executables</condor_bin_dir>
</params>
<example/>
<return>
an array, the first value is a 0 if the config is incorrect or 1if the config
is correct, the second value is a list of individual config values and their
statuses.
</return>
<description/>
</help>
</data>
<data>
<name>batchmake.add.condor.dag</name>
<help>
<params>
<token>Authentication token</token>
<batchmaketaskid>The id of the batchmake task for this dag</batchmaketaskid>
<dagfilename>The filename of the dagfile</dagfilename>
<outfilename>The filename of the dag processing output</outfilename>
</params>
<example/>
<return>The created CondorDagDao.</return>
<description>
Add a condorDag entry to the specified batchmake task
</description>
</help>
</data>
<data>
<name>batchmake.add.condor.job</name>
<help>
<params>
<token>Authentication token</token>
<batchmaketaskid>The id of the batchmake task for this dag</batchmaketaskid>
<outputfilename>The filename of the output file for the job</outputfilename>
<errorfilename>The filename of the error file for the job</errorfilename>
<logfilename>The filename of the log file for the job</logfilename>
<postfilename>
The filename of the post script log file for the job
</postfilename>
</params>
<example/>
<return>The created CondorJobDao.</return>
<description>
Add a condorJob entry to the specified batchmake task
</description>
</help>
</data>
<data>
BBMSC
22 of 24
Reference Data Set Manager SDD
Rev 0.3
<name>qibench.runitemscalarvalue.add</name>
<help>
<params>
<qibenchrunitemid/>
<name/>
<value/>
</params>
<example/>
<return>The QibenchRunItemScalarValueDao</return>
<description>add a scalarvalue to a QibenchRunItem</description>
</help>
</data>
<data>
<name>qibench.runitem.outputitemid.set</name>
<help>
<params>
<qibenchrunitemid/>
<outputitemid/>
</params>
<example/>
<return>The QibenchRunItemDao</return>
<description>set the outputItemId on a QibenchRunItem</description>
</help>
</data>
<data>
<name>qibench.runitem.condorjob.set</name>
<help>
<params>
<qibenchrunitemid/>
<condorjobid/>
</params>
<example/>
<return>The QibenchRunItemScalarValueDao</return>
<description>set the condor job id on a QibenchRunItem</description>
</help>
</data>
<data>
<name>qibench.start.job</name>
<help>
<params>
<datasetid/>
<parentfolderid/>
<outputfoldername/>
</params>
<example/>
<return>qibenchrunid</return>
<description>start a batchprocess job.</description>
</help>
</data>
<data>
<name>qibench.update.results</name>
<help>
<params>
<qibenchrunid/>
</params>
<example/>
BBMSC
23 of 24
Reference Data Set Manager SDD
Rev 0.3
<return>
array: processing_complete: 0 or 1, if the run is finishedresults_rows: an
array of retults data for the run
</return>
<description>get the most up to date results for a qibench run</description>
</help>
</data>
<data>
<name>dicomextractor.extract</name>
<help>
<params>
<item>the id of the item to be extracted</item>
</params>
<example/>
<return>the id of the revision</return>
<description>Extract the dicom metadata from a revision</description>
</help>
</data>
</methods>
BBMSC
24 of 24
Download