This set of scenarios outlines the basic functionality for creating and navigating basic linking across AM and other domain resources (or across AM resources managed in different servers or domains).
In these scenarios we continue to assume that the details (raw resource formats) of individual AM resources are a black box as concerned by the specification, however implementing service can and should know how to manage them.
All scenarios assume that the user has proper permissions and has already been authenticated by all required systems/services. It also assumes that all services have been configured propertly (i.e. link types have been defined, and servers have been configured with references to the other servers implementing the expected OSLC interfaces (CM, RM, QM, …). The OSLC AM specification does not attempt to define how this happens.
Create link from AM resource to requirement
Goal: A designer wants to indicate that a AM resource implements a specific requirement
- The designer navigates to a AM resource (UML diagram).
- The designer invokes the action to create a new link from this resource to a requirement type resource.
- If the system is configured with more than one requirements service provider (i.e. project) associated with the context that the AM resource is in, then the user is prompted to select which requirements provider to find the requirement in.
- The system delegates resource selection to the requirements service. The requirements service provides a resource picker to the designer.
- The designer uses the resource picker to select a requirement to link to.
- The designer selects the link type ‘implements’ from the list of available types, and confirms the link creation. The list contains the labels for each link type (not the raw URI). Systems may optionally display hover help or a short description for each.
- The system may allow the user to add additional information about the link itself (i.e. description, priority).
- The system creates a new link resource that has the AM resource as the subject, the requirement resource URI as the object, and the link type as the predicate. Any additional information allowed by the system is stored with the link. This link will appear in the links view for AM resources, and can be queried for.
View and navigate to a linked resource from a AM resource
Goal: A stakeholder viewing an AM resource wants to see and navigate to related ALM resources.
- The stakeholder views an AM resource (diagram or form view).
- The system provides a way to see the list of links to external resources (other ALM resources like requirements, work items or test cases). The links are displayed with human readable labels. If available hover help will display a short human readable description of the link resource itself. Additional rich hover information may be available (including previews of the target resource). The list of links may be organized by type.
- The system may display additional information associated with the link in the display, or as a result of an additional UI action. It is up to the system to decide how to display link annotations.
- The stakeholder can select a link and the default behavior will be to open up a browser (if not already using a web browser) and it will make a request for the HTML representation of the resource on the other end of the link. The request is made with a simple HTTP GET on the resource URI, with an appropriate HTML header conent type.
- The other system (OSLC RM, or plain web server) will provide an HTML presentation of the resource.
Delete a link from a AM resource
Goal: Remove an existing link from a AM resource to another ALM resource.
- A stakeholder is viewing an AM resource, and all the links that come from it to other ALM resources.
- The stakeholder sees an implements link to a requirement that is invalid (or a mistakenly created one).
- The stakeholder invokes a function to delete the link.
- The system after confirming the action, removes the link from the repository. All future queries, and views of the AM resource will no longer include this link.