8. Modeler DataNode configuration should be drastically simplified:

* Password encoder should be externalized. If you need a custom password 
storage mechanism, use your own DataSource, such as Hikari, and write your own 
code to obtain the password outside Cayenne. E.g. we don't support (nor should 
we support it) the most common way of modern password resolving - cloud secrets 
managers.
* Adapter seclection can probably be moved to the main (and only) tab
* Get rid of JNDI DataSource (let the users provide it as a custom factory)
* Only leave the selection of "Provided by Cayenne" and "Custom DataSource"

This is in line with our long-term direction towards CayenneModeler being an OR 
mapping tool, maximally free of deployment details.

Andrus

> On Jul 1, 2022, at 6:11 PM, Andrus Adamchik <aadamc...@gmail.com> wrote:
> 
> Hi folks,
> 
> So with 4.2 being almost GA, it is about time to start discussing the next 
> major release. I think it should be 5.0 (not 4.3), and we would modernize 
> things across the board. Let me start with a list of things we can clean up, 
> and I'll follow up with new feature ideas in a separate thread. So...
> 
> 0. Switch to Java 17. About time...
> 
> 1. [Done by Nikita] Remove OpenBaseAdapter
> 
> 2. [Done by Nikita] Remove cayenne-dbcp2, cayenne-joda
> 
> 3. Remove ROP (cayenne-client, cayenne-client-jetty, cayenne-protostuff, 
> cayenne-rop-server, ROP modeler pieces, docs). It is untenable to support it 
> anymore, and is a constant source of CVE's. Most importantly, from what I can 
> tell, there are no users left for this particular technology. Removing it 
> would allow us to collapse ObjectContext inheritance hierarchy among other 
> things.
> 
> 4. Remove object clustering transports (cayenne-jgroups, cayenne-jms, 
> cayenne-xmpp). I don't think anyone uses them. Also these transport protocols 
> are not particularly popular these days. Whoever needs them, can easily 
> maintain their own fork. 
> 
> 5. Remove cayenne-web. It provides a very specific recipe for integration 
> with servlets via ThreadLocals. Kinda old-school. I'd rather see a SpringBoot 
> example as a separate project somewhere. (And of course we already have 
> Bootique examples available).
> 
> 6. Remove deprecated SelectQuery. ObjectSelect is a full replacement. There 
> are more query improvements that I have in mind, but this one is a no brainer.
> 
> 7. Remove entity callbacks from the Modeler and XML. Only annotated callbacks 
> will be supported.
> 
> Comments?
> 
> Andrus

Reply via email to