Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Idas Architectural Todo"
Line 27: | Line 27: | ||
*** Can't remove an attribute using updateSubject. (IContext.java) | *** Can't remove an attribute using updateSubject. (IContext.java) | ||
*** Can't update components of an attribute's value (IContext.java) | *** Can't update components of an attribute's value (IContext.java) | ||
+ | *** Can't update single (of many) attribute values or properties. | ||
*** Collisions: Determine what to do when importing data and collisions occur. Does import override, add to , or error when a DS exists? (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) | ||
** Data Model | ** Data Model |
Revision as of 14:01, 10 October 2006
This list represents items needed to be done which are architectural in nature, or have to do with the IdAS API/SPI interfaces.
- 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.
- 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)
- Does IHasMetadata.createMetadata also effectively call addMetadata?
- 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, etc.) (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?
- IContext::getSubjectSchema(), IContext::setSubjectSchema()
- Do we need to add these methods? If so, what would be returned?
- 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)
- 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)
- Can't update single (of many) attribute values or properties.
- Collisions: Determine what to do when importing data and collisions occur. Does import override, add to , or error when a DS exists? (IContext.java)
- Data Model
- Document the special "uniqueIdentifier" attribute
- Is there a special "digitalSubjectType" attribute? (IDigitalSubject.java)
- Interrogation
- Context Factory
- Policy Format: Describe format in more detail. Give examples. (IContextFactory.java)
- How are factories registered? (IContextFactory.java)
- Context
- Policy methods for IContext.
- I think Tom requested the ability to pass policy/config when creating a context.
- Can possibly be passed in IContextFactory.createContext URI (contextRef), but is that reasonable?
- 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)
- How does IContext.importData handle data collisions?
- Policy methods for IContext.
- Relationships
- How are two relationships compared for equality? (IHasRelationships.java)
- Does IHasRelationships.createRelationship also add? (IHasRelationships.java)