Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Dali 1.0 Planning and Design meetings: Monday Jan. 7th-8th

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
  • 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

Copyright © Eclipse Foundation, Inc. All Rights Reserved.