forked from wf4ever/ro-manager
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
132 lines (103 loc) · 5.38 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
Priorities from Kristina:
I think such a tool would form a great starting point! As a start I would be happy with the following (by order of importance):
* ro config: configure research object management tool
* ro create: create new research object
* ro add: add files to a research object
* ro ls: list contents of research object
* ro annotate, ro annotations: annotate research object contents
* ro users: sharing research objects
which corresponds very well with your proposal of which functions to tackle initially. The only thing I miss is the sharing part. I think that is something I would like to be able to do quite fast as well. One thing I thought about was logging. Would it be possible to create a log? That would help me backtrack what I actually do with a RO, and in which order I tend to do things.
----
TODO:
* When creating resource, try to guess or retain media type information
* Update documentation to reflect new link command
* ro show config
* ro create should fail if RO already created
* Refactor sync code to use ro_metadata/ROSRS_Session to access manifest?
* ro eval checklist
** See: http://www.wf4ever-project.org/wiki/display/docs/Integrity+and+Authenticity+component
** See: https://www.pivotaltracker.com/story/show/26123933
** Test that aggregated files actually exist - part of liveness?
** Target specification is very error prone
** Error handling when target not found is poor
* ro users
* ro create: create manifest file via rdflib serialization
* Options to return JSON/RDF info for use by other apps?
* Options for RO logging of changes, etc
* ro list currently shows only files: want to show directories too?
Other functions:
- display serialization of manifest graph
- display serialization of annotation graph
Technical debt:
- Mop up @@TODOs
- new test cases for evaluation
- Check out rdflib sparql query bnode bug - is it fixed? (I think it is - test cases to revert?)
- See also SC47 page - http://www.wf4ever-project.org/wiki/pages/viewpage.action?pageId=3506198
- See also decay detection with checklist
----
DONE
* ro config: configure research object management tool
* ro create: create new research object
* ro status: display status of RO
* ro list / ro ls: list contents of research object
* ro annotate, ro annotations: annotate research object contents
* ro add [file]
* ro add [-a] [directory]
* ro eval completeness minim
* Refactor ro_manifest+ro_annotation to be a class creating a manifest object. Revise code accordingly; don't depend on rodir from calling code.
** Define class ro_metadata that reads manifest and encapsulates both the graph and the base URI (done)
** Define relativization method that works with the new class (done)
** Modify ro_command functions to use new class for annotations, not ro_annotation module directly (done)
** Check that modified ro_command works with new RO (done)
** Create ro_metadata methods to replace direct references to ro_manifest functions (addAggregatedResources) (done)
** Remove direct references to ro_manifest in ro_command; use ro_metadata methods, in:
*** ro_command (done)
*** ro_eval_completeness (done)
*** BackgroundSync (recshceduled)
*** TestEvalCompleteness (done)
*** ro_metadata (done)
*** TestROMetadata (done)
* Refactor namespace definitions into separate module (from ro_manifest) (DONE)
* ro annotate (-g|--graph) rdf-resource [ file ] -- use RDF file already present as annotation for the named file. Defaults to annotations for the entire RO.
* Updates evaluation options; forall => exists and liveness tests
* ro annotate/annnotations
** Test use of CURIE as type
** Test use of URI as type
** Check use of remove annotation does not modify file in main RO added with -g
* ro link
* ro links
** Test links shown in RO listing
* Refactor ro_metadata to handle manifest access and updates locally, rather than via ro_annotations.
Also, add logic to cache ro_annotation graph.
(Keep ro_annotations for annotation support methods)
* option to change ro manifest aggregation details - ro modify? ro remove command added.
- read RO from web server
----
Option table
("-a", "--all", help="All, list all files, depends on the context")
("-b", "--ro-base", help="Base of local directory tree used for ROs")
-c
("-d", "--ro-directory", help="Directory of Research Object to process (defaults to current directory)")
("-e", "--user-email", help="Email address of research objects owner")
("-f", "--force", help="Force, depends on the context")
("-g", "--graph", help="Name of existing RDF graph used for annotation")
-h --help
("-i", "--ro-identifier", help="Identifier of Research Object (defaults to value based on name)")
-j
-k
-l, "--report-level", help="Reporting level of detail to generate (summary, must, should, may or full)"
-m
("-n", "--user-name", help="Full name of research objects owner")
-o
("-p", "--rosrs-password", help="ROSRS password")
-q
("-r", "--rosrs-uri", help="URI of ROSRS service")
("-s", "--secret", "--hidden", help="display hidden files in listing")
-t
("-u", "--rosrs-username", help="ROSRS username")
("-v", "--verbose", help="display verbose output")
("-w", "--wildcard", "--regexp", help="Interpret annotation target as wildcard/regexp for pattern matching")
-x
-y
-z
( "--debug", help="Display debug/trace output")