Hi all,

I'm really looking forward to drop old modules as I don't really sure
if they are still really usable after all major changes to the core we
had for the past years. So this is more than welcomed changed for me.
Id like to add OSGi support to that removal list as well.

I have some concerns however regarding points 0 and 7.

- requiring JDK 17 version may limit adoption, as I believe there are
many projects that can't update to Java 17 yet and there are no
immediate benefits that I could see for Cayenne (though I like the
idea of using fresh Java).
But upgrading to 11 could be good as it will allow to drop some ugly
hacks at least in the Modeler.

- dropping callbacks will require substantial effort for the end users
to update their code, so at least we'll need to think how to automate
this process. Another idea I got is that having these callback in the
model could give more synergy with the code generation, especially
after we push it's usability a bit in the modeler (I've got some
prototypes already for this).

On Sun, Jul 3, 2022 at 2:17 PM Andrus Adamchik <aadamc...@gmail.com> wrote:
>
> 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
>


-- 
Best regards,
Nikita Timofeev

Reply via email to