Products
--------
Member Nodes
Metacat
GMN
NBII
ORNL DAAC (improve tie in to GMN)
Dryad
CUASHI-HIS
Merritt
Fedora
ITK
libclient_java
libclient_python
Morpho
R
Commandline
FUSE
Excel
Workflow tools
VizTrails
Kepler (?)
DataONE Web Search (Mercury-based)
COINS-based bibliographic tools
Zotero
Mendeley
Coordinating Node
Catalog service (object store - Metacat)
Synchronization service
Replication service
Logging and reporting
Search (query method)
Node registration
Identifier service (resolve/reserve)
Authentication
Authorization
Monitoring
Preservation
Object format registry
Common Libraries
Types schema
Java
Python
Architecture and SPI Specification
Documentation
Reference Architecture
How to implement the GMN de novo
Implement Fedora MN de novo
Examples of data packaging
Schedule
--------
Block 2:
Feb 28 - April 22
Architecture 1.0.0beta1
Data packaging specification
Authentication specification
AuthToken structure and content
Authorization specification
ACL language
DataONE Types Schema 0.6
Remove ObjectFormat enum
Add authorization changes
d1_common_java (0.6)
d1_common_python (0.6)
d1_libclient_java (0.6)
d1_libclient_python (0.6)
Metacat 1.10beta1
Authentication and Authorization
GMN 1.0beta1
Authentication and Authorization
DAAC connection
CN 1.0beta1
Authentication and Authorization
MN Replication support
Metacat (1.10beta1)
Mercury (version TBD)
Stub out object format registry to replace enumeration in schema
Documentation
Reference architecture beta 1
Block 3:
April 25 - June 17
(Generally continue with Authn and Authz)
GMN 1.0beta2
Metacat 1.10
CN 1.0beta2
MN registration
Log aggregation
Search services
Object format registry (coordinate with UDFR)
Morpho
Implement CRUD API
Authentication and Authorization
Identifier support for arbitrary IDs
Search/Open implementation
FUSE
Mercury index performance and content
Evaluation of write support
VisTrails (Dave Koop?)
Mercury Portal (release candidate)
Citation Manager Support (release candidate for COinS)
Proper linkages to resolve service for downloads
Formatting and display of metadata records
Block 4:
June 20 - August 19
USGS ITK Components
Excel?
Kepler?
Block 5:
August 25 - October 14
Release candidate on or before October 14, 2011
Block 6:
October 24 - Dec 20 (short block)
Public release on or before Dec 15
Core functional features
------------------------
Support for PIDs
MN support for identifiers
Identifier syntax support
Encoding and decoding rules
Uniqueness testing and guarantee
Support PID reservation
CN support PID reservation
Client lib support
Python client lib
Java client lib
Support for PID verification
CN support for PID verification
client lib support
Python
Java
Monitoring
Monitoring framework evaluation and selection
Interface and service design
Cacti plugin for content statistics
Node monitoring support interfaces
Monitoring implementation
Cacti monitor system core stats
IM Bot support for notifications
log4j IRC extension
python logging extension
Node monitor apis implemented
Cacti web interface reporting
System level monitoring of nodes
Implement system level monitoring service
Document process for adding nodes to service
Add nodes to monitoring service
Service monitoring of nodes
Tests for MN services
Tests for CN services
Implement node service testing as part of monitoring service
Content monitoring of nodes
Define the monitoring service interfaces
Implement the monitor service interfaces
Implement the monitoring service for content monitoring
Support reporting of aggregated information
CN content and service replication
Data store replication specifications
Data store object replication
Replication configuration documentation
Replication service security
Replication event notification
Replication event log
Log file
Log bot
Replication event message queue
Service failover
DNS RR service availability check
Admin notification of outage
Metacat post downtime recovery
Support common serialization formats
XML Serialzation
Additional formats
JSON serialization
CSV serialization
HTML serialization
MN registration
MN service registry schema
MN service advertisement
Metacat
GMN
Dryad
DAAC
MN test service
Check service availability
Resource availability
Check content type support
Admin task notification check
Implement node registry
Registration data store
Registration service interface
Registry entry update
Node heartbeat support
MN heartbeat service
Heartbeat monitoring service
Heartbeat client
Heartbeat check scheduler
Heartbeat status logging
Failure notification
Registry maintenance
Schedule registry entry check
Log registry entry status
Synchronization of data and metadata
MN generation of system metadata
Enumeration of MN content
CN retrieval of metadata and system metadata
Retrieve content from MN
Checksum verification
Content type detection
CN update of system metadata
CN storage of metadata and system metadata
CN update of node syncrhonization status
Synchronization control service
Coordination across MNs
Scheduling
Check for content
Execute sync process
Notification for downstream processes
Operation logging
Define and document logging services
MN operations logging
Record operations in log
Support log request service
CN operations logging
Record operations in log
Support log request services
CN accumulation of logs from MNs
Design log accumulation mechanism
Define log replication policy (between CNs)
Client for retrieval of MN log information
Storage for aggregate logs
Controller for coordinating log retrieval
Services for retrieval of aggregate log information from CNs
Client retrieve logs
Client retrieve logs from MNs
Client retrieve CN operations logs
Client retrieve aggregate logs from CN
Core ITK functionality
Implement core functionality of Investigator toolkit libraries
Design the ITK methods and high level abstraction
ITK methods defined
ITK high level abstraction defined
Implement a Java ITK library
Implement a Python ITK library
Enable ITK Applications
Initial ITK support
Implement a web user interface
Implement a command line client
Enable DataONE support for R
Later ITK support
Implement a file system driver using FUSE
Excel plugin
Viztrails support
Kepler plugin
Integration testing
ITK - MN interactions
ITK - CN interactions
CN Replication
MN Synchronization
MN Replication
CN - MN interactions
MN - MN interactions
CN - CN interactions
Search holdings
Define the search and retrieval APIs
Implement the search service
Implement search engine
Implement content extraction for search indexes
Implement service interfaces for search engine
Implement controller for maintaining index currency
Populate the search service
Define the search service index schema
Define metadata mappings to search service index
Synchronize search index with CN content
Insert content to MN
Define the create() service interface
Define service access control policies
Implement content creation service
MN replication of data and metadata
MN replication specifications
MN replication service implementation
GMN implementation of replicate()
Metacat implementation of replicate()
CN method to trigger MN replication of object
Replication control service
Content replication rules
Content replication controller
Direct MN to replicate content
Update object replica status
Content replica status monitoring
Check for object replica count
Trigger operation based on count
Modify content
Define the mutation process for data and metadata
Define the service access control policies
Implement the update service
Trusted connections between nodes
Define secure connection protocol
Implement trusted connections between CNs and MNs
Implement trusted connections between MNs
Authentication and access control
Support for authentication
Support for access control
Support for identity mapping
Object format registry
Identifiers for content types
Verification of content type
Detection of content type
Database of content types
Service interfaces for content type registry
Support for multiple service versions
Internationalization
Support for unicode content
Multi-lingual user interfaces
(perhaps a lower priority, but quite useful to have international nodes / support)
(ensure that the implementations support a path to internationalization)
Event notification
Outline the set of events to be supported
Define protocols for event notification
Define service interfaces to support event notification
Implement mechanisms to send events
Packaging and examples
Updates to docs and include the mythical reference architecture