Notes for Sprint of Week 31, 2011

System Metadata properties that can be changed by client / MN after a object has been registered:
- replicationPolicy
- rightsHolder
- authoritativeMemberNode
- obsoletes, obsoletedBy (used by DataONE for content versioning)
- accessPolicy


Methods Needed Internally to a CN
BEN WILL ADD
DONE boolean identity.isPublic(Session, Subject)
returns True if subject is the public user

DONE boolean identity.isGroup(Session, Subject)
returns True if the subject is a group (as opposed to an individual)


Subject[] identity.getSubjectGroups(Subject)
DONE SubjectList getSubjectInfo(Session session, Subject subject)
Returns a list of groups that a subject belongs to


DONE XML objectStore.getSystemMetadata(Session, Identifier)
Returns the utf-8 encoded XML of the system metadata

DONE OctetStream objectStore.get(Session, Identifier)
Returns the bytes of the specified object - used by indexer for retrieving science metadata for further processing.

DONE boolean objectStore.registerSystemMetadata(Session, Identifier, SystemMetadata)
Used to add system metadata to Metacat for data objects (i.e. a create with a NULL object)

DONE boolean objectStore.updateSystemMetadata(Session, Identifier, SystemMetadata)
implemented as a PUT on /meta
Should retrieve  copy of the system metadat from the CN, update the necessary elements, then call updateSystemMetadata to overwrite the existing copy with this provided copy.


CN_crud.updateReplicaMetadata(token, pid, Types.ReplicaMetadata) -> Types.Identifier
full replacement of ReplicaMetadata, changes date sysmeta modified


DONE CN_crud.setAccessPolicy(token, pid, AccessPolicy) -> boolean

RE /access/pid (body containing token, AccessPolicy) -> boolean
changes date sysmeta modified too

DONE  CN_crud.setReplicationPolicy(token, pid, ReplicationPolicy) -> boolean
  REST API: PUT /replication/pid (body containing token, ReplicationPolicy) -> boolean
     - changes date sysmeta modified too


ObjectList getDescribes(Identifier)

ObjectList getDescribedBy(Identifier)


ObjectList getRelatedObjects(Identifier, RelationshipEnum)

Metacat must support a query that returns resourceMaps given an Identifier to a science metadata object or science data object

8/2/2011 Notes
Robert, Roger, Ryan, Nick

Roger: worked on Ryan's dataone drive. setup d1 libraries and environment in windows and got the code running under Windows. Was able to reproduce a bug that may be the same as the one he has noticed. May with to setup a second environment with debug settings.

Robert: struggling getting the d1_cn_rest component to compile.  Finding various problem with how maven interprets a dependencies and scope. Also forgot to include new JibX Runtime in d1_cn_rest.

Ryan: During CCIT meeting, researching issues with certificates from CIlogon and incorporating  GUI interface for the drive. Working on embedding an (embeddable) webbrowser in GUI. May not be too difficult to have embedded webbrowser in GUI. using QTDesigner

Nick: Hoping to see Chris or Dave today.  Not much on development effort, blocking on conversations needed with Dave and Chris. Wishes to speak with Dave about ORC Node, hardware specs, diagram for server rack. Installation has not been installed yet. OIT needs to run power, provide physical access, Bruce needs to get keys for login/admin keys.  So, we are waiting on Hardware which will be another couple of weeks.
Wishes to speak with Chris regarding tasks related to replication. Needs outline of what to work on. Maybe install metacat on terragrid node? 

Roger and Ryan stayed on the call to discuss some bugs in the drive.  We discussed a number of potential causes ranging from concurrency to struct packing.  Another major possibility might stem from garbage collection issues.  We'll spend some time debugging this.