Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Dali 1.0 Planning and Design meetings: Monday Jan. 7th-8th
Contents
Dali 1.0 Planning and Design meeting
Attendees: Oracle: Neil Hauge, Brian Vosburgh, Paul Fullbright, Karen Moore, Tran Le, Shaun Smith; IBM: Leonard Theivendra
Agenda:
Monday AM
- Review current project status
- Problems over the past 6 months
- Integration issues – complexity, poor documentation on provisional API
- JPA issues – so well constructed for tool avoidance that it is extremely difficult to create tools for
- Resource issues – little development help from Eclipse member companies, 1 resource consumed by build integration, 1 resource consumed by building a predictable annotation editing framework, 1 resource lost for a month to internal projects – This leaves one full time developer working on “Core model and UI” for the past 5 months.
- Paving the road to Java EE 5 – lots of new technology ground to break in Eclipse. This has proved difficult due to reliance on existing Eclipse frameworks and concepts
- Solutions
- Integration issues – no more time sinks into heavy integration projects that may not come to a successful resolution. We need to invest a few days on new integration tasks, if things aren’t obvious at that point, we need to move on and do what is necessary to complete the functionality
- JPA issues – reduce complexity at every turn. We need to reduce complexity and document where the holes are.
- Resource issues – try to keep as many resources possible. Re-attempt to bring in others from the community. Other suggestions?
- We need to think about the project first at this point
- Problems over the past 6 months
- Review major work items remaining for 1.0
- Prioritize remaining work
Monday PM
- Discuss the following topics to determine functional behavior
- Mapping extensions
- Default mapping extensions
- Facet configuration (database connection, persistence unit(s))
- Determine our persistence.xml flow
- Determine SE configuration story and overall deployment needs
Tuesday AM
- Determine what we can accomplish for 1.0
- Define limitations
Tuesday PM
- Finish function or technical discussions from Monday
- Discuss other ad-hoc items that have been brought up during the meetings
- Discuss new project coordination – 1 month plans, scrum like estimates and process, Bugzilla entries
Side Topics:
- Refactoring support – get this roughly defined for 1.0
- DDL Gen (another side project for Neil?)
What is left:
M5
- Core mapping model + (P1)
- Defaults (simplified) (M5) Karen, Brian
- AccessType (simplified?) (M5) Karen, Brian
- Validation – framework/project level (M5) Paul
- Bring over Brian’s annotation work (as time permits) Karen, Brian
- Java UI for mappings(as time permits) Karen
- Push core.java into the core, maybe core.mappings as well (M5) Paul
- Project Creation (connection, classpath config) (M5) Paul
- Doesn’t need to include JPA library function for M5
- DB Access (M5) Neil, Tran
- Project Properties – connection definition
- Entity generation (M5) Tran
- Infrastructure
- Automated tests passing (M5) Tran
- Support persistence.xml
- Model/UI/Extension story
- Bring over most of 0.5 functionality (M5) Neil
Post M5
- 1 - 0.5 level mapping support (java and xml together)
- All mappings supported in 0.5 (including Inheritance, TableGenerator, SecondaryTable, JoinColumn, ManyToMany, MappedSuperclass, Embedded, etc)
- New Mapping support
- 2 - Enumerated
- 2 - MapKey
- 2 - IdClass
- 2 - AssociationOverrides
- Complete our mapping support
- 1 - Support fully-qualified annotations
- 1 - Support Global SequenceGenerator and TableGenerator
- 1 - Add ManyToMany problems
- 3 - Add 'nullable' and 'length' to Column annotation ('precision'? 'scale'?)
- 2 - Finish Inheritance
- 2 - Finish SecondaryTable
- 2 - Finish JoinColumn
- 2 - Finish Lob support, validation
- Support fully-qualified table names
- 1 - Basic Default schema support
- 1 - Multiple schemas per project
- 1 - Explicit 'schema' and 'catalog' elements (Table, TableGenerator, JoinTable, and SecondaryTable)
- 3 - Dotted names (Column, JoinColumn)
- 1 - Support public fields – at least to allow for validation
- UI Support
- 1 - Tabbing story – considering extension
- 2.5 - orm.xml Editor
- 1 - Make sure we can create a base orm.xml and persistence.xml
- 2 - New Entity wizard
- 2 - Basic Persistence.xml wizard
- 2 - New Wizards
- New Basic orm.xml wizard
- 3 - Integration with runtime DDL Generation
Extension story
- Framework – perhaps pull in java and XML into the same plugin with the core, which might make things easier – now leaning towards just pulling core.java and possibly core.mappings.
- Mapping – JPA + extension, user will pick a target,
- Extension use cases
- Replace mappings
- Add content
- Change validation
- Extensions need to be able to handle source editing, annotation entry, and delegate as necessary to Dali.
Deployment story
- Possibly a JSF style library creation and management (post M5)
- See http://wiki.eclipse.org/index.php/Dali_Deployment_Scenarios