Differences between revisions 3 and 4
Revision 3 as of 2010-06-07 14:26:31
Size: 730
Editor: jrg
Comment:
Revision 4 as of 2010-06-07 16:20:01
Size: 4626
Editor: jrg
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Server === Server ===
Line 9: Line 9:
Client === Client ===
Line 11: Line 11:
 * () makeBundleOfObjectsChangedSince - get list of PIDs from DOMS Server, then
 * () getObjectViewForMainObject
 * () lastTimeSomethingInThisCollectionChanged
For summa integration and OAI-PMH:
* (3 md C) makeBundleOfObjectsChangedSince - get list of PIDs from DOMS Server, then call it to get the bundle (uncertainty: get the view name how?)
 * (3 md C) getObjectViewForMainObject - call DOMS Server to get the bundle (uncertainty: get the view name how?)
 * (2 md B ) lastTimeSomethingInThisCollectionChanged - call to DOMS Server
 * (2 md B ) makeBundleOfObjectsChangedFromUntil - call to DOMS Server
TOTAL: 10 md
Line 15: Line 18:
Mass ingest For DOMS-GUI (and Hotfolder Ingest) :
 * (4 md B ) Given a query string, return a list of PIDs for objects found (search done by call to Summa integration component)
 * (2 md A) Return a list of all collection objects - call to DOMS Server
 * (3 md B ) Given a PID of an existing object in Fedora (for main objects, PID either entered by keyboard, or gained from a search), return a Java object representing it. This Java object will atleast have methods to do the following:
   * (1 md B ) Delete object - call to DOMS Server
   * (1 md B ) Publish object - call to DOMS Server
   * (1 md B ) Mark object as "in progress" - call to DOMS Server
   * (1 md B ) Return a list of the datastreams on the object - call to DOMS Server
   * (1 md B ) Return title of object - call to DOMS Server
   * (1 md B ) Given a name and content, add a datastream with that name and content to object - call to DOMS Server
   * (1 md B ) Given a name and PID, create a relation with the given name from current object to object with given PID - call to DOMS Server
   * (3 md B ) Given a name and a template, return a new object clone of the template and make a relation with given name from current object to new
     (may need to receive name of view as well, to check that relation is allowed in the view)
   * (4 md C) Given view name, return list of templates for objects that are allowed as targets of relations from current object in given view (uncertainty: no time to examine to what extent this can be handled by DOMS Server)
   * (1 md A) Return outgoing relations from this object - call to DOMS Server
   * (1 md A) Return allowed relations from this object, and content models allowed for targets - call to DOMS Server
   * (1 md A) Given a name, return outgoing relations of this name from current object - call to DOMS Server
   * (2 md B ) Return the object that is the main object for current object's view
   * (1 md B ) Return a compound content model (combined from its different content models) for this object
 * Template objects in addition have the following methods:
   * (1 md A) A method to return a clone object of the template in question (needed for creating the first objects in a collection) - call to DOMS Server
 * Main objects have the following methods:
   * (1 md A) Given a view name, returns a list of the objects in this main object's view of that name - call to DOMS Server
 * Content model objects have the following methods:
   * (1 md A) Return list of all objects that subscribe to this content model - call to DOMS Server
 * File objects in addition have the following methods:
   * (2 md B ) Given filename, content, and checksum, attach a file with the given name and content to the file object (even though there may be a file already)
   * (1 md A) Delete file from file object - call to DOMS Server
 * Collection objects have the following methods:
   * (1 md A) Return all templates for this collection (one of these may produce a main object) - call to DOMS Server
 * Datastream objects have methods to do the following:
   * ( md ) Delete datastream
   * ( md ) Given new content, replace the existing content in the datastream with the new content
   * ( md ) Return datastream content
 * Relation objects atleast have methods:
   * ( md ) Return PID that is target of relation
   * ( md ) Delete relation
   * ( md ) Given name, set name of relation
   * ( md ) Given PID, set target of relation
Line 17: Line 58:
 * (1 md) Startup project
 * Hotfolder surveyor
   * (3 md) Repeated checking of config file
   * (3 md) Config file parser (incl. regexps) (config file in xml)
   * (4 md) Repeated checking of each surveilled folder (against regexp)
   * (1 md) Call of external (Java code) action (lock-stuff done in the action)
   * (6 md) Test-action
 * ( md - md ) Additional methods (10 to 40% of the existing amount)


