|
|
Line 28: |
Line 28: |
| ** How to transform VME-DB Reports in iMarine Reports and viceversa. | | ** How to transform VME-DB Reports in iMarine Reports and viceversa. |
| ** How to save VME-DB Reports in iMarine Workspace | | ** How to save VME-DB Reports in iMarine Workspace |
− |
| |
− | ==Notes==
| |
− |
| |
− | *iMarine VME-DB Application will be divided into 3 tiers:
| |
− | ** '''[1] VME-DB''': The Database containing the VME Reports (Relational/Graph Structure)
| |
− | ** '''[2] iMarineReports''': The WebApplication delegated to the creation and editing of VME Reports
| |
− | ** '''[3] Report Storage Gateway (RSG)''': The (mediator) Webservice that will make [1] and [2]interoperable.
| |
− |
| |
− |
| |
− | * The communication between [3] and [2]. will be based on a ReportModel that [2] is able to read and write.
| |
− | ** CNR to provide FAO an API (ReportsModeler) to easily create and read ReportModel instances based on the gCube Reporting Library:
| |
− |
| |
− | <pre>
| |
− | <groupId>org.gcube.portal</groupId>
| |
− | <artifactId>gcube-reporting-library</artifactId>
| |
− | </pre>
| |
− |
| |
− |
| |
− | * A VME Report (even its Fact Sheet Representation) originates from a Query (join) executed against the VME-DB.
| |
− | ** As a result a VME Report contains unique and referenced (shared among other VME Reports) information.
| |
− |
| |
− |
| |
− | === Proposal ===
| |
− | The information, regardless of the domain (VME, FishFinder, NEAFC..), can be classified into two main categories: "Core information resources" and "Shared information resources" (References in the following).
| |
− |
| |
− | The iMarine reporting tool supports already the first category (core) while it will be enriched for covering the second category: the references. The core information can be temporary saved in the iMarine workspace for further editing iterations while the references are directly updated in the "originator" DB through a temporary locking procedure.
| |
− |
| |
− | === From an end-user point of view===
| |
− |
| |
− | * When an end-user opens a VME Report in [2] (Report Instance in the following) he can edit only the Core parts of the report, specifically, the ones belonging to the VME-DB relations named: VME, SpecificMeasure, Profile.
| |
− |
| |
− | * The opened Report Instance contains also the references (Shared information resources) without giving the possibility of editing them (in this stage). The identified references are the VME-DB relations named: GeneralMeasure, InformationSource, History_1, History_2.
| |
− |
| |
− | * It is possible for an end-user to associate and remove References from a Report Instance, e.g. remove or associate more than an InformationSource. The References list (where users can choose from) is populated in "real-time" by [2] trough a specific call to [3].
| |
− |
| |
− | * A Report Instance can be saved in the workspace, an explicit action is required by the end user to export it to the VME-DB.
| |
− |
| |
− | * The editing of References will be performed through a separated WebApp (CNR To Do) called Reference Editor. In the Reference Editor a reference can be edited through the following steps:
| |
− | ** Step1: The list of VME Reports available is shown to the User, the User chooses a VME Report containing the Reference he wants to edit.
| |
− | ** Step2: The list of the all the References "Associated" to the yet chosen VME Report is shown, User chooses the Reference.
| |
− | ** Step3: At this point the User acquires a Lock on this Reference, the user edits and saves, the reference is committed in the VME-DB (still through [3]), the reference is unlocked.
| |
− |
| |
− | * Each Report Instance having References is guaranteed to show the most updated ones since, wether the Report Instance comes directly from [3] or was previously saved in the workspace, [2] always asks [3] these references (that comes directly from [1]). ([3] passes [2] the reference identifier not the reference itself).
| |
− |
| |
− |
| |
− | === From an developer point of view===
| |
− |
| |
− | '''Reports Store Gateway [3] Draft Interface''':
| |
− |
| |
− | <pre>
| |
− | types: {Vme,Refs,InformationSource,GeneralMeasure,History1,History2}
| |
− |
| |
− | Type getTypes();
| |
− |
| |
− | ReportEntry - List<nameValue>
| |
− |
| |
− | List<ReportEntry> listReports(type);
| |
− |
| |
− | ReportModel getReport(type, reportId);
| |
− |
| |
− | publishDelta(List<ReportModel>);
| |
− |
| |
− | publishRef(ReportModel);
| |
− |
| |
− | </pre>
| |
− |
| |
− | A ReportRef has attributes id and type
| |
Location: FAO, Rome.
Discussion: M. Assante, E. Van Ingen
Discussion: M. Assante, A. Ellenbroek, A. Gentile, E. Van Ingen