
The goal of this showcase is to visualize Research Object evolution history.
h3. Overview
*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|http://www.wf4ever-project.org/wiki/display/docs/RO+evolution] page.
The RO evolution model is represented in the [roevo |http://wf4ever.github.com/ro/roevo.owl]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.
h3. Outcome
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.
h3. Planning
The main issue for this showcase in Jira is Epic [WFE-466|https://jira.man.poznan.pl/jira/browse/WFE-466].
It has two main tasks:
* Design of the interface
* Implementation in RO portal
h4. Design of the interface
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:
!Photo0257.jpg|thumbnail!
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:
* Identifier
* List of changes associated
* Link to previousVersion (tbd)
h4. Implementation
Initial mockup in RODL portal:
!2012-05-10 02.47.01 pm.png|thumbnail!