|
|
(11 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
− | This list represents items needed to be done which are architectural in nature, or have to do with the IdAS API/SPI interfaces.
| + | #REDIRECT [[IdAS_ToDo]] |
− | | + | |
− | * Support for "building block" context providers (e.g. that do certain kinds of attribute transformation).
| + | |
− | ** Need
| + | |
− | **Each building block context will expect to be told the rest of the chain of contextRefs.
| + | |
− | ** Perhaps a Factory takes a list of ContextRefs instead of a sole ContextRefs
| + | |
− | ** When the consumer of IdAS finally gets the Context instance, that instance might be the head of a chain of Context instances. Perhaps the registry only sees the top one.
| + | |
− | * Attribute Metadata: Paul mentioned a need to associate metadata with an atribute's value and not its type. Paul may need to expound on this.
| + | |
− | ** Metadata access: Allow subsets of metadata to be fetched. (IHasMetadata.java)
| + | |
− | * Schema: Add method(s) which return the schema as a stream, DOM document, or other iterable object. (IContext.java)
| + | |
− | * Digital Subjects
| + | |
− | ** Interrogation
| + | |
− | *** Attribute Restriction List: Some methods need to be able to allow the user to specify which attributes to be returned when accessing Digital Subjects. This will aid in performance and scalability. (IContext.java)
| + | |
− | **** We may need the same for metadata.
| + | |
− | *** Filter
| + | |
− | **** Format: Define the filter format for getSubjects. (IContext.java)
| + | |
− | **** Allow filters In other methods: removeSubject (IContext.java)
| + | |
− | *** verifySubjectAttributes doesn't leave a way to verify that a DS representing a group contains a specific member in its member value. (IContext.java)
| + | |
− | *** Should getSubject(cuid) throw an exception if cuid is not found, or just return null?
| + | |
− | ** Updates
| + | |
− | *** Transaction Semantics: Are updates guaranteed to fully succeed or fully fail? (IContext.java)
| + | |
− | *** Updates to IDigitalSubject instances: discuss whether modifications to a returned IDigitalSubject affect the stored subject. (IContext.java)
| + | |
− | *** Can't remove an attribute using updateSubject. (IContext.java)
| + | |
− | *** Can't update components of an attribute's value (IContext.java)
| + | |
− | *** Collisions: Determine what to do when importing data and collisions occur. Does import override, add to , or error when a DS exists? (IContext.java)
| + | |
− | ** Relationships hold IDigitalSubjects. Shouldn't the relationship be a type which is identifier-based? It seems a bit heavyweight to have to produce a full DS just to represent a relationship. (IDigitalSubject)
| + | |
− | ** Data Model
| + | |
− | *** Document the special "uniqueIdentifier" attribute
| + | |
− | *** Is there a special "digitalSubjectType" attribute? (IDigitalSubject.java)
| + | |
− | * Context Provider
| + | |
− | # Policy Format: Describe format in more detail. Give examples. (IContextProvider.java) | + | |
− | # Closing: Does this also perform the opposite of "context creation"? (IContextProvider.java)
| + | |
− | # Review documented semantics of IContext.openContext.
| + | |
− | # Do we allow a change of AuthN materials on an already open Context?
| + | |
− | * Context
| + | |
− | ** Does export/import only export/import Digital Subjects, or the entire Context (Metadata, Schema, DS, Relationships)? (IContext.java)
| + | |
− | ** Export/Import Filter Format: Define the format (IContext.java)
| + | |
− | ** Export/Import data representation format. Document what this would look like and how, given the string one could understand what the format is. Is there a registry? (IContext.java)
| + | |
− | * Relationships
| + | |
− | ** How are two relationships compared for equality? (IHasRelationships.java)
| + | |
− | ** Does createRelationship also add? (IHasRelationships.java)
| + | |
− | * Subcontexts as a special first-class relationship. Include optional arguments to search methods (e.g., getSubjects()) to specify whether Subcontexts should be included in the search.
| + | |
− | * IContext::getSubjectSchema(), IContext::setSubjectSchema()
| + | |
− | * policy methods for IContext
| + | |