Difference between revisions of "CDO/Explorer (work in progress)"
(→Repository Browser ViewPart)
|Line 1:||Line 1:|
Revision as of 13:05, 12 December 2008
This bugzilla is used for discussion and to track progress: 258638: CDO Explorer Everybody is invited to participate in whatever form!
The CDO Explorer is a client-side RCP application that demonstrates all the core functionality of CDO. It is expected to provide re-usable user interface components as well as a default distribution in form of an RCP application. CDO users shall be enabled to download a single setup.exe file and install a complete technology stack, including repository server, database, the CDO Explorer client, possibly a CDO Admin client to (re-) configure the repository server.
We'd like to demonstrate the following:
- strict use of data binding
- together with asynchronous node expansion
- drag and drop of objects to create references
- extensible repository browser view
- extensible form editors for single objects
- neat integration of all the optional CDO functionality, like:
- query definition and execution
- import/export of resources
- resource browsing (integrated in the generic repository browser)
- history browsing
- explicit locking and a locks view
- local and remote annotation of CDOModelElements
The following screen stub can be used as a basis for more detailed UI descriptions. The content of the open editors in the screen stub is irrelevant, it's just to illustrate the general use of the forms toolkit. The stub project is available via CVS: org.eclipse.emf/org.eclipse.emf.cdo/develop/incubation/CDOExplorer
Repository Browser ViewPart
The root elements of the Repository Browser are CDO Repositories with all the CDO structure elements below them:
- Virtual Packages node: EPackage, EClass, EAttribute, EReference, EEnum, ...
- Virtual Resources node: CDOResourceFolder, CDOResource, CDOObject
At least to display/access we need a CDOView or CDOTransaction. I think it will be one of the most important design decisions to find an appropriate balance between the flexibility of the core API and a not-to-complicated user interface.