I agree with Nikita's JDK 17 comment. I just got people to switch to JDK 11...
Also kind of his callbacks comment. To me it is easier to see them in the modeler. You don't have to go find the documentation to learn what is available. Annotations are great, but only if you know them already. Even by-convention is good IMO. Can have an empty onPostLoad() in the superclass and the IDE can help you remember the event/method when you need to override it. Thanks, mrg On Tue, Jul 5, 2022 at 8:01 AM Nikita Timofeev <[email protected]> wrote: > 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 <[email protected]> > 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 <[email protected]> > 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 >
