The goal of this showcase is to visualize Research Object evolution history.
Research Object Evolution, in the scope of this work (Task 3.1), refers to the ability of managing changes in a research object and its aggregated resources by creating and maintaining different versions of the research object during its life-cycle. It provides a detailed description of the changes in these resources, tracking contributions reused from other sources. It, thus, enables tracing the progress of a Research Object and accessing concrete versions of a Research Object (and their aggregated resources) or individual resources (notably workflows).
The terminology, scenarios and model of evolution are described in RO evolution page.
The RO evolution model is represented in the roevo ontology, which provides the vocabulary that is used to describe the evolution aspects of the research objects. The main classes of roevo, includes Version, for describing the versioning relationships between different ROs, and Change, which includes a taxonomy of the different changes (e.g., in the RO, individual resources, or annotations). Additionally, the ontology includes the relations necessary to model contributions used by any of these resources, enabling the citation and acknowledgement of previous work.
The outcome of this showcase is a Graphical User Interface that displays the evolution history of a research object and enables the navigation throughout the different versions. Initially it will be implemented in the RO portal.
The main issue for this showcase in Jira is Epic WFE-466.
It has two main tasks:
- Design of the interface
- Implementation in RO portal
Based on the visualization of evolution in state-of-the-art workflow management systems, such as vistrails, we plan to use a graph as the graphical representation of evolution history. A sketch of our initial design is shown in the following picture:
Each node in the graph represents an RO, which can be any of the three different types, i.e., Live, Snapshot or Archived. Edges represent a relationship between ROs or between an RO and other resource, e.g., Pack. Exemplary relations includes the snapshots associated with a live RO, or the different resources used by an RO as contributions.
The interface should work as follows:
- When a user selects a LiveRO, the interface displays all* the snapshots associated, the archivedRO, if exists, and the contributions used by that RO (e.g., the LiveRO was derivedFrom a myExp Pack).
- When a user selects a SnapshotRO, the interface displays all* other related snapshots (versions), the LiveRO** from which they are snapshots, and any LiveRO derivedFrom it.
- When a user selects an ArvhivedRO, the interface displays all* the associated snapshots (versions), the LiveRO** from which it is an archived, and any LiveRO derivedFrom it.
* We will limit the number of snapshots to a reasonable number (e.g., a total of 5 which can include previous or after versions).
** a LiveRO can be an external resource, it does not have to live in the RODL.
Additionally when a user selects one of these ROs, the following information will be shown:
- List of changes associated
- Link to previousVersion (tbd)
Initial mockup in RODL portal:
Notes about implementation:
- We should use 3 colors: snapshot / live / archived
- Use different tonalities of the same color for snapshots - the newest the strongest color (Based on Trident's approach)
- Labels (rdfs:label) or identifiers inside the node (e.g., ToBePublishedRO, SubmittedRO,...)
- Use ellipses instead of rectangles
- Thinner arcs
- Labels on arcs when hovered
- Use different node shape for non-ROs (e.g., Packs, dropbox URL,...)
- With the 5-limit for snapshots to be shown, a "See more" button or similar should be also shown.
- Is it possible to use the idea of swimlanes? I.e., Use the three layers (as in the scenario): LiveRO on the top, Snapshots in the middle and Archived at the bottom.
- Check queries.
Try new design:
The SPARQL queries used in the portal can be found in Github:
The visualization has been implemented in the Portal, below you can find sample screenshots.
Some things that have not been done:
- Users can't click on nodes, although they might be sent to the RO page. The node URI might also appear when hovered.
- The evolution box is always on and loads with the page. It should rather be hidden by default and load only when expanded.
- A "see more" button has not been implemented.
- Only snapshot/live/archived relations are shown. Missing are relations of derivation.