Community
Participate
Working Groups
Build ID: 3.4 Steps To Reproduce: none it's an enhancement More information: the CDO editor currently availbale is very spartanic. CDO can be used as generic data centric 3-tier application. The current editor works as-is but is very limited . It'll be great to have a generic CDO editor that gives a better user experience out of the box
Hi André, could you please elaborate on: a) the limitations and b) what you suggest to do against them
a few ideas on enhancements: - resource tree shows very little detail: you have to select resource by resource to get its details if you're looking for a specific resource. An idea could be to have a tree table instead of a simple tree. Another suggestion could be to a resource tree that only shows the different types. Double-Clicking on a type could open a table based editor with all instances of this type. - resource navigation is not as handy as it could be currently you navigate trough your resources on behalf of the resource tree. Once you're in the details view, you have to get up back to the tree to navigatre further. An slight improvement could be to have the selection in the tree updated by double clicking a reference in the details (properties-) view. - limited resource exploration A cdo resource might have several resources it depends on and resources that it gets referenced by. Currently you cannot see different detail view side by side. A handy feature could be to have a special are where you can have several property views that show the resource that's currently selected in the resource tree plus detail views of its parent and its children. - enhancements available for EMF Editor are not there for CDO There are several enhanced emf editors available (Exceed, generic forms editor etc.). It would be great to get these enhancements.
(In reply to comment #2) > a few ideas on enhancements: > > - resource tree shows very little detail: > > you have to select resource by resource to get its details if you're looking > for a specific resource. An idea could be to have a tree table instead of a > simple tree. Another suggestion could be to a resource tree that only shows the > different types. Double-Clicking on a type could open a table based editor with > all instances of this type. This sounds like a general feature for Ecore based models not necessarily CDO specific, right? What makes it CDO specific is only that loading a resource (or even traversing its contents) is comparingly expensive. In fact these characteristics generally apply to remote resources. Just in case we continue to assume that this is a CDO specific feature, wouldn't it be an enhancement of the CDOSessionsView? > - resource navigation is not as handy as it could be > > currently you navigate trough your resources on behalf of the resource tree. > Once you're in the details view, you have to get up back to the tree to > navigatre further. An slight improvement could be to have the selection in the > tree updated by double clicking a reference in the details (properties-) view. By "details view" do you mean the editor (here: the CDOEditor)? Or a synonym for "properties view"? IIRC there is an action in the properties view "Locate Value". Is that what you mean? > - limited resource exploration > > A cdo resource might have several resources it depends on and resources that it > gets referenced by. Currently you cannot see different detail view side by > side. A handy feature could be to have a special are where you can have several > property views that show the resource that's currently selected in the resource > tree plus detail views of its parent and its children. Hey, I'm really sorry, but I have no clue what you require here. Maybe attaching a simple diagram/sketch would help my little brain ;-) > - enhancements available for EMF Editor are not there for CDO > > There are several enhanced emf editors available (Exceed, generic forms editor > etc.). It would be great to get these enhancements. I wonder how this should work. I suspect that each of these editors has a different class and Java does not support multiple inheritance. Anyway, could you please file a separate Bugzilla? There we can discuss how to make it easier for the providers of other editors to make their editors CDO-aware.
I would like to do these enhancement. I think it includes what Andre requested : - New Panel ResourceSet I would like to view resources that are loaded - New Panel CDOVIewSet See which Cdotransaction/View are use for each resourceset - Open Transaction From a already open Resourceset. - Query Panel - Query Result - Objects - Add locking popup-menu - Session - Turn on/off PassiveUpdate - Set COllectionPolicy - View - TUrn off/on invalidation - Watch List Panel TO know which features changes for these objects. (WIll use changesubscription) - Have a debug property sheet. To know the state of the objects as an example. - Link objects from URI. - Add resources not belonging to any Repository(e.g.: XMIResource) Should I create different Bugzilla for each of them ?
(In reply to comment #4) > I would like to do these enhancement. I think it includes what Andre requested > : > > - New Panel ResourceSet > I would like to view resources that are loaded > > - New Panel CDOVIewSet > See which Cdotransaction/View are use for each resourceset > > - Open Transaction From a already open Resourceset. > > - Query Panel > > - Query Result > > - Objects - Add locking popup-menu > > - Session > - Turn on/off PassiveUpdate > - Set COllectionPolicy > > - View > - TUrn off/on invalidation > > - Watch List Panel > TO know which features changes for these objects. (WIll use > changesubscription) > > - Have a debug property sheet. To know the state of the objects as an example. > > - Link objects from URI. > > - Add resources not belonging to any Repository(e.g.: XMIResource) All of these sound very good! > Should I create different Bugzilla for each of them ? I think for documentation (plan) it would be better and also for discussing...
(In reply to comment #5) > (In reply to comment #4) > > I would like to do these enhancement. I think it includes what Andre requested > > : > > > > - New Panel ResourceSet > > I would like to view resources that are loaded > > > > - New Panel CDOVIewSet > > See which Cdotransaction/View are use for each resourceset > > > > - Open Transaction From a already open Resourceset. > > > > - Query Panel > > > > - Query Result > > > > - Objects - Add locking popup-menu > > > > - Session > > - Turn on/off PassiveUpdate > > - Set COllectionPolicy > > > > - View > > - TUrn off/on invalidation > > > > - Watch List Panel > > TO know which features changes for these objects. (WIll use > > changesubscription) > > > > - Have a debug property sheet. To know the state of the objects as an example. > > > > - Link objects from URI. > > > > - Add resources not belonging to any Repository(e.g.: XMIResource) > > All of these sound very good! > > > Should I create different Bugzilla for each of them ? > > I think for documentation (plan) it would be better and also for discussing... > Ok I will !! I just put the locking into the UI.. Takes some time.. since I need to learn All that :-)
Hi Simon I'd be very glad to help on this! My main strength are in the UI so far. I need some time to get my other bugzilla up and running and get my knowledge on EMF/CDO to a point where I can really contribute. (In reply to comment #4) > I would like to do these enhancement. I think it includes what Andre requested > : > > - New Panel ResourceSet > I would like to view resources that are loaded > > - New Panel CDOVIewSet > See which Cdotransaction/View are use for each resourceset > > - Open Transaction From a already open Resourceset. > > - Query Panel > > - Query Result > > - Objects - Add locking popup-menu > > - Session > - Turn on/off PassiveUpdate > - Set COllectionPolicy > > - View > - TUrn off/on invalidation > > - Watch List Panel > TO know which features changes for these objects. (WIll use > changesubscription) > > - Have a debug property sheet. To know the state of the objects as an example. > > - Link objects from URI. > > - Add resources not belonging to any Repository(e.g.: XMIResource) > > Should I create different Bugzilla for each of them ? >
Another nice requirement (although surely not so easy to implement) is: Make the "expand node" operation asynchronous and show a "Pending..." pseudo element while loading the contents of the node.
(In reply to comment #8) > Another nice requirement (although surely not so easy to implement) is: > > Make the "expand node" operation asynchronous and show a "Pending..." pseudo > element while loading the contents of the node. I did that at works using SWING!! Let's see how this is working in this environment!! Also, for list with many elements, I would like to see them by [0..99] [100..199] [200..299] .... :-)
Andre, let me know when you will have time!
(In reply to comment #9) > (In reply to comment #8) > > Another nice requirement (although surely not so easy to implement) is: > > > > Make the "expand node" operation asynchronous and show a "Pending..." pseudo > > element while loading the contents of the node. > I did that at works using SWING!! > Let's see how this is working in this environment!! > Also, for list with many elements, I would like to see them by > [0..99] > [100..199] > [200..299] > .... > :-) +1 !!!!!
> - New Panel ResourceSet > I would like to view resources that are loaded The outline view shows all Resources in the ResourceSet by default. This view is set off in CDOEditor by default (I enabled it back in my customized editors and seem to work fine). Unfortunately, I've experienced problems in the outline view: due to RootResource getting implicitly loaded in the ResourceSet, at the end, the Outline view shows *all* the resources in the repository. This is related to bug #251467. > - Objects - Add locking popup-menu > > - Session > - Turn on/off PassiveUpdate > - Set COllectionPolicy > > - View > - TUrn off/on invalidation > > - Watch List Panel > TO know which features changes for these objects. (WIll use > changesubscription) Lovely features! > - Add resources not belonging to any Repository(e.g.: XMIResource) Isn't that already possible through context menu -> "Load Resource..." action?
(In reply to comment #12) > > - New Panel ResourceSet > > I would like to view resources that are loaded > > The outline view shows all Resources in the ResourceSet by default. This view > is set off in CDOEditor by default (I enabled it back in my customized editors > and seem to work fine). > > Unfortunately, I've experienced problems in the outline view: due to > RootResource getting implicitly loaded in the ResourceSet, at the end, the > Outline view shows *all* the resources in the repository. > > This is related to bug #251467. > > > - Objects - Add locking popup-menu > > > > - Session > > - Turn on/off PassiveUpdate > > - Set COllectionPolicy > > > > - View > > - TUrn off/on invalidation > > > > - Watch List Panel > > TO know which features changes for these objects. (WIll use > > changesubscription) > > Lovely features! > > > - Add resources not belonging to any Repository(e.g.: XMIResource) > > Isn't that already possible through context menu -> "Load Resource..." action? Maybe I'm mistaken but load Resource will load a resource that is in CDO. At the moment, Can we load an Resource that do not belong to CDO without importing it ? Simon >
Simon, > Maybe I'm mistaken but load Resource will load a resource that is in CDO. > At the moment, Can we load an Resource that do not belong to CDO without > importing it ? I've checked it again, and when you right on the "Load Resource..." action, what shows up is the same dialog as for regular EMF Sample Ecore Editors: - "Browse File System..." - "Browse Workspace..." I did a test by loading a Model1 example persisted as an XMI. The resource get's correctly loaded into ResourceSet. What doesn't work is a CDOObject (persisted in the CDO Repository) referencing an object in XMI persistence. It drops an exception at the time of saving (commit): [ERROR] Rollback in DBStore: org.eclipse.net4j.util.ImplementationError at org.eclipse.emf.cdo.common.id.CDOIDUtil.getLong(CDOIDUtil.java:84) at org.eclipse.emf.cdo.server.internal.db.ToOneReferenceMapping.getRevisionValue(ToOneReferenceMapping.java:32) at org.eclipse.emf.cdo.server.internal.db.ToOneReferenceMapping.getRevisionValue(ToOneReferenceMapping.java:1) at org.eclipse.emf.cdo.server.internal.db.AttributeMapping.appendValue(AttributeMapping.java:46) at org.eclipse.emf.cdo.server.internal.db.ClassMapping.writeAttributes(ClassMapping.java:497) at org.eclipse.emf.cdo.server.internal.db.ClassMapping.writeRevision(ClassMapping.java:425) at org.eclipse.emf.cdo.server.internal.db.HorizontalClassMapping.writeRevision(HorizontalClassMapping.java:41) at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.writeRevision(DBStoreAccessor.java:530) at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.writeRevisions(DBStoreAccessor.java:517) at org.eclipse.emf.cdo.internal.server.StoreAccessor.write(StoreAccessor.java:150) at org.eclipse.emf.cdo.internal.server.TransactionCommitContextImpl.write(TransactionCommitContextImpl.java:238) at org.eclipse.emf.cdo.internal.server.protocol.CommitTransactionIndication.indicatingCommit(CommitTransactionIndication.java:172) at org.eclipse.emf.cdo.internal.server.protocol.CommitTransactionIndication.indicating(CommitTransactionIndication.java:71) at org.eclipse.emf.cdo.internal.server.protocol.CDOServerIndication.indicating(CDOServerIndication.java:113) at org.eclipse.net4j.signal.Indication.execute(Indication.java:48) at org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:38) at org.eclipse.net4j.signal.Signal.runSync(Signal.java:186) at org.eclipse.net4j.signal.Signal.run(Signal.java:167) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) I think this is a known limitation, but not sure though (haven't synced with CVS in a while). By the way, I raised long time ago this: bug #242157: "[UI] Enhance "load resource..." action in CDOEditor" that might be of your interest. I've already done this in my code, but would need to refactor if I want it to be shared.
(In reply to comment #14) > Simon, > > > Maybe I'm mistaken but load Resource will load a resource that is in CDO. > > At the moment, Can we load an Resource that do not belong to CDO without > > importing it ? > > I've checked it again, and when you right on the "Load Resource..." action, > what shows up is the same dialog as for regular EMF Sample Ecore Editors: > > - "Browse File System..." > - "Browse Workspace..." > > I did a test by loading a Model1 example persisted as an XMI. The resource > get's correctly loaded into ResourceSet. What doesn't work is a CDOObject > (persisted in the CDO Repository) referencing an object in XMI persistence. It > drops an exception at the time of saving (commit): > CDO now supports it : 213402: Support external references https://bugs.eclipse.org/bugs/show_bug.cgi?id=213402 But not DBStore. 249610: [DB] Support external references (Implementation) https://bugs.eclipse.org/bugs/show_bug.cgi?id=249610 Only ObjectivitySotre does support for now! > [ERROR] Rollback in DBStore: org.eclipse.net4j.util.ImplementationError > at org.eclipse.emf.cdo.common.id.CDOIDUtil.getLong(CDOIDUtil.java:84) > at > org.eclipse.emf.cdo.server.internal.db.ToOneReferenceMapping.getRevisionValue(ToOneReferenceMapping.java:32) > at > org.eclipse.emf.cdo.server.internal.db.ToOneReferenceMapping.getRevisionValue(ToOneReferenceMapping.java:1) > at > org.eclipse.emf.cdo.server.internal.db.AttributeMapping.appendValue(AttributeMapping.java:46) > at > org.eclipse.emf.cdo.server.internal.db.ClassMapping.writeAttributes(ClassMapping.java:497) > at > org.eclipse.emf.cdo.server.internal.db.ClassMapping.writeRevision(ClassMapping.java:425) > at > org.eclipse.emf.cdo.server.internal.db.HorizontalClassMapping.writeRevision(HorizontalClassMapping.java:41) > at > org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.writeRevision(DBStoreAccessor.java:530) > at > org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.writeRevisions(DBStoreAccessor.java:517) > at > org.eclipse.emf.cdo.internal.server.StoreAccessor.write(StoreAccessor.java:150) > at > org.eclipse.emf.cdo.internal.server.TransactionCommitContextImpl.write(TransactionCommitContextImpl.java:238) > at > org.eclipse.emf.cdo.internal.server.protocol.CommitTransactionIndication.indicatingCommit(CommitTransactionIndication.java:172) > at > org.eclipse.emf.cdo.internal.server.protocol.CommitTransactionIndication.indicating(CommitTransactionIndication.java:71) > at > org.eclipse.emf.cdo.internal.server.protocol.CDOServerIndication.indicating(CDOServerIndication.java:113) > at org.eclipse.net4j.signal.Indication.execute(Indication.java:48) > at > org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:38) > at org.eclipse.net4j.signal.Signal.runSync(Signal.java:186) > at org.eclipse.net4j.signal.Signal.run(Signal.java:167) > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown > Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > > > I think this is a known limitation, but not sure though (haven't synced with > CVS in a while). > > By the way, I raised long time ago this: > bug #242157: "[UI] Enhance "load resource..." action in CDOEditor" > that might be of your interest. I've already done this in my code, but would > need to refactor if I want it to be shared. >
Re-assigning to Vik in preparation of his new committer state...
Opening again the discussion of new features >- New Panel ResourceSet > I would like to view resources that are loaded > >- New Panel CDOVIewSet > See which Cdotransaction/View are use for each resourceset > >- Open Transaction From a already open Resourceset. I think these three could be integrated in one only ViewPart. I could raise a bug for it. Is it ok? >- Query Panel >- Query Result I don't really like adding that much number of ViewParts, but in this case I think is ok. We could define, store, modify and check queries in a "Query panel", and then execute it and see the result in a "query result" ViewPart, which would be a mere list of CDOObjects. Selecting a object in this view would populate properties view. Furthermore, I think this is really appealing to the community to start experimenting with the new query feature :) >- Session > - Set COllectionPolicy Would it be enough to have a new action in Session View, right click on a session, "Change CollectionPolicy", where you set the parameters? Having a view seems kind of excesive. Also, we could also add fields to modify default values in the "Session Defaults" section in CDO preferences page. >- View > - TUrn off/on invalidation Could also be achieved via a new action in the Session view? >- Watch List Panel > TO know which features changes for these objects. (WIll use >changesubscription) I think this is a good idea! We could add a new action in CDOEditor "add to watch list". I'll create a bug. >- Link objects from URI. Sorry Simon, could you clarify this? I don't understand the purpose of this view. >- Add resources not belonging to any Repository(e.g.: XMIResource) This is already possible (not currently for DBStore since of: 249610: [DB] Support external references (Implementation) https://bugs.eclipse.org/bugs/show_bug.cgi?id=249610 There many already opened bugs regarding "enhancing CDOEditor". I'm not sure if I should add these as dependencies to this bug. Eike? André: is what you initially proposed fulfilled with Simon proposals, or do you miss something else? I'm not sure if we have covered your initial suggestions.
> >- New Panel ResourceSet > > I would like to view resources that are loaded > > > >- New Panel CDOVIewSet > > See which Cdotransaction/View are use for each resourceset > > > >- Open Transaction From a already open Resourceset. > > I think these three could be integrated in one only ViewPart. I could raise a > bug for it. Is it ok? Sorry, this is under discussion in #255128
(In reply to comment #17) > Opening again the discussion of new features > > >- New Panel ResourceSet > > I would like to view resources that are loaded > > > >- New Panel CDOVIewSet > > See which Cdotransaction/View are use for each resourceset > > > >- Open Transaction From a already open Resourceset. > > I think these three could be integrated in one only ViewPart. I could raise a > bug for it. Is it ok? > If it is possible yes! > >- Query Panel > >- Query Result > > I don't really like adding that much number of ViewParts, but in this case I > think is ok. We could define, store, modify and check queries in a "Query > panel", and then execute it and see the result in a "query result" ViewPart, > which would be a mere list of CDOObjects. Selecting a object in this view would > populate properties view. > > Furthermore, I think this is really appealing to the community to start > experimenting with the new query feature :) > > >- Session > > - Set COllectionPolicy > > Would it be enough to have a new action in Session View, right click on a > session, "Change CollectionPolicy", where you set the parameters? Having a view > seems kind of excesive. Also, we could also add fields to modify default values > in the "Session Defaults" section in CDO preferences page. Since view, objects have a property.. session should have one also. You have more than the collection policy. - PassiveUpdate true or false - Repository UUID, Repository Name - Repositository creation time > > >- View > > - TUrn off/on invalidation > > Could also be achieved via a new action in the Session view? Yes.. but you have so many options here that I cannot enumrate them!!! > > >- Watch List Panel > > TO know which features changes for these objects. (WIll use > >changesubscription) > > I think this is a good idea! We could add a new action in CDOEditor "add to > watch list". I'll create a bug. > > >- Link objects from URI. > > Sorry Simon, could you clarify this? I don't understand the purpose of this > view. > > >- Add resources not belonging to any Repository(e.g.: XMIResource) > This is already possible (not currently for DBStore since of: > 249610: [DB] Support external references (Implementation) > https://bugs.eclipse.org/bugs/show_bug.cgi?id=249610 > > Maybe with you modification... but not with what I have :-) > There many already opened bugs regarding "enhancing CDOEditor". I'm not sure if > I should add these as dependencies to this bug. Eike? > > André: is what you initially proposed fulfilled with Simon proposals, or do you > miss something else? I'm not sure if we have covered your initial suggestions. >
> > >- Session > > > - Set COllectionPolicy > > > > Would it be enough to have a new action in Session View, right click on a > > session, "Change CollectionPolicy", where you set the parameters? Having a view > > seems kind of excesive. Also, we could also add fields to modify default values > > in the "Session Defaults" section in CDO preferences page. > Since view, objects have a property.. session should have one also. You have > more than the collection policy. > - PassiveUpdate true or false > - Repository UUID, Repository Name > - Repositository creation time Ok, so you mean having a more detailed view for sessions that shows up all their properties (like those you mentioned before). > > >- View > > > - TUrn off/on invalidation > > > > Could also be achieved via a new action in the Session view? > Yes.. but you have so many options here that I cannot enumrate them!!! Just let me know your preferences ;) > > >- Add resources not belonging to any Repository(e.g.: XMIResource) > > This is already possible (not currently for DBStore since of: > > 249610: [DB] Support external references (Implementation) > > https://bugs.eclipse.org/bugs/show_bug.cgi?id=249610 > > > > > Maybe with you modification... but not with what I have :-) Uhm... you might be right. Maybe it works for me becasue of: 256955: Make ResourceSet capable of retrieving CDOResources without prior preparation https://bugs.eclipse.org/bugs/show_bug.cgi?id=256955 But I can't see why it shouldn't work (just the process of loading the resource in the resourceset, any other action might fail :( )
(In reply to comment #20) > > > >- Session > > > > - Set COllectionPolicy > > > > > > Would it be enough to have a new action in Session View, right click on a > > > session, "Change CollectionPolicy", where you set the parameters? Having a view > > > seems kind of excesive. Also, we could also add fields to modify default values > > > in the "Session Defaults" section in CDO preferences page. > > Since view, objects have a property.. session should have one also. You have > > more than the collection policy. > > - PassiveUpdate true or false > > - Repository UUID, Repository Name > > - Repositository creation time > > Ok, so you mean having a more detailed view for sessions that shows up all > their properties (like those you mentioned before). > > > > >- View > > > > - TUrn off/on invalidation > > > > > > Could also be achieved via a new action in the Session view? > > Yes.. but you have so many options here that I cannot enumrate them!!! > > Just let me know your preferences ;) I prefer the property view!! :-) You will have some property in read-only as well!! > > > > >- Add resources not belonging to any Repository(e.g.: XMIResource) > > > This is already possible (not currently for DBStore since of: > > > 249610: [DB] Support external references (Implementation) > > > https://bugs.eclipse.org/bugs/show_bug.cgi?id=249610 > > > > > > > > Maybe with you modification... but not with what I have :-) > > Uhm... you might be right. Maybe it works for me becasue of: > > 256955: Make ResourceSet capable of retrieving CDOResources without prior > preparation > https://bugs.eclipse.org/bugs/show_bug.cgi?id=256955 > I know it could work... but From the UI it doesn't :-).. since we do not have the action for it. > But I can't see why it shouldn't work (just the process of loading the resource > in the resourceset, any other action might fail :( ) >
Rebasing all unresolved enhancement requests to 3.0
Rebasing all outstanding enhancements requests to version 4.0
Moving all open enhancement requests to 4.1
Moving all open issues to 4.2. Open bugs can be ported to 4.1 maintenance after they've been fixed in master.
Moving all outstanding enhancements to 4.3
Moving all open enhancement requests to 4.4
Moving all open bugzillas to 4.5.
Moving all unaddressed bugzillas to 4.6.
Moving all open bugs to 4.7
Moving all unresolved issues to version 4.8-
Moving all unresolved issues to version 4.9
Moving to 4.13.