- First EDIT Developer Meeting - BGBM Berlin September 6-7, 2007
First EDIT Developer Meeting - BGBM Berlin September 6-7, 2007¶
See wiki:DeveloperMeeting2007 for agenda and presentation downloads!
Note: areas requiring further discussion are in italics.
Day 1 - Developer Presentations¶
The first part of the meeting consisted of 10 Minute Developer Presentations (listed below). Any relevant discussion/decisions or suggestions have also been recorded.
Presentations themselves can be found at the bottom of wiki:DeveloperMeeting2007
- Malte Ebach (BGBM) â€“ BDTracker
Please start using the Tracker, we would like to establish this as something that exists well beyond EDITâ€™s 2011 end date.
- Lutz Suhrbier (FUB) - Shibboleth SSO
OpenID or Shibboleth debate must take place soon, in light of the substantial consequences for client developers, service providers.
- use SHARPE to define policies and user metadata
- Andreas Kohlbecker (BGBM) - Experts database & Dataportal for WP6
- managing user data in several places is not manageable. ExpertsDB and SHARPE tool for IdP must work on the same dataset. Modify LDAP in Drupal is a possible way to go.
- Simon Rycroft (NHML) - Community Websites with Scratchpads
Scratchpads represent a bottom-up approach, with the philosophy that to have semi-structured data online now is better than nothing â€“ the hope is to â€œmeet in the middleâ€ with EDITâ€™S top-down approach;
Markus: aren't Scratchpads better suited to community building, EDIT for real taxonomic work?
- Julius Welby (NHML) - Virtual library
ViTaL scheduled to go live month 30
Use CDM community store as metadata repository?
- Marc Geoffroy (BGBM) - Common Data Model in UML
Unfortunately not as easy as hoped to work collaboratively with Enterprise Architect (or more precisely the SQL*Server it runs on top of).
- Andreas MÃ¼ller (BGBM) - Common Data Model java library + sync store
Discussion: Hibernate consequences, how easily can it be hidden? Is CATEâ€™s temporal state solution - "snapshots" of an object at a point in time - the best way to update objects and guarantee their validity?
- Pepe Ciardelli (BGBM) - Taxonomic editor
Good example of Eclipse Rich Client Platform used for a biological application: Bioclipse http://bioclipse.net
- Dave Taylor (RBGK) - Use cases & workflow modeling outcomes
Results of questionnaires on revisionary taxonomy models at http://dev.e-taxonomy.eu/trac/wiki/RevisionaryModels
Gregor: are there areas other than revisionary taxonomy for which the platform will / should be used?
- Dilan Latif (SMNS) - ATBI platform w/ field recorder & site database
Use CDM community store as central observation repository for an ATBI site?
Magda Zymtoska (MIZPAN) - Geo services
Pere Roca (MINCN) - Spatial completeness analysis & Taxonomic data visualisation
Day 2 - Developer Tools¶
The EDIT wiki
All users have permission to edit all sections - go nuts!
Note from Malta: we should try to establish as many collaborative activities as possible by the next development meeting in February, because our lack of integrative work was criticized by the Scientific Advisory Committee
All code should be checked in to http://dev.e-taxonomy.eu/svn
Try to get all source code to date checked in by September 21
Ticket overview at http://dev.e-taxonomy.eu/trac/report
Tickets don't have due dates, but they are associated with milestones, which do
- Trac plugin for Eclipse, comes standard with 3.3
- Tickets associated with source code files in which appropriate changes were made
- Eclipse settings: http://dev.e-taxonomy.eu/trac, "XML-RPC"
Day 2 - Common Data Model¶
EDIT developers' access to the CDM
Unfortunately no access available from outside BGBM-Berlin
Send proposed changes to CDM mailing list (firstname.lastname@example.org)
Latest Enterprise Architect file (*.eap) available at http://dev.e-taxonomy.eu/trac/wiki/CommonDataModel
Platform Independent Model (PIM)
Used to generate model in Java Model using Enterprise Architect's transformation functionality
The source for the CDM view at http://cybertaxonomy.eu/cdm
For taxa, specimens, observations
Still largely empty, copied almost directly from SDD
Linked to Occurrence or Taxon class
Gregor proposed changing name to scientificname
Different subclasses created for different nomenclatural codes, i.e. "!BacterialName", "!ZoologicalName", etc. Initially skeptical of too many class hierarchies / subclasses, but it proved helpful for things like the name subclasses.
Discussion: in class "!NonViralName", is "isAtomised" the best way to express whether a full name has been parsed? Alternative naming suggestions in the attribute notes.
Modelled on the blend of BibTex, EndNote and some custom extensions found in the Berlin Model.
Should we strictly follow BibTex which has a great deal of open source software available, e.g converters to/from mayn different formats incl EndNote & MARC ?
Native speakers agreed reference is more accurate than publication
Discussion: publication year properly belongs in publication not name, even if this requires creating a dummy publication for a nomenclatural reference (similarly, basionyms will require the creation of an incomplete author object for basionym authors)
This package and eu.etaxonomy.cdm.model.specimen should be extended for ATBI
Gregor: change "Region" to "!NamedArea", get rid of "Locality" class and make it a free-text attribute of the Occurrence class
Magda: add "accuracy" and "reference system" (a.k.a. "datum") to main class; the latter is necessary because coordinates can vary from system to system
Markus: how could shape definitions / polygons be stored for regions? Add binary shape file atttribute rather than GML?
Regions also have language implications
validInTime also applies to regions
Pere: distinguish between natural, political, etc. regions. Add NamedAreaType (controlled) and NamedAreaLevel (free)
add acronym to region
Change "Country" to "!WaterbodyOrCountry" and merge waterboy entries into country table
is versioning necessary -> yes
which versioning method to use: -> The Cate approach to use kind of a timestamp versioning for each single object looks promising and will be followed in the close future
the use of versioning capability will be relativly rare although important. So the system should be optimized for operations on current data.
Versionable objects representing the same object in different versions should have the same identifier (but different DB-key), differing only in the 'valid from', 'valid to' attributes
2 implementations are possible for objects relations like TaxonConcept->TaxonName:
n-m relation, resulting in Lists of objects. -> performance problems
1-m relations, pointing to a single object (current/newest version or last stable version). All other object representing the same but versioned entity are connected as (double linked) lists.
Solution 2) was favored for performance reasons. Depending on the application it is to decide if the current or the last stable version is to be used as object to point to
relationship objects like TaxonRelationship or NameRelationship do not have to be versionable. Instead a new object is created as soon as one of the items a relationship object points to gets a new version. This is to reduce complexity and get better performance in standard applications.
CATE will implement a prototype version of the versioning for the taxon part.
Abstract class names in Enterprise Architect are in italics
Logic behind design decisions are written in the notes fields attached to the entity in question â€“ high priority to get these populated!
Discussion: for boolean fields, should there be the possibility of a 3rd state, i.e. NULL? DB implications â€“ how does hibernate handle NULLs?
Common Data Model¶
The first day session focussed on multilingual controlled vocabularies. See wiki:FirstDeveloperMeetingMinutes#Day2-CommonDataModel for outcomes.
The main topic of the discussion were technological aspects of which technologies to use. Some major issues were, which project management and building tool to use (ant, maven), the security framework 'asegi', how to use the framework 'Spring' in a rich-client-platform(RCP) environment, aspect oriented programming and testing with Spring, integration tests with dbUnit, etc.
Also Ben gave a introduction to the structure and to implementational aspects of the CATE project.
Questions of how to make both projects compatible and how to use synergetic effects were also under discussion with the result that the EDIT cdmLibrary could use CATE's technological knowledge gained over the last 2 years whereas CATE could use medium-term the EDIT cdmLibrary with it's broader data model and more general approach.
Semantic differences of the term synonym(list) in zoology and botany and it's impacts to service layer/strategy method implementation have been mentioned.
In a longer discussion detailed aspects of versioning (technology, data model, performance, alternatives) were looked at. See wiki:FirstDeveloperMeetingMinutes#Day2-CommonDataModel for outcomes.
Geoservices + ATBI¶
The centre of discussion was the visualisation geo-services needed for other applications within the platform. The current webapplication demo is great for visualising multiple species to a human which would be exactly what is needed for ATBI sites and their point occurrence data on a limited survey site. But for taxonomic data two other simple map generation services are needed to visualise occurrence data (points) and distribution data (presence/absence) respectively. The services should be machine services, as far as possible simple URLs to be called, that do not need any human interaction. WMS services provide most of this functionality alread, but the data itself must be present as a layer already. We came to the conclusion that an intermediate service would be needed that translates a simple URL call into a proper WMS call, potentially creating a usable layer on the fly, and returning the requested image. See tickets #64, #55, #56, #57, #58, #59 for details.
Tax Editor Requirements¶
The main topic of discussion was how to integrate the use case work done by Dave and his colleague at Kew Soraya Villalba into the design of the Taxonomic Editor user interface. Dave's work for EDIT Deliverable 220.127.116.11 gathered descriptions of the work processes used by revisionary taxonomists throughout the EU to produced integrated use cases. Soraya's use cases (UseCasePalmMonography) (also detailed in proposals for Palm Web sent a few months ago to Eckhard) - detail the initial publication of a monograph and the attendant peer review process.
To date, Pepe's work on the UI design has been based largely on duplicating the functionality (EditorRequirements) of the Berlin Model Web Editor, which was built mainly to edit imported checklists; the work done by Kew will help extend the new Editor's functionality to a wider range of users. Known bottlenecks in the Web Editor - such as frequently used functions requiring a maddening number of clicks - will be relevant during UI design. In addition, the group of taxonomists working at BGBM-Berlin has a range of technical sophistication, and the UI development team in Berlin hopes to enlist as many of them as possible for usability tests and the like. Dave will likely join Pepe in the actual coding of the UI.
Dave and Pepe will be at the TDWG conference in Bratislava next week, and will continue the discussion there.
- Lutz Suhrbier
- Simon Rycroft
- Julius Welby
The breakout group discussed on how the development and integration of Community Web Tools (mainly based on Drupal) can be improved and facilitated.
As an outcome to this, a page on Drupal modules has been introduced into the developer Wiki by which experiences and EDIT specific modules are to be shared. This page will initially cover all modules used by bdTracker, by the EDIT WP5 Wiki and by the Scratchpads. By this we ensure a better harmonization between development made at the BGBM and at the NHM.
There has been furthermore a intense discussion on finding the best way to incorporate data exchange between the modules which are used in the Scratchpads and the CDM (Common Data Model) Store.
Another conversation was on Sibboleth, which has been chosen as authentication framework for the EDIT platform for cyber taxonomy.
Once the Shibboleth module for Drupal is finished, it will be installed into the Scratchpads to also allow federated login into this CommunityWebtools Compilation.