110 likes | 225 Views
Dali Project – 0.5 Internal WTP Release Review 12 June 2006. Neil Hauge. *Other brands and names are the property of their respective owners. Review Topics. Major Features High Level Architecture Overview Documentation Status Provisional API/Extension Status Test Coverage Code Quality
E N D
Dali Project – 0.5 Internal WTP Release Review 12 June 2006 Neil Hauge *Other brands and names are the property of their respective owners
Review Topics • Major Features • High Level Architecture Overview • Documentation Status • Provisional API/Extension Status • Test Coverage • Code Quality • Development Roadmap • Q&A
Major Features • Persistence Outline • Provides visual representation of the elements that make up an Entity • Allows navigation of Persistence Properties view • Persistence Properties View • Provides rich UI editing of JPA (persistence) related metadata • Unified editing for JPA annotations and orm.xml (when supported) • Provides dynamic default values for JPA metadata • Validation • Validation in the form of “Problems” are reported based on the state of the Entities in our model • Validation is also performed on the persistence.xml model • Entity Generation from Tables • Generates spec compliant Entities from tables contained in the WST.RDB database definition model • Table Generation from Entities • Generates platform specific tables from Entities through the DDL generation capabilities of the WST.RDB component
High Level Architecture Overview • Plug-ins • org.eclipse.dali.core - EMF models and implementations • org.eclipse.dali.db - Dali’s interface to the wst.rdb model • org.eclipse.dali.db.ddl - Contains DDL generation code • org.eclipse.dali.doc.user - User docs and infopop for Dali • org.eclipse.dali.edit - EMF Edit layer • org.eclipse.dali.gen - Contains generator code for generating Entities from tables • org.eclipse.dali.ui - Contains the actions, composites, data models, wizards, views, and perspective that make up the Dali UI. • org.eclipse.dali.utility - A set of utility classes for the Dali plug-in
Documentation Status • User Documentation • Near comprehensive user documentation currently available in Eclipse Help or PDF format • Quick Start and near comprehensive Tutorial available • Context sensitive help is also provided for nearly all Dali controls • Available here - http://www.eclipse.org/dali/docs/dali_user_guide.pdf • Developer Documentation • Initial documentation available – covers the architecture and describes the plug-ins that make up the Dali JPA Feature. • Covers preliminary extension points, and gives brief examples • Will act as a guide for further documentation. • Available here - http://wiki.eclipse.org/index.php/Dali_Developer_Documentation
Provisional API/Extension Status • No Public or Provisional API’s have been defined for the 0.5 release. The current plan is to develop public and provisional API’s for the 1.0 release based on further input from actual adopter extension requirements. • Several extensions points have been defined for areas that are clearly going require them. The extension points are defined in the developer documentation located here - http://wiki.eclipse.org/index.php/Dali_Developer_Documentation • Usage of EMF is expected to provide some level of built-in model extensibility
Test Coverage • Dali has two sets of JUnit tests, one for the dali.utility plug-in and one for dali.core plug-in • The dali.utility plug-in is thoroughly tested to insure proper operation of these core classes (advanced iterators; file, string, collection utilities). There are currently 485 unit tests for this plug-in. • The dali.core plug-in tests focus on specific feature functions as well as system level tests, including model initialization, project construction/update/deletion.There are currently 67 tests for this plug-in. • All tests are currently passing • The Dali project also has a dedicated QA Engineer who has started writing automated UI tests using TPTP’s automated test framework.
Code Quality • There is still a fair amount of refactoring required to finish reworking code contributions, earlier features, and general infrastructure. Much of this refactoring is already underway, and so far has only been increasing code quality and stability. • The current code quality is probably on par with what a 0.5 release should demonstrate. By keeping our API flexible for now, we should be able to continue refactoring the code base into something that will have the high quality expected of a 1.0 Eclipse project.
Development Roadmap • June Milestones • M4 / RC0: June 4th, 2006 (Feature freeze for 0.5) • RC1: June 21st, 2006 (Code freeze for 0.5) • RC2: Release 0.5: June 28, 2006 • Post 0.5 • M6: End of August • Facet adoption • M7: End of September • JPA Library support for Java SE projects • M10: End of December • JPA XML Descriptor (orm.xml) support • APT based code completion in the Java Editor (Depends on support provided in APT) • Provisional API’s
Q&A • Questions?