Dev/omar/design/setStatus
From Omar Wiki
Contents |
[edit]
Feature Overview
This feature allows setting the status attribute of one or more RegistryObjects using any ClassificationNode (Concept in JAXR) within the canonical StatusType ClassificationScheme.
[edit]
Motivation
- Enables a deployment to define allowed status values as extentions of canonical StatusType ClassificationScheme and then allows authorized users within that deployment to assign any configured status value to one or more RegistryObjects. This was a direct feedback on requirement of real worlkd deployments of freebXML Registry.
RegistryObject's status attribute value to be defined according to deployment profile specific requirements. For examples in a RegistryObject representing a Patient in a hospital you may need the status to also be: Admitted, Transferred, Discharged.
- Fixes a known limitation of ebXML Registry 3.0 standard where only the following canonical values could be assigned as status for a RegistryObject: Submitted, Approved, Deprecated.
- Fixes a known limitation of ebXML Registry 3.0 standard where each new type of status attribute value required a new protocol to be added to LifeCycleManager: SubmitObjectsRequest, ApproveObjectsRequest, DeprecateObjectsRequest
[edit]
Next Steps
- We need to implement changes to Web UI to allow use of this new feature. In the meantime please use Java UI or JAXR API for access to the new feature.
[edit]
Feature Design
- Added a new SetStatusOnObjects protocol to LifeCycleManager SPI which is modeled after ApproveObjects protocol and its implementation
/** Sets the status of specified objects. This is an extension request that will be adde to ebRR 3.1?? */ public RegistryResponse setStatusOnObjects(RequestContext context) throws RegistryException;
- Implemented new SetStatusOnObjects protocol method in server and client side LifeCycleManager interfaces
- Implemented changes to server and client side for generating and displaying audit trail for actions that used the SetStatusOnObjects protocol. The AuditableEvent.eventType attribute contains the id of the ClassificationNode within the StatusType ClassificationScheme.
- Implemented changes to Java UI so the popup menu for rows in the Serach Results table now have a new
"Set or Change Status" menu tree.
[edit]
Feature Usage
- In Java UI perform a search. Right-click on a row in Serach Results table and choose "Set or Change Status" and then choose a status from the sub-menu displayed.
- In Web UI the feature is implemented in two places.
# The set status can work on collection of Registry Objects
A Search is needs to performed. The search result listed in the Search Summary Results table. Above this display of table a toolbar with buttons
related to publishing is present. The Set Status feature is appended to it. With a "Set or Change Status" button along with a drop down menu displayed
in a tree like structure listing all possible status.
Select the Registry Objects using check box on the left side of the Search Summary Results Table. Then select the status you want to set it from the
drop down list. Click "Set or Change Status" to set selected status for all the selected Registry Objects.
# The set status can work on a single Registry Object
A detail display of a searched Registry Object is possible by clicking on "Details" link in the Search Summary Results Table. The detail display of a
registry has a toolbar similar to summary table related to publishing. The set status feature is appended with "Set or Change Status" button along with
a drop down menu displayed in a tree like structure listing all possible status.
Select the status you want to set on the Registry Object from the drop down list. Click "Set or Change Status" to set the selected status for the
Registry Object displayed.
- If writing custom JAXR clients use as guide the code fragment in testSetStatusOnObject() of existing test test/org/freebxml/omar/client/xml/registry/LifeCycleManagerTest.java
[edit]
Feature Testing
- Added testSetStatusOnObject() to existing test test/org/freebxml/omar/client/xml/registry/LifeCycleManagerTest.java
[edit]
Feature Feedback
- Add your thoughts, issues and comments here. Please include email address. Thanks.
