Difference between revisions of "Development Report"

From eScience Wiki
Jump to: navigation, search
(Added current progress (May 2016))
(Current Work (in progress))
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
= Source Code =
 +
See the complete source code of the project on [https://github.com/MorphDBase/MDB-prototype GitHub].
 +
 
= Current Work (in progress) =
 
= Current Work (in progress) =
  
Line 6: Line 9:
 
!Results
 
!Results
 
|-
 
|-
|2015-03-11
+
|2018-11-20
|Excel file with field info
+
|Presenting at https://events.tib.eu/dils2018/programme/lecture/poster-and-demos/ Data Integration in the Life Sciences (DILS2018)]
|
+
|1 demo, details see [[Publications | publications]]
 
|-
 
|-
|2015-03-17
+
|2018-09-19
|analyze questionnaire of workshop I
+
|Presenting at [https://www.hennig2018bcn.org/program/ XXXVII Annual Meeting of the Willi Hennig Society 2018]
|internal document created
+
|1 talk, details see [[Publications | publications]]
 
|-
 
|-
|2015-03-17
+
|2018-09-12
|Initial disk-space demand of TDS
+
|Presenting at [http://www.dzg-ev.de/de/jahrestagung/2018_greifswald_111/dzg2018_program_finall.pdf Annual Meeting of the German Zoological Society (DZG)]
|Sesame: 4.6 MB; Jena: 200MB -> Jena: 3.1 MB
+
|1 talk
 
|-
 
|-
|2015-03-17
+
|2018-08-28
|Evaluate Hybridsystem for messaging, User-administration  + Semantics
+
|Presenting at [http://spnhc-tdwg2018.nz/conference/conference-program/ TDWG 2018]
|NodeJS!
+
|1 talk and 1 demo, details see [[Publications | publications]]
 
|-
 
|-
|2015-03-18
+
|2018-08-21
|familiarize with Model View Controller (MVC) concept
+
|Integrated automated text annotator
|Agreed on MVC as development as software architectural pattern
+
|Text of entry description can be automatically annotated using information from [http://bioportal.bioontology.org/ Bioportal]
 
|-
 
|-
|2015-03-20
+
|2018-06-29
|E-Mail to workshop participants: results and feedback
+
|Completed entry life-cycle with automatic change-history & provenance tracking
|email send
+
|Entries can be published, deleted, new versions can be created, etc.
 
|-
 
|-
|2015-03-20
+
|2018-04-26
|Wiki-access
+
|Second public beta version
|granted
+
|Beta 0.2 is available on [https://github.com/MorphDBase/MDB-prototype GitHub]
 
|-
 
|-
|2015-03-24
+
|2018-03-07
|Description of VUE-Actions for first workflow - from 'new' to 'published'
+
|Reaching milestone "implement entry life cycle"
|All actions for the first workflow from creating a new entry to publishing this entry
+
|Entries can be published, revised and deleted (more transitions will follow), see [https://proto.morphdbase.de/ prototype]
 
|-
 
|-
|2015-03-24
+
|2017-11-06
|Install Node.js/Angular (Server, Git)
+
|3rd MDB Workshop at Museum für Naturkunde, Berlin
|installed -> dev.morphdbase.de
+
|see [[3rd_Workshop | 3rd Workshop]] for details
 
|-
 
|-
|2015-03-20
+
|2017-10-01
|Evaluate whether we can use ComponentJS? (http://componentjs.com/)
+
|Presenting at [https://tdwg.github.io/conferences/2017/program/ TDWG 2017]
|Provides nothing, AngularJS can not provide. Not needed.
+
|2 talks and 1 demo, details see [[Publications | publications]]
 
|-
 
|-
|2015-03-25
+
|2017-08-01
|eliminate named graph 'authorship and intellectual property rights' from all workflow descriptions and distribute the authorship content to the 'versions and provenance' and the intellectual property rights content to the 'header' named graph
+
|Presenting at [http://systematikforeningen.se/verksamhet/biosyst-eu-2017/ BioSyst.EU 2017]
|done
+
|2 talks, details see [[Publications | publications]]
 
|-
 
|-
|2015-03-31
+
|2017-07-03
|create development [[Roadmap | roadmap]]
+
|Refinement of description entry
|presented to working group
+
|description entry mockup ready to be tested
 
|-
 
|-
|2015-04-02
+
|2017-06-20
|Add a timer for a Websocket SPARQL query
+
|Clean up user interface
|done
+
|removed debug code, added help texts and self explanatory demo
 +
|-
 +
|2017-06-05
 +
|Refactored entry creation (description and species) finished
 +
|Species and description entries can be created again. In sync with ontology data schema.
 
|-
 
|-
|2015-04-04
+
|2017-05-29
|Summarize and translate questionnaire
+
|first functional version of description entry
|done
+
|internal user tests
 
|-
 
|-
|2015-04-07
+
|2017-05-04
|Run the Java Websocket on the server (jetty)
+
|Start Working on description entry
|up and running
+
|Goal: Create a functional mockup including text- and image annotation
 
|-
 
|-
|2015-04-10
+
|2017-04-24
|Create a Webinterface to add triple to the TDB
+
|Implemented function "required" to handle mandatory inputs correctly
|done
+
|Correct input validation
 
|-
 
|-
|2015-04-14
+
|2017-04-07
|description of all status transition workflow actions for the revision cycle
+
|Adapted User Entry to current data schema
|All MDB workflow actions are described in the ontology as well as in vue files (including all status transition workflow actions).
+
|User profil "My MDB" functional with updated layout
 +
|-
 +
|2017-03-20
 +
|Updated application to current AngularJS version (1.6.3)
 +
|Security fixes and new functions
 
|-
 
|-
|2015-04-14
+
|2017-03-17
|Modify the web interface to switch between add/delete triple to/from the TDB
+
|Refactoring creation of mdb entry
|done
+
|significantly reducing creation time
 
|-
 
|-
|2015-04-14
+
|2017-02-25
|Digg into Java Unit Tests, present results to Roman
+
|Refactoring major parts of Angular code
|set up test suite, created first unit tests
+
|significant code reduction while being more flexible
 
|-
 
|-
|2015-04-15
+
|2017-01-25
|modify nodejs/angular code to work with express 4.* and html
+
|2nd MDB Workshop held at ZFMK, Bonn
|done
+
|see [[2nd_Workshop|workshop results ]]
 
|-
 
|-
|2015-04-17
+
|2017-01-12
|(Build and) use an URI validator to check if input objects are correct
+
|Automated text annotation tool using external ontologies
|done
+
|Annotation tool online
 +
|-
 +
|2016-12-10
 +
|Image Annotation tool
 +
|Proof of concept online
 
|-
 
|-
|2015-04-20
+
|2016-10-01
|Concept for bulk editing grid: change all => batch or single approval
+
|'''Beginning of the main implementation phase'''
|concept developed - should be approved by use cases
+
|'''Note: within this phase we only document major development steps in this report'''
 
|-
 
|-
|2015-05-04
+
|2016-09-14
|Reorganization of the directories for named graphs and the workspaces
+
|Evaluated solutions for serving high resolution images, marking regions of interest in images and annotation of texts
|done
+
|created three proofs of concept
 
|-
 
|-
|2015-04-20
+
|2016-09-07
|Give introduction in IntelliJ and [http://testng.org TestNG] Unit testing to project team
+
|Save the date: 2nd workshop announced
|Agreed on "best practices" for development
+
|wait for feedback of use case partners
 
|-
 
|-
|2015-04-24
+
|2016-08-28
|Create tests for already existing classes
+
|Middleware: reached milestone ''creation of user entry''
|done
+
|see prototype
 
|-
 
|-
|2015-04-30
+
|2016-08-11
|Evaluated [https://w3c.github.io/data-shapes/shacl/ SHACL]
+
|Prototype: implemented layout derived from design ''mdb entry'' in html/css, displaying user entry data stored in ontology
|High potential. Early stage of development. Wait until 2nd public draft.
+
|see prototype
 
|-
 
|-
|2015-04-30
+
|2016-07-28
|Restructured Wiki pages
+
|ui design: finalized ui design for ''mdb entry''
|Important pages now easyer to find
+
|see prototype
 
|-
 
|-
|2015-05-12
+
|2016-07-01
|Can someone delete MDB Core ID's?
+
|Prototype: Creation of user entry in web frontend, login-/logout functions. Middleware: handling of login and session data. Ontology: refining definitions for ''mdb core entry'' and ''mdb user entry''
|Decision: delete or 'hide' the Core ID?-> hide the Core ID to have complete history
+
|ongoing process
 
|-
 
|-
|2015-05-01
+
|2016-06-01
|Programm classes to generate URIs and save them in the TDB
+
|Begin code coding phase: implementing ontology driven control of java middle ware and ui generation
 +
|ongoing process
 +
|-
 +
|2016-05-25
 +
|send register request to ontology via websocket (middleware)
 
|done
 
|done
 
|-
 
|-
|2015-05-19
+
|2016-05-19
|Evaluate and discuss data for shrew onlology with use case 1
+
|enable encryption for websocket and application
|Questions on how to handle data series-> |Schedule Skype meeting with I. to discuss open questions
+
|got ssl certificate, launched https version of application
 
|-
 
|-
|2015-06-03
+
|2016-05-16
|Add GUI actions to Ontology?
+
|middleware: implementing functions described in application ontology (work in progress)
|In principal ontologies can be used to manage workflow actions. Created internal paper summarizing our discussion.
+
|implemented 'execution step: MDB hyperlink', 'transition ''MDB User_Entry Status Transition: Create User Account'' ', 'execution step: copy and save triple statement(s)', 'switch to page"/"switch to entry" for an arbitrary specific destination page'. Created new classes to extract all object properties and annotation properties from the ontology and save save in a temporary named graph in the cache for later calculation.
 
|-
 
|-
|2015-05-10
+
|2016-05-03
|Problem: reconnecting websocket in AngularJS
+
|login/signup via directive mdbForm
|solved
+
|done
 
|-
 
|-
|2015-06-10
+
|2016-05-02
|integrate websocket into angularjs service and display websocket JSON message as html table
+
|Save the generated triples in the jena tdb
 +
|generated triples (e.g. user creation) are actually stored in triple store!
 +
|-
 +
|2016-04-19
 +
|changed and added some methods to push and/or pull named graphs from a workspace directory
 
|done
 
|done
 
|-
 
|-
|2015-06-10
+
|2016-04-18
|create wireframes for the interface of the mandatory components of all MDB entry types
+
|started series of interviews with project partners to get feedback about current gui prototype
|set of wireframe views including user-rights, authors, crosslinks, versioning and transistions, metadata, statistics
+
|obtained feedback from two working groups
 
|-
 
|-
|2015-06-17
+
|2016-03-21
|expand the designated functionality of the bulk editing grid so it can be used as a complex faceted search filter
+
|Create online demo for prototype of description module
 +
|Online demo on https://invis.io/ (access upon request)
 +
|-
 +
|2016-03-14
 +
|implement customizing theme to special needs (e.g. color blindness)
 +
|created  LESS example
 +
|-
 +
|2016-03-04
 +
|implemment theming for application: prepare application layout to be customized by users in the future
 +
|created "theming" LESS file for easy adaptation of the general layout
 +
|-
 +
|2015-03-03
 +
|Developer workshop in Bonn: presentations and discussion of development topics
 +
|topics: layout, java middleware, frontend implementation, backend features. Discussion on strategies to efficiently describe function and gui of application in respect of future maintainability.
 +
|-
 +
|2016-02-10
 +
|Implement code to provide a json structure to built formulara via a websocket from the ontoligies in the jena tdb
 
|done
 
|done
 
|-
 
|-
|2015-07-01
+
|2016-02-05
|create wireframes for the specimen entry, user/usergroup entries and media entry
+
|save the corresponding class URI of a Keyword resource in the mongoDB as an JSONObject
 
|done
 
|done
 
|-
 
|-
|2015-06-19
+
|2016-02-24
|modify angularjs controller (global functions => app controller)  
+
|dynamic websocket login & register & validity
 +
|form validatin via websocket
 +
|-
 +
|2016-02-01
 +
|generate login panel dynamically from websocket message
 +
|form generated from JSON (websocket message)
 +
|-
 +
|2016-01-29
 +
|Benchmark Dynamic HTML-Layers with 10.000 DOM-Objects. Current Browser on regular pc hardware must be able to react to changes within 500ms or better.
 +
|No performance issues detected
 +
|-
 +
|2016-01-29
 +
|modify the code to save the identified resources of the "log in"-panel for a session id in the mongo db
 +
|Now different JSON arrays can stored in the same "session id" - collection in one document
 +
|-
 +
|2016-01-29
 +
|create a default case which lists potential properties for processing for which no code exist yet
 
|done
 
|done
 
|-
 
|-
|2015-06-23
+
|2016-01-27
|jquery.dataTables & angularjs? angular-datatables?
+
|provide "log in"-panel data for websocket and generalize the startpoint of the calculation for the "sign up"-panel
|works with js & angularjs
+
|changed the startpoint of the calculation. done
 
|-
 
|-
|2015-07-06
+
|2016-01-25
|Unit tests for Angularjs, provide test environment
+
|localize the bottleneck and modify the part, speed up the code for creating JSON for the Sign Up Panel
|install karma/jasmine
+
|change some SPARQL queries
 
|-
 
|-
|2015-06-06
+
|2016-01-20
|Read programm instruction from a knowledge base
+
|new websocket service on angular layers
 +
|serves websocket messages to frontend
 +
|-
 +
|2016-01-20
 +
|Save some local names of Individuals in the MongoDB (keywords)
 +
|the local name of a keyword individual stands in the sessionid document of the mongodb
 +
|-
 +
|2016-01-14
 +
|Write comments and refactore code
 
|done
 
|done
 
|-
 
|-
|2015-06-10
+
|2016-01-14
|create wireframes for the interface of the mandatory components of all MDB entry types
+
|generate panels dynamically
|updatend user-rights, authors, crosslinks, versioning and transistions, metadata, statistics
+
|proofe of concept for login and register panel
 
|-
 
|-
|2015-06-17
+
|2016-01-14
|expand the designated functionality of the bulk editing grid so it can be used as a complex faceted search filter
+
|create basic layout for the morphological-description-module
 
|done
 
|done
 
|-
 
|-
|2015-07-15
+
|2016-01-14
|copy all Dataproperties in one named model & save it in a tdb
+
|websocket runs on nodejs layer
|create a sparql-query & use it in the program
+
|done
 
|-
 
|-
|2015-07-17
+
|2016-01-06
|create a class to find if an input resource is a class or not
+
|generate login panel dynamically from ontology with regard to the image-annotation-module
 
|done
 
|done
 
|-
 
|-
|2015-07-06
+
|2016-01-07
|Unit tests for Angularjs
+
|create wireframes for the media entry
|unit tests written
+
|done
 
|-
 
|-
|2015-07-20
+
|2015-12-09
|familiarize with angular-material, bootstrap
+
|change login dropdown to angular-bootstrap
 
|done
 
|done
 
|-
 
|-
|2015-08-19
+
|2015-12-09
|organize internal dev. workshop
+
|show google map in sidebar
|workshop with all developers held in Bonn
+
|shows marker if coordinates are valid
 
|-
 
|-
|2015-08-19
+
|2015-12-02
|evaluate one directory vs. multiple directories
+
|change sidebar, insert planned panels
|the application with only one directory is three times faster (180-210 ms vs. 600 ms)
+
|generate tab panels on base of JSON and angular-bootstrap
 
|-
 
|-
|2015-08-04
+
|2015-12-02
|bootstrap layout for dev-website
+
|add "Sampling Location" panel, longitude & latitude
 +
|input fields with pattern restriction
 +
|-
 +
|2015-12-02
 +
|enable all panels, if specimen is "created"
 
|done
 
|done
 
|-
 
|-
|2015-08-05
+
|2015-11-25
|create wireframes for the specimen entry, user and usergroup entries
+
|Angularjs Specimen Service
 +
|deliver panel info and specimen entry
 
|-
 
|-
|2015-08-11
+
|2015-11-25
|integrate google maps to dev-website
+
|Enable "Create"-Button
|map is displayed with markers
+
|all input fields are valid
 
|-
 
|-
|2015-08-11
+
|2015-11-25
|integrate dragular to dev-website
+
|Generate SpecimenID
 
|done
 
|done
 
|-
 
|-
|2015-08-18
+
|2015-11-18
|Angular Webinar: Online seminar
+
|show glyphicon to follow link to resource
|three developers attended
+
|image appears
 
|-
 
|-
|2015-08-19
+
|2015-11-18
|evaluate AngularJS 2.0
+
|auto-Complete for determination data
|Not yet, not mature
+
|auto complete works and adds resource
 
|-
 
|-
|2015-08-27
+
|2015-12-01
|provide git repository for mdb prototype
+
|Implement some classes and methods to interpret the resource MDB_Datascheme_0000000667 and their related Resources
|all project members can use it
+
|Websocket provide JSON for building a Sign Up Panel
 
|-
 
|-
|2015-08-31
+
|2015-11-17
|clean up the prototype files
+
|Build a class to handle an incoming session ID and save this ID in the mongoDB
|done
+
|Create Document + Collection in mongoDB
 
|-
 
|-
|2015-08-31
+
|2015-11-17
|one directory vs. multiple directories
+
|Create a MongoDB memory structure
|One directory for each dataspace (core, publish and edit)
+
|Save Session IDs in the Mongo DB
 
|-
 
|-
|2015-08-31
+
|2015-11-10
|Provide responsive HTML as base for functional prototype
+
|Modified a class to update the ontologies in the jena tdb after pull from Lars project
|Based on layout wireframes, a responsive HTML layout was created and tested in browser
+
|Update jena tdb with this script
 
|-
 
|-
|2015-08-31
+
|2015-11-05
|substitute the own written SPARQL Query code with the JenaQuery Builder
+
|familiarize with Java mongoDB Api
 
|done
 
|done
 
|-
 
|-
|2015-09-09
+
|2015-11-05
|Specimen parts, e.g. a tissue has been extracted from the origina: Problem: the source specimen stays not the same- Do we have do create two new entries and flag the source specimen as immutable. Todo when first specimen is editable
+
|Write interim report, coordinate reports from project partners
|ongoing discussion
+
|Get feedback from use cases
 
|-
 
|-
|2015-09-15
+
|2015-11-05
|Create HTML-Code for panels: Should look (very) similar to current mock-ups
+
|Fill in data (determination) to "create MDB entry" modal.
|Responsive HTML page with example panels based on current layout
+
|done
 
|-
 
|-
|2015-09-27
+
|2015-11-04
|Fix issue with special characters
+
|Write code for overlays (modals)
|Encoding fixed
+
|wrote HTML/Less code, integrated sample "create MDB entry" to prototype
 +
|-
 +
|2015-11-04
 +
|Create List of ITIS taxon names and URIs as a temporary source for field "determintation"
 +
|Created list of 700.000 taxon entries from ITIS DB
 +
|-
 +
|2015-10-21
 +
|Prototype: show notifications on login/logout/register
 +
|created notification service
 +
|-
 +
|2015-10-30
 +
|Set up user authentication using the MEAN stack
 +
|done
 
|-
 
|-
 
|2015-10-28
 
|2015-10-28
|Discuss "Lables and Determination" with scientists
+
|Describe a JSON-Structure to communicate over the websocket that a new MDB User must be generated
|got detailed information on taxon revisions, synonyms, etc.
+
|JSON data structure for prototype
 
|-
 
|-
 
|2015-10-28
 
|2015-10-28
|Implement Bootstrap Layout into [http://dev.morphdbase.de prototype]
+
|Build a class to communicate with a mongodb from java
|Prototype has responsive layout based on current designs
+
|done
 
|-
 
|-
 
|2015-10-28
 
|2015-10-28
Line 266: Line 346:
 
|-
 
|-
 
|2015-10-28
 
|2015-10-28
|Build a class to communicate with a mongodb from java
+
|Implement Bootstrap Layout into [http://dev.morphdbase.de prototype]
|done
+
|Prototype has responsive layout based on current designs
 
|-
 
|-
 
|2015-10-28
 
|2015-10-28
|Describe a JSON-Structure to communicate over the websocket that a new MDB User must be generated
+
|Discuss "Lables and Determination" with scientists
|JSON data structure for prototype
+
|got detailed information on taxon revisions, synonyms, etc.
 
|-
 
|-
|2015-10-30
+
|2015-09-27
|Set up user authentication using the MEAN stack
+
|Fix issue with special characters
 +
|Encoding fixed
 +
|-
 +
|2015-09-15
 +
|Create HTML-Code for panels: Should look (very) similar to current mock-ups
 +
|Responsive HTML page with example panels based on current layout
 +
|-
 +
|2015-09-09
 +
|Specimen parts, e.g. a tissue has been extracted from the origina: Problem: the source specimen stays not the same- Do we have do create two new entries and flag the source specimen as immutable. Todo when first specimen is editable
 +
|ongoing discussion
 +
|-
 +
|2015-08-31
 +
|substitute the own written SPARQL Query code with the JenaQuery Builder
 
|done
 
|done
 
|-
 
|-
|2015-10-21
+
|2015-08-31
|Prototype: show notifications on login/logout/register
+
|Provide responsive HTML as base for functional prototype
|created notification service
+
|Based on layout wireframes, a responsive HTML layout was created and tested in browser
 
|-
 
|-
|2015-11-04
+
|2015-08-31
|Create List of ITIS taxon names and URIs as a temporary source for field "determintation"
+
|one directory vs. multiple directories
|Created list of 700.000 taxon entries from ITIS DB
+
|One directory for each dataspace (core, publish and edit)
 
|-
 
|-
|2015-11-04
+
|2015-08-31
|Write code for overlays (modals)
+
|clean up the prototype files
|wrote HTML/Less code, integrated sample "create MDB entry" to prototype
+
|done
 
|-
 
|-
|2015-11-05
+
|2015-08-27
|Fill in data (determination) to "create MDB entry" modal.
+
|provide git repository for mdb prototype
 +
|all project members can use it
 +
|-
 +
|2015-08-19
 +
|evaluate AngularJS 2.0
 +
|Not yet, not mature
 +
|-
 +
|2015-08-18
 +
|Angular Webinar: Online seminar
 +
|three developers attended
 +
|-
 +
|2015-08-11
 +
|integrate dragular to dev-website
 
|done
 
|done
 
|-
 
|-
|2015-11-05
+
|2015-08-11
|Write interim report, coordinate reports from project partners
+
|integrate google maps to dev-website
|Get feedback from use cases
+
|map is displayed with markers
 
|-
 
|-
|2015-11-05
+
|2015-08-05
|familiarize with Java mongoDB Api
+
|create wireframes for the specimen entry, user and usergroup entries
 
|done
 
|done
 
|-
 
|-
|2015-11-10
+
|2015-08-04
|Modified a class to update the ontologies in the jena tdb after pull from Lars project
+
|bootstrap layout for dev-website
|Update jena tdb with this script
+
|done
 
|-
 
|-
|2015-11-17
+
|2015-08-19
|Create a MongoDB memory structure
+
|evaluate one directory vs. multiple directories
|Save Session IDs in the Mongo DB
+
|the application with only one directory is three times faster (180-210 ms vs. 600 ms)
 
|-
 
|-
|2015-11-17
+
|2015-08-19
|Build a class to handle an incoming session ID and save this ID in the mongoDB
+
|organize internal dev. workshop
|Create Document + Collection in mongoDB
+
|workshop with all developers held in Bonn
 
|-
 
|-
|2015-12-01
+
|2015-07-20
|Implement some classes and methods to interpret the resource MDB_Datascheme_0000000667 and their related Resources
+
|familiarize with angular-material, bootstrap
|Websocket provide JSON for building a Sign Up Panel
+
|done
 
|-
 
|-
|2016-01-14
+
|2015-07-06
|Write comments and refactore code
+
|Unit tests for Angularjs
 +
|unit tests written
 +
|-
 +
|2015-07-17
 +
|create a class to find if an input resource is a class or not
 
|done
 
|done
 
|-
 
|-
|2016-01-20
+
|2015-07-15
|Save some local names of Individuals in the MongoDB (keywords)
+
|copy all Dataproperties in one named model & save it in a tdb
|the local name of a keyword individual stands in the sessionid document of the mongodb
+
|create a sparql-query & use it in the program
 
|-
 
|-
|2015-11-18
+
|2015-06-17
|auto-Complete for determination data
+
|expand the designated functionality of the bulk editing grid so it can be used as a complex faceted search filter
|auto complete works and adds resource
+
|done
 
|-
 
|-
|2015-11-18
+
|2015-06-10
|show glyphicon to follow link to resource
+
|create wireframes for the interface of the mandatory components of all MDB entry types
|image appears
+
|updatend user-rights, authors, crosslinks, versioning and transistions, metadata, statistics
 
|-
 
|-
|2015-11-25
+
|2015-06-06
|Generate SpecimenID
+
|Read programm instruction from a knowledge base
 
|done
 
|done
 
|-
 
|-
|2015-11-25
+
|2015-07-06
|Enable "Create"-Button
+
|Unit tests for Angularjs, provide test environment
|all input fields are valid
+
|install karma/jasmine
 
|-
 
|-
|2015-11-25
+
|2015-06-23
|Angularjs Specimen Service
+
|jquery.dataTables & angularjs? angular-datatables?
|deliver panel info and specimen entry
+
|works with js & angularjs
 
|-
 
|-
|2015-12-02
+
|2015-06-19
|enable all panels, if specimen is "created"
+
|modify angularjs controller (global functions => app controller)
 
|done
 
|done
 
|-
 
|-
|2015-12-02
+
|2015-07-01
|add "Sampling Location" panel, longitude & latitude
+
|create wireframes for the specimen entry, user/usergroup entries and media entry
|input fields with pattern restriction
+
|done
 
|-
 
|-
|2015-12-02
+
|2015-06-17
|change sidebar, insert planned panels
+
|expand the designated functionality of the bulk editing grid so it can be used as a complex faceted search filter
|generate tab panels on base of JSON and angular-bootstrap
+
|done
 
|-
 
|-
|2015-12-09
+
|2015-06-10
|show google map in sidebar
+
|create wireframes for the interface of the mandatory components of all MDB entry types
|shows marker if coordinates are valid
+
|set of wireframe views including user-rights, authors, crosslinks, versioning and transistions, metadata, statistics
 
|-
 
|-
|2015-12-09
+
|2015-06-10
|change login dropdown to angular-bootstrap
+
|integrate websocket into angularjs service and display websocket JSON message as html table
 
|done
 
|done
 
|-
 
|-
|2016-01-07
+
|2015-05-10
|create wireframes for the media entry
+
|Problem: reconnecting websocket in AngularJS
|done
+
|solved
 
|-
 
|-
|2016-01-06
+
|2015-06-03
|generate login panel dynamically from ontology with regard to the image-annotation-module
+
|Add GUI actions to Ontology?
 +
|In principal ontologies can be used to manage workflow actions. Created internal paper summarizing our discussion.
 +
|-
 +
|2015-05-19
 +
|Evaluate and discuss data for shrew onlology with use case 1
 +
|Questions on how to handle data series-> |Schedule Skype meeting with I. to discuss open questions
 +
|-
 +
|2015-05-01
 +
|Programm classes to generate URIs and save them in the TDB
 
|done
 
|done
 
|-
 
|-
|2016-01-14
+
|2015-05-12
|websocket runs on nodejs layer
+
|Can someone delete MDB Core ID's?
 +
|Decision: delete or 'hide' the Core ID?-> hide the Core ID to have complete history
 +
|-
 +
|2015-04-30
 +
|Restructured Wiki pages
 +
|Important pages now easyer to find
 +
|-
 +
|2015-04-30
 +
|Evaluated [https://w3c.github.io/data-shapes/shacl/ SHACL]
 +
|High potential. Early stage of development. Wait until 2nd public draft.
 +
|-
 +
|2015-04-24
 +
|Create tests for already existing classes
 
|done
 
|done
 
|-
 
|-
|2016-01-14
+
|2015-04-20
|create basic layout for the morphological-description-module
+
|Give introduction in IntelliJ and [http://testng.org TestNG] Unit testing to project team
 +
|Agreed on "best practices" for development
 +
|-
 +
|2015-05-04
 +
|Reorganization of the directories for named graphs and the workspaces
 
|done
 
|done
 
|-
 
|-
|2016-01-14
+
|2015-04-20
|generate panels dynamically
+
|Concept for bulk editing grid: change all => batch or single approval
|proofe of concept for login and register panel
+
|concept developed - should be approved by use cases
 
|-
 
|-
|2016-01-20
+
|2015-04-17
|new websocket service on angular layers
+
|(Build and) use an URI validator to check if input objects are correct
|serves websocket messages to frontend
+
|done
 
|-
 
|-
|2016-01-25
+
|2015-04-15
|localize the bottleneck and modify the part, speed up the code for creating JSON for the Sign Up Panel
+
|modify nodejs/angular code to work with express 4.* and html
|change some SPARQL queries
+
|done
 
|-
 
|-
|2016-01-27
+
|2015-04-14
|provide "log in"-panel data for websocket and generalize the startpoint of the calculation for the "sign up"-panel
+
|Digg into Java Unit Tests, present results to Roman
|changed the startpoint of the calculation. done
+
|set up test suite, created first unit tests
 
|-
 
|-
|2016-01-29
+
|2015-04-14
|create a default case which lists potential properties for processing for which no code exist yet
+
|Modify the web interface to switch between add/delete triple to/from the TDB
 
|done
 
|done
 
|-
 
|-
|2016-01-29
+
|2015-04-14
|modify the code to save the identified resources of the "log in"-panel for a session id in the mongo db
+
|description of all status transition workflow actions for the revision cycle
|Now different JSON arrays can stored in the same "session id" - collection in one document
+
|All MDB workflow actions are described in the ontology as well as in vue files (including all status transition workflow actions).
 
|-
 
|-
|2016-01-29
+
|2015-04-10
|Benchmark Dynamic HTML-Layers with 10.000 DOM-Objects. Current Browser on regular pc hardware must be able to react to changes within 500ms or better.
+
|Create a Webinterface to add triple to the TDB
|No performance issues detected
+
|done
 
|-
 
|-
|2016-02-01
+
|2015-04-07
|generate login panel dynamically from websocket message
+
|Run the Java Websocket on the server (jetty)
|form generated from JSON (websocket message)
+
|up and running
 
|-
 
|-
|2016-02-24
+
|2015-04-04
|dynamic websocket login & register & validity
+
|Summarize and translate questionnaire
|form validatin via websocket
+
|done
 
|-
 
|-
|2016-02-05
+
|2015-04-02
|save the corresponding class URI of a Keyword resource in the mongoDB as an JSONObject
+
|Add a timer for a Websocket SPARQL query
 
|done
 
|done
 
|-
 
|-
|2016-02-10
+
|2015-03-31
|Implement code to provide a json structure to built formulara via a websocket from the ontoligies in the jena tdb
+
|create development [[Roadmap | roadmap]]
 +
|presented to working group
 +
|-
 +
|2015-03-25
 +
|eliminate named graph 'authorship and intellectual property rights' from all workflow descriptions and distribute the authorship content to the 'versions and provenance' and the intellectual property rights content to the 'header' named graph
 
|done
 
|done
 
|-
 
|-
|2015-03-03
+
|2015-03-20
|Developer workshop in Bonn: presentations and discussion of development topics
+
|Evaluate whether we can use ComponentJS? (http://componentjs.com/)
|topics: layout, java middleware, frontend implementation, backend features. Discussion on strategies to efficiently describe function and gui of application in respect of future maintainability.
+
|Provides nothing, AngularJS can not provide. Not needed.
 
|-
 
|-
|2016-03-04
+
|2015-03-24
|implemment theming for application: prepare application layout to be customized by users in the future
+
|Install Node.js/Angular (Server, Git)
|created "theming" LESS file for easy adaptation of the general layout
+
|installed -> dev.morphdbase.de
 
|-
 
|-
|2016-03-14
+
|2015-03-24
|implement customizing theme to special needs (e.g. color blindness)
+
|Description of VUE-Actions for first workflow - from 'new' to 'published'
|created  LESS example
+
|All actions for the first workflow from creating a new entry to publishing this entry
 
|-
 
|-
|2016-03-21
+
|2015-03-20
|Create online demo for prototype of description module
+
|Wiki-access
|Online demo on https://invis.io/ (access upon request)
+
|granted
 
|-
 
|-
|2016-04-18
+
|2015-03-20
|started series of interviews with project partners to get feedback about current gui prototype
+
|E-Mail to workshop participants: results and feedback
|obtained feedback from two working groups
+
|email send
 
|-
 
|-
|2016-04-19
+
|2015-03-18
|changed and added some methods to push and/or pull named graphs from a workspace directory
+
|familiarize with Model View Controller (MVC) concept
|done
+
|Agreed on MVC as development as software architectural pattern
 
|-
 
|-
|2016-05-02
+
|2015-03-17
|Save the generated triples in the jena tdb
+
|Evaluate Hybridsystem for messaging, User-administration  + Semantics
|generated triples (e.g. user creation) are actually stored in triple store!
+
|NodeJS!
 
|-
 
|-
|2016-05-03
+
|2015-03-17
|login/signup via directive mdbForm
+
|Initial disk-space demand of TDS
|done
+
|Sesame: 4.6 MB; Jena: 200MB -> Jena: 3.1 MB
 
|-
 
|-
|2016-05-16
+
|2015-03-17
|middleware: implementing functions described in application ontology (work in progress)
+
|analyze questionnaire of workshop I
|implemented 'execution step: MDB hyperlink', 'transition "MDB User_Entry Status Transition: Create User Account"', 'execution step: copy and save triple statement(s)', 'switch to page"/"switch to entry" for an arbitrary specific destination page'. Created new classes to extract all object properties and annotation properties from the ontology and save save in a temporary named graph in the cache for later calculation.
+
|internal document created
 
|-
 
|-
|2016-05-19
+
|2015-03-11
|enable encryption for websocket and application
+
|Excel file with field info
|got ssl certificate, launched https version of application
+
|
 
|-
 
|-
|2016-05-25
+
 
|send register request to ontology via websocket (middleware)
+
|done
+
 
|}
 
|}

Latest revision as of 16:46, 26 November 2018

Source Code

See the complete source code of the project on GitHub.

Current Work (in progress)

Date Statement/Action/Decision Results
2018-11-20 Presenting at https://events.tib.eu/dils2018/programme/lecture/poster-and-demos/ Data Integration in the Life Sciences (DILS2018)] 1 demo, details see publications
2018-09-19 Presenting at XXXVII Annual Meeting of the Willi Hennig Society 2018 1 talk, details see publications
2018-09-12 Presenting at Annual Meeting of the German Zoological Society (DZG) 1 talk
2018-08-28 Presenting at TDWG 2018 1 talk and 1 demo, details see publications
2018-08-21 Integrated automated text annotator Text of entry description can be automatically annotated using information from Bioportal
2018-06-29 Completed entry life-cycle with automatic change-history & provenance tracking Entries can be published, deleted, new versions can be created, etc.
2018-04-26 Second public beta version Beta 0.2 is available on GitHub
2018-03-07 Reaching milestone "implement entry life cycle" Entries can be published, revised and deleted (more transitions will follow), see prototype
2017-11-06 3rd MDB Workshop at Museum für Naturkunde, Berlin see 3rd Workshop for details
2017-10-01 Presenting at TDWG 2017 2 talks and 1 demo, details see publications
2017-08-01 Presenting at BioSyst.EU 2017 2 talks, details see publications
2017-07-03 Refinement of description entry description entry mockup ready to be tested
2017-06-20 Clean up user interface removed debug code, added help texts and self explanatory demo
2017-06-05 Refactored entry creation (description and species) finished Species and description entries can be created again. In sync with ontology data schema.
2017-05-29 first functional version of description entry internal user tests
2017-05-04 Start Working on description entry Goal: Create a functional mockup including text- and image annotation
2017-04-24 Implemented function "required" to handle mandatory inputs correctly Correct input validation
2017-04-07 Adapted User Entry to current data schema User profil "My MDB" functional with updated layout
2017-03-20 Updated application to current AngularJS version (1.6.3) Security fixes and new functions
2017-03-17 Refactoring creation of mdb entry significantly reducing creation time
2017-02-25 Refactoring major parts of Angular code significant code reduction while being more flexible
2017-01-25 2nd MDB Workshop held at ZFMK, Bonn see workshop results
2017-01-12 Automated text annotation tool using external ontologies Annotation tool online
2016-12-10 Image Annotation tool Proof of concept online
2016-10-01 Beginning of the main implementation phase Note: within this phase we only document major development steps in this report
2016-09-14 Evaluated solutions for serving high resolution images, marking regions of interest in images and annotation of texts created three proofs of concept
2016-09-07 Save the date: 2nd workshop announced wait for feedback of use case partners
2016-08-28 Middleware: reached milestone creation of user entry see prototype
2016-08-11 Prototype: implemented layout derived from design mdb entry in html/css, displaying user entry data stored in ontology see prototype
2016-07-28 ui design: finalized ui design for mdb entry see prototype
2016-07-01 Prototype: Creation of user entry in web frontend, login-/logout functions. Middleware: handling of login and session data. Ontology: refining definitions for mdb core entry and mdb user entry ongoing process
2016-06-01 Begin code coding phase: implementing ontology driven control of java middle ware and ui generation ongoing process
2016-05-25 send register request to ontology via websocket (middleware) done
2016-05-19 enable encryption for websocket and application got ssl certificate, launched https version of application
2016-05-16 middleware: implementing functions described in application ontology (work in progress) implemented 'execution step: MDB hyperlink', 'transition MDB User_Entry Status Transition: Create User Account ', 'execution step: copy and save triple statement(s)', 'switch to page"/"switch to entry" for an arbitrary specific destination page'. Created new classes to extract all object properties and annotation properties from the ontology and save save in a temporary named graph in the cache for later calculation.
2016-05-03 login/signup via directive mdbForm done
2016-05-02 Save the generated triples in the jena tdb generated triples (e.g. user creation) are actually stored in triple store!
2016-04-19 changed and added some methods to push and/or pull named graphs from a workspace directory done
2016-04-18 started series of interviews with project partners to get feedback about current gui prototype obtained feedback from two working groups
2016-03-21 Create online demo for prototype of description module Online demo on https://invis.io/ (access upon request)
2016-03-14 implement customizing theme to special needs (e.g. color blindness) created LESS example
2016-03-04 implemment theming for application: prepare application layout to be customized by users in the future created "theming" LESS file for easy adaptation of the general layout
2015-03-03 Developer workshop in Bonn: presentations and discussion of development topics topics: layout, java middleware, frontend implementation, backend features. Discussion on strategies to efficiently describe function and gui of application in respect of future maintainability.
2016-02-10 Implement code to provide a json structure to built formulara via a websocket from the ontoligies in the jena tdb done
2016-02-05 save the corresponding class URI of a Keyword resource in the mongoDB as an JSONObject done
2016-02-24 dynamic websocket login & register & validity form validatin via websocket
2016-02-01 generate login panel dynamically from websocket message form generated from JSON (websocket message)
2016-01-29 Benchmark Dynamic HTML-Layers with 10.000 DOM-Objects. Current Browser on regular pc hardware must be able to react to changes within 500ms or better. No performance issues detected
2016-01-29 modify the code to save the identified resources of the "log in"-panel for a session id in the mongo db Now different JSON arrays can stored in the same "session id" - collection in one document
2016-01-29 create a default case which lists potential properties for processing for which no code exist yet done
2016-01-27 provide "log in"-panel data for websocket and generalize the startpoint of the calculation for the "sign up"-panel changed the startpoint of the calculation. done
2016-01-25 localize the bottleneck and modify the part, speed up the code for creating JSON for the Sign Up Panel change some SPARQL queries
2016-01-20 new websocket service on angular layers serves websocket messages to frontend
2016-01-20 Save some local names of Individuals in the MongoDB (keywords) the local name of a keyword individual stands in the sessionid document of the mongodb
2016-01-14 Write comments and refactore code done
2016-01-14 generate panels dynamically proofe of concept for login and register panel
2016-01-14 create basic layout for the morphological-description-module done
2016-01-14 websocket runs on nodejs layer done
2016-01-06 generate login panel dynamically from ontology with regard to the image-annotation-module done
2016-01-07 create wireframes for the media entry done
2015-12-09 change login dropdown to angular-bootstrap done
2015-12-09 show google map in sidebar shows marker if coordinates are valid
2015-12-02 change sidebar, insert planned panels generate tab panels on base of JSON and angular-bootstrap
2015-12-02 add "Sampling Location" panel, longitude & latitude input fields with pattern restriction
2015-12-02 enable all panels, if specimen is "created" done
2015-11-25 Angularjs Specimen Service deliver panel info and specimen entry
2015-11-25 Enable "Create"-Button all input fields are valid
2015-11-25 Generate SpecimenID done
2015-11-18 show glyphicon to follow link to resource image appears
2015-11-18 auto-Complete for determination data auto complete works and adds resource
2015-12-01 Implement some classes and methods to interpret the resource MDB_Datascheme_0000000667 and their related Resources Websocket provide JSON for building a Sign Up Panel
2015-11-17 Build a class to handle an incoming session ID and save this ID in the mongoDB Create Document + Collection in mongoDB
2015-11-17 Create a MongoDB memory structure Save Session IDs in the Mongo DB
2015-11-10 Modified a class to update the ontologies in the jena tdb after pull from Lars project Update jena tdb with this script
2015-11-05 familiarize with Java mongoDB Api done
2015-11-05 Write interim report, coordinate reports from project partners Get feedback from use cases
2015-11-05 Fill in data (determination) to "create MDB entry" modal. done
2015-11-04 Write code for overlays (modals) wrote HTML/Less code, integrated sample "create MDB entry" to prototype
2015-11-04 Create List of ITIS taxon names and URIs as a temporary source for field "determintation" Created list of 700.000 taxon entries from ITIS DB
2015-10-21 Prototype: show notifications on login/logout/register created notification service
2015-10-30 Set up user authentication using the MEAN stack done
2015-10-28 Describe a JSON-Structure to communicate over the websocket that a new MDB User must be generated JSON data structure for prototype
2015-10-28 Build a class to communicate with a mongodb from java done
2015-10-28 Implement user tool in prototype User can (self-)register and log in
2015-10-28 Implement Bootstrap Layout into prototype Prototype has responsive layout based on current designs
2015-10-28 Discuss "Lables and Determination" with scientists got detailed information on taxon revisions, synonyms, etc.
2015-09-27 Fix issue with special characters Encoding fixed
2015-09-15 Create HTML-Code for panels: Should look (very) similar to current mock-ups Responsive HTML page with example panels based on current layout
2015-09-09 Specimen parts, e.g. a tissue has been extracted from the origina: Problem: the source specimen stays not the same- Do we have do create two new entries and flag the source specimen as immutable. Todo when first specimen is editable ongoing discussion
2015-08-31 substitute the own written SPARQL Query code with the JenaQuery Builder done
2015-08-31 Provide responsive HTML as base for functional prototype Based on layout wireframes, a responsive HTML layout was created and tested in browser
2015-08-31 one directory vs. multiple directories One directory for each dataspace (core, publish and edit)
2015-08-31 clean up the prototype files done
2015-08-27 provide git repository for mdb prototype all project members can use it
2015-08-19 evaluate AngularJS 2.0 Not yet, not mature
2015-08-18 Angular Webinar: Online seminar three developers attended
2015-08-11 integrate dragular to dev-website done
2015-08-11 integrate google maps to dev-website map is displayed with markers
2015-08-05 create wireframes for the specimen entry, user and usergroup entries done
2015-08-04 bootstrap layout for dev-website done
2015-08-19 evaluate one directory vs. multiple directories the application with only one directory is three times faster (180-210 ms vs. 600 ms)
2015-08-19 organize internal dev. workshop workshop with all developers held in Bonn
2015-07-20 familiarize with angular-material, bootstrap done
2015-07-06 Unit tests for Angularjs unit tests written
2015-07-17 create a class to find if an input resource is a class or not done
2015-07-15 copy all Dataproperties in one named model & save it in a tdb create a sparql-query & use it in the program
2015-06-17 expand the designated functionality of the bulk editing grid so it can be used as a complex faceted search filter done
2015-06-10 create wireframes for the interface of the mandatory components of all MDB entry types updatend user-rights, authors, crosslinks, versioning and transistions, metadata, statistics
2015-06-06 Read programm instruction from a knowledge base done
2015-07-06 Unit tests for Angularjs, provide test environment install karma/jasmine
2015-06-23 jquery.dataTables & angularjs? angular-datatables? works with js & angularjs
2015-06-19 modify angularjs controller (global functions => app controller) done
2015-07-01 create wireframes for the specimen entry, user/usergroup entries and media entry done
2015-06-17 expand the designated functionality of the bulk editing grid so it can be used as a complex faceted search filter done
2015-06-10 create wireframes for the interface of the mandatory components of all MDB entry types set of wireframe views including user-rights, authors, crosslinks, versioning and transistions, metadata, statistics
2015-06-10 integrate websocket into angularjs service and display websocket JSON message as html table done
2015-05-10 Problem: reconnecting websocket in AngularJS solved
2015-06-03 Add GUI actions to Ontology? In principal ontologies can be used to manage workflow actions. Created internal paper summarizing our discussion.
2015-05-19 Evaluate and discuss data for shrew onlology with use case 1 Schedule Skype meeting with I. to discuss open questions
2015-05-01 Programm classes to generate URIs and save them in the TDB done
2015-05-12 Can someone delete MDB Core ID's? Decision: delete or 'hide' the Core ID?-> hide the Core ID to have complete history
2015-04-30 Restructured Wiki pages Important pages now easyer to find
2015-04-30 Evaluated SHACL High potential. Early stage of development. Wait until 2nd public draft.
2015-04-24 Create tests for already existing classes done
2015-04-20 Give introduction in IntelliJ and TestNG Unit testing to project team Agreed on "best practices" for development
2015-05-04 Reorganization of the directories for named graphs and the workspaces done
2015-04-20 Concept for bulk editing grid: change all => batch or single approval concept developed - should be approved by use cases
2015-04-17 (Build and) use an URI validator to check if input objects are correct done
2015-04-15 modify nodejs/angular code to work with express 4.* and html done
2015-04-14 Digg into Java Unit Tests, present results to Roman set up test suite, created first unit tests
2015-04-14 Modify the web interface to switch between add/delete triple to/from the TDB done
2015-04-14 description of all status transition workflow actions for the revision cycle All MDB workflow actions are described in the ontology as well as in vue files (including all status transition workflow actions).
2015-04-10 Create a Webinterface to add triple to the TDB done
2015-04-07 Run the Java Websocket on the server (jetty) up and running
2015-04-04 Summarize and translate questionnaire done
2015-04-02 Add a timer for a Websocket SPARQL query done
2015-03-31 create development roadmap presented to working group
2015-03-25 eliminate named graph 'authorship and intellectual property rights' from all workflow descriptions and distribute the authorship content to the 'versions and provenance' and the intellectual property rights content to the 'header' named graph done
2015-03-20 Evaluate whether we can use ComponentJS? (http://componentjs.com/) Provides nothing, AngularJS can not provide. Not needed.
2015-03-24 Install Node.js/Angular (Server, Git) installed -> dev.morphdbase.de
2015-03-24 Description of VUE-Actions for first workflow - from 'new' to 'published' All actions for the first workflow from creating a new entry to publishing this entry
2015-03-20 Wiki-access granted
2015-03-20 E-Mail to workshop participants: results and feedback email send
2015-03-18 familiarize with Model View Controller (MVC) concept Agreed on MVC as development as software architectural pattern
2015-03-17 Evaluate Hybridsystem for messaging, User-administration + Semantics NodeJS!
2015-03-17 Initial disk-space demand of TDS Sesame: 4.6 MB; Jena: 200MB -> Jena: 3.1 MB
2015-03-17 analyze questionnaire of workshop I internal document created
2015-03-11 Excel file with field info