Difference between revisions of "ORB term request prototype"

From phenoscape
(Requirements)
(Requirements)
Line 32: Line 32:
  
 
* Developers
 
* Developers
 +
**Have access to the source code and an exposed API for integrating and developing ORB
  
 
* Casual user
 
* Casual user
 +
**May or may not have an account at the site
 +
**Can browse , search, download and  comment on terms
 +
 +
Note:The roles of casual users also apply to developers, requester and ontology gatekeepers
 +
  
 
* Community
 
* Community

Revision as of 07:48, 20 January 2010

Introduction

The vision of this project is to develop an application that will allow data curators to use new ontology terms without creating a workflow bottleneck.

Background

There is a need for applications that will expedite the annotation of phenotypic characters using ontologies and also promote community participation in the expansion and refinement of ontologies. One particular need that has arisen within Phenoscape and other projects is for an Ontology Request Broker (ORB), an application that can launch new ontology term requests within existing data curation workflows, record term provenance and community discussion, enable temporary terms to be used in data annotation, and update temporary terms once a request has been resolved.

Scope

Here is a documentation of ORB term request service. ORB will be accessible via an online interface and programmatically through RESTful web-services.

ORB architecture overview

Error creating thumbnail: Unable to save thumbnail to destination

Requirements

Accessibility

  • ORB will have a web interface for easy access via browsers
  • It will also have REST-style web service for programmatic access

Actors and roles

  • Requester
    • Has an account or registers at the site
    • Submits a term request
    • Can edit their own (specific) requested terms; name, definition, parent, relations, references, cross-references, synonyms and add comments.
  • Ontology gatekeeper
    • Has an account or registers if it’s the first time visiting ORB
    • Can edit all the requested term’s fields
    • The only one with privileges to change a term’s status
  • Developers
    • Have access to the source code and an exposed API for integrating and developing ORB
  • Casual user
    • May or may not have an account at the site
    • Can browse , search, download and comment on terms

Note:The roles of casual users also apply to developers, requester and ontology gatekeepers


  • Community
  • ORB

Use cases

Specification

Activity

Database schema

REST services

Project plan

An agile approach will be used in ORB development. The sign √ indicates accomplished tasks while * indicates tasks which ought to have been implemented but haven't been

Week 1: 4 to 9 January, 2010 To review the ORB project, suggest any changes in light of existing technologies from literature review and input from the team and document the (including the changes).

  • Revise the ORB project plan and milestones√
  • Identify a suitable citation management tool and learn how to utilize it√
  • Perform a comprehensive literature search and read the relevant papers and add to the ORB literature review√


Week 2: 10 to 16 January, 2010 Complete literature review, document and discuss with project team

  • Perform further literature search, read and complete literature review*
  • Document the project requirements (technologies to be used, architecture, behavior) in the project wiki*
  • Hold an online meeting with NESCent team about progress and ORB implementation based on literature review and existing technologies√


Week 3: 17 to 23 January, 2010 Document ORB requirements and specification based on input from literature, discussion and research

  • Revise the ORB requirements, specification and document it to the wiki


Week 4: 24 to 30 January, 2010 Revise, design and implement ORB data layer based on existing technologies, input from project team and implement the database.

  • Design and implement the ORB database
  • Document the ORB database schema


Week 5: 31st January to 6th February 2010 Design and implement ORB Application layer

  • Identify and document the role of each server application
  • Start implementing/coding the application layer


Week 6: 7 to 13 February, 2010 Continue implementing the application layer plus the unit test

  • Continue implementing the application layer and unit tests


Week 7: 14 to 20 February, 2010 Continue implementing the application layer plus the unit test

  • Continue implementing the application layer and unit tests


Week 8: 21 to 27 February, 2010 Continue implementing the application layer plus the unit test

  • Continue implementing the application layer and unit tests


Week 9: 28th February to 6th March 2010 Continue implementing the application layer plus the unit test

  • Continue implementing the application layer and unit tests

Week 10: 7th to 13th March 2010 Start working on the ORB user/client interface

  • Identify and describe the user/client interface
  • Begin implementing the user/client interface

Week 12: 21st to 27th March 2010

  • Continue working on the user/client interface

Week 13: 28th March to 3rd April 2010

  • Continue working on the user/client interface


Week 14: 4th to 10th April 2010

  • Continue working on the user/client interface


Week 15: 11th to 17th April, 2010

  • Continue working on the user/client interface


Week 16: 18th to 24th April, 2010

  • Continue working on the user/client interface


Week 17: 25th April to 1st May 2010 Complete the ORB application

  • Assemble all the ORB components and have a complete software
  • Refine the code implementation and fix any bugs

Week 18: 2nd to 8th May 2010 Refinement and fix bugs

  • Continue fixing bugs

Week 19: 9th to 15th May, 2010 Begin deployment

  • Deploy ORB to a publicly accessible server
  • Document ORB server

Week 20: 16th to 22nd May, 2010

*To be added

Week 21: 23rd to 29th May, 2010

 *To be added

Week 22: 30th to 31st May, 2010

Meetings

Jan 19, 2010 (notes by Mtakai)

Present

    • Paula Mubee
    • Hilmar Lapp
    • Wasila Dahdul
    • Jim Bahloff
    • Peter Midford
    • Mtakai Ngara

Agenda

    • ORB requirements
    • Working modalities

Minutes

    • ORB will be accessible via browsers and programmatically as REST web services
    • Term requester and Ontology gatekeepers must create an account at the site
    • A function to allow for submission of a term to multiple ontologies would useful
    • Apart from term submission, definition revision, term obsoletion and graph placement should be implemented
    • A casual user need not register at the site
    • Function for uploading a file and downloading terms to be implemented
    • Have a section within ORB site for updates on latest acivities
    • Integrate ORB into phenex
    • Host the ORB project at sourceforge on it's page
    • Have a mechanism of checking if a term already exists in an ontology
    • Communication via e-mail
    • ORB meetings after each use case implementation
    • Code will be shared via subversion repository for team review
  • Action items
    • Contact the Berkley group(BBPO) on ORB trial
    • Have screen shots of ORB uploaded in the wiki to demonstrate functionality

Links & Resources


Contacts

Name: Mtakai Ngara

E-mail: mtakai@nescent.org