=== Ingest ===

 * (1 md A
) Startup project
 * Hotfolder surveyor/ingester
   * (3 md A) Repeated checking of config file
   * (3 md A) Config file parser (incl. regexps) (config file in xml)
   * (4 md A) Repeated checking of each surveilled folder (against regexp)
   * (1 md A) Call of external (Java code) action (lock-stuff done in the action)
   * (6 md B ) Test-action
Line 25: Line 71:
   * (0 md) Nothing needed (calls DOMS Client directly)    * (0 md A) Nothing needed (calls DOMS Client directly)

API Estimates - Server, Client, Ingest

Server

Client

For summa integration and OAI-PMH:

  • (3 md C) makeBundleOfObjectsChangedSince - get list of PIDs from DOMS Server, then call it to get the bundle (uncertainty: get the view name how?)
  • (3 md C) getObjectViewForMainObject - call DOMS Server to get the bundle (uncertainty: get the view name how?)
  • (2 md B ) lastTimeSomethingInThisCollectionChanged - call to DOMS Server
  • (2 md B ) makeBundleOfObjectsChangedFromUntil - call to DOMS Server

TOTAL: 10 md

For DOMS-GUI (and Hotfolder Ingest) :

  • (4 md B ) Given a query string, return a list of PIDs for objects found (search done by call to Summa integration component)
  • (2 md A) Return a list of all collection objects - call to DOMS Server
  • (3 md B ) Given a PID of an existing object in Fedora (for main objects, PID either entered by keyboard, or gained from a search), return a Java object representing it. This Java object will atleast have methods to do the following:
    • (1 md B ) Delete object - call to DOMS Server
    • (1 md B ) Publish object - call to DOMS Server
    • (1 md B ) Mark object as "in progress" - call to DOMS Server
    • (1 md B ) Return a list of the datastreams on the object - call to DOMS Server
    • (1 md B ) Return title of object - call to DOMS Server
    • (1 md B ) Given a name and content, add a datastream with that name and content to object - call to DOMS Server
    • (1 md B ) Given a name and PID, create a relation with the given name from current object to object with given PID - call to DOMS Server
    • (3 md B ) Given a name and a template, return a new object clone of the template and make a relation with given name from current object to new
      • (may need to receive name of view as well, to check that relation is allowed in the view)
    • (4 md C) Given view name, return list of templates for objects that are allowed as targets of relations from current object in given view (uncertainty: no time to examine to what extent this can be handled by DOMS Server)
    • (1 md A) Return outgoing relations from this object - call to DOMS Server
    • (1 md A) Return allowed relations from this object, and content models allowed for targets - call to DOMS Server
    • (1 md A) Given a name, return outgoing relations of this name from current object - call to DOMS Server
    • (2 md B ) Return the object that is the main object for current object's view
    • (1 md B ) Return a compound content model (combined from its different content models) for this object
  • Template objects in addition have the following methods:
    • (1 md A) A method to return a clone object of the template in question (needed for creating the first objects in a collection) - call to DOMS Server
  • Main objects have the following methods:
    • (1 md A) Given a view name, returns a list of the objects in this main object's view of that name - call to DOMS Server
  • Content model objects have the following methods:
    • (1 md A) Return list of all objects that subscribe to this content model - call to DOMS Server
  • File objects in addition have the following methods:
    • (2 md B ) Given filename, content, and checksum, attach a file with the given name and content to the file object (even though there may be a file already)
    • (1 md A) Delete file from file object - call to DOMS Server
  • Collection objects have the following methods:
    • (1 md A) Return all templates for this collection (one of these may produce a main object) - call to DOMS Server
  • Datastream objects have methods to do the following:
    • ( md ) Delete datastream
    • ( md ) Given new content, replace the existing content in the datastream with the new content
    • ( md ) Return datastream content
  • Relation objects atleast have methods:
    • ( md ) Return PID that is target of relation
    • ( md ) Delete relation
    • ( md ) Given name, set name of relation
    • ( md ) Given PID, set target of relation
  • ( md - md ) Additional methods (10 to 40% of the existing amount)

Ingest

  • (1 md A) Startup project
  • Hotfolder surveyor/ingester
    • (3 md A) Repeated checking of config file
    • (3 md A) Config file parser (incl. regexps) (config file in xml)
    • (4 md A) Repeated checking of each surveilled folder (against regexp)
    • (1 md A) Call of external (Java code) action (lock-stuff done in the action)
    • (6 md B ) Test-action
  • Ingest for when called by pre-ingester
    • (0 md A) Nothing needed (calls DOMS Client directly)

TOTAL: 18 md

API Estimates (last edited 2010-06-08 15:18:43 by jrg)