Development Report

From eScience
Jump to: navigation, search

Source Code

See the complete source code of the project on [GitHub].

Current Work (in progress)

Date Statement/Action/Decision Results
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