SPRINT 4 - concludes December 19
Overview
Sprint to develop additional features of the application.
Semantic Search
Extend Services to Cover Refset Types
...
Admin Tooling
Refactor admin tools to take profile (tools within a module) and properties - configuration
Always require run.config, and a profile.
Identifier assignment
Relationship and description and language refset member id assignment is tough because IDs don't exist yet when cascade is being used.
Consider removing cascade and handling cascade manually based on graph resolution handler - e.g. however much of the graph is present is what gets udpated, then we can also compare against current states to see if its really chagned. If so, then we udpate last modified and save it (thi saddresses the next issue for now)
then relationships can have ids based on hibernate ids instead of terminology ids..
Have the loaders take a flag that indicates that the version should be assigned to "current" or the actual version number.
the second case is only needed if you are trying to or need to maintain or support multiple simultaneous versions.
Recomputation of concept identifier and default preferred name should probably not require a "lastModifiedBy" or "lastModified" change.
LastModified peculiarities
add concept - for now it sets last updated for all CASCADE=ALL
update concept - n/a
add description - - for now it sets last updated for all CASCADE=ALL
update description - n/a
other objects - n/a
consider only actually calling merge if the thing changed and/or using @Version
Metadata model
new DL features for properties and data properties
explicit question for the "stated" and "inferred" rel types.
Model
Consider separating inferred/stated across the services.
Incremental transitive closure computer for unit concept or (isa)relationship changes.
lastModified needs to be consistent in how it is passed back and forth - use a long (expressed as milliseconds)
Unit/Integration Testing
...