Reflection of work in progress for the upcoming VIVO 1.8 release
Projected Release Timing
One outcome of the meeting of VIVO sponsors at the March, 2014 DuraSpace Summit even in Washington was a request to move to a regular release schedule where timing would be predictable and new features included only if ready. Any feature not on target to be finished by the code freeze data would have to be deferred until the next release.
A schedule of two releases per year targets a May code freeze for a June release (VIVO 1.7), and a November code freeze for December release.
The VIVO 1.8 release was originally delayed to allow completion of a task that deemed essential for moving the VIVO project from incubator to full project status – replacement of the Pellet reasoner.
With that work complete before the holiday break, additional performance-related improvements were prioritized for early January:
Release Mechanics
The VIVO project uses the DuraSpace JIRA issue tracking system to manage issues and time tracking leading up to any given release. Issues are categorized as bug fixes, tasks, code tasks, or improvements, grouped into components such as ontology or testing or technical debt, and assigned a status based on criticality to the release.
View unresolved and recently-modified issues for the v1.8 release. Note that issues are typically written as specifically as possible to provide clear requirements to developers and allow for realistic time tracking; when it makes sense, more detailed tasks are grouped as sub-tasks of a more general summary task.
When all issues marked with a status of blocker have been resolved, a code freeze is declared and a release candidate is prepared to allow Selenium (acceptance) testing to begin. Most releases include require several iterations of release candidates and testing to address problems detected in testing.
Selected JIRA issues:
Notes as of 12/16/14
- recently made improvements to startup time after the first-time startup (saving approximately 20 seconds)
- modularity improvements
- reasoner (VIVO-778)
- triple store (RDFService) (VIVO-225)
- VIVO-909 and VIVO-907 – if change one of the ontology files, the entire reasoning has to be re-done – the TBox reasoning that takes 20 seconds triggers a full ABox re-inferencing
- pointed out by Eliza in testing with Virtuoso
- a maxCardinality property was being specified as a non-negative integer but was stored as an integer, so on startup the TBox reasoner interpreted an ontology change
- saw the same thing in Virtuoso and TDB, but doesn't show the problem with SDB
- got around it with a kluge to the Virtuoso driver – would like to distribute with that patch if can't get around it
- worth a couple more hours to pursue – may be an issue in the general RDFService code, that is not used for SDB
- saw the same thing in Virtuoso and TDB, but doesn't show the problem with SDB
- steps to address this may also shave more time off the startup time
- We will also need to distribute a patch for a SPARQL query syntax that Virtuoso doesn't accept
VIVO application code
For the complete list of issues under consideration for VIVO v1.8, view the full, version-specific report in Jira.
Ontology
Ontology issues for VIVO v1.8 have been managed in 3 places as the community workflow process evolves.
- Within the primary DuraSpace VIVO Project JIRA space
- In a older, now-deprecated DuraSpace VIVO Ontology JIRA space (a decision was made in 2014 to stop segregating ontology issues specific to VIVO from the main VIVO project JIRA space
- In a tracker on GitHub
Documentation
Documentation issues for VIVO v1.8 are managed using the community/documentation component within the primary DuraSpace VIVO Project JIRA space.
Testing
Acceptance tests for VIVO v1.8 are managed using the testing component within the primary DuraSpace VIVO Project JIRA space. Additional issues related to testing be found by searching for "test" among the issues assigned to version 1.8 that may be listed under components such as technical debt or bug fixes.