On Jun 2, 2006, at 2:15 AM, Marcel wrote:
> Another possibility is to provide a powerful viewing perspective on
> a web app such as Confluence - for example, a navigator that can
> provide a view(s) of the wiki unachievable via the Web. What those
> views might be is an open question, but one idea is Craig's node
> navigator, similar to the CNET news map ('The Big Picture') [1].
> Editing could be introduced using Confluence's RPC interface (the
> nice way to edit pages ;) ), but that could take a little bit of
> time (ie I'm not sure how that will go with the Aug 21 deadline -
> not saying it can't be done, just that there is doubt).
> Alternatively it could load editing pages in a browser (internal or
> external). That would emphasise the other advantage of ROP, as a
> way to supplement a Web interface.
Doing updates via Confluence kind of goes against the goal of
demonstrating Cayenne graph management capabilities.
> How about a program which displays a graph of the objects that
> Cayenne has mapped, and browsing and editing of values? I guess
> that could be done with regular Cayenne, but given that Cayenne's
> ROP is easy to deploy (just add an ant task to build the classes
> into a WAR and then deploy it to Tomcat) it might be a useful tool
> for developers using Cayenne in web applications. After mapping the
> database, a Cayenne developer would then be able to browse the
> objects and their contents, and edit the database at an object
> level. It seems achievable, unless I'm missing a major complexity
> issue, and it is Cayenne focused. It would seem to be a useful tool
> on its own, and at some point it could be incorporated into CM if
> it moved to RCP. ROP functionality could be switched on and off
> without difficulty, it is simply a matter of getting the context
> from a different source. To me, that is the greatest advantage of
> Cayenne ROP - a third tier can be introduced almost completely
> transparently from the client's perspective. This kind of
> application would emphasise that.
Correct about ROP transparency to the client app (as long as the code
is using ObjectContext interface without casting to DataContext or
CayenneContext). Still I don't see why would a developer ever bother
deploying a web service in these circumstances. In fact as a
developer I would rather use the ROP transparency advantage to do the
opposite - go to the DB directly when developing an ROP app, just to
avoid the hassle.
Still I like the generic graph viewer/editor idea. With frameworks
like Piccolo you can really visualize your objects and their
relationships, providing usability that regular table/form UI can't.
So maybe we do the same app that you suggested, but "position" it
differently (I can't believe I am using marketing speak :-)). Not as
a development tool, but as a framework for building a multi-user
visual graph manager based on Cayenne model. It can have
functionality similar to this
Visual Graph Manager:
* A generic GUI application that connects to Cayenne web service
* A panel to select a mapped named query from the list and run it
against the server
* A panel to display a graph of objects that expands when
relationships are clicked.
* An ability to select a node on the graph, and edit its properties
(we can omit relationship editing in version 1.0)
* An ability to save the whole thing to the server
* Change notifications - propagate the changes made to objects in one
client to other clients viewing the same graph (this is the cool
thing about ROP - it does that for you automatically with XMPP)
* A sample Cayenne model that demonstrates the above capabilities
However note that Piccolo doesn't work well with SWT (it "kind of
works"), so the client has to be Swing. IIRC Eclipse has its own
graph toolkits, although I know nothing about them and won't be able
to help if there are problems. Are you comfortable doing this with
Swing (in fact there won't be too much Swing as Piccolo does the
rendering)?
General comments?
Andrus
This archive was generated by hypermail 2.0.0 : Fri Jun 02 2006 - 10:22:38 EDT