John, I think you should consider if you might be able to do a WOWODC-2013 presentation on ERCayenne.
-Kieran On Jul 11, 2012, at 11:09 AM, John Huss wrote: > At WOWODC there was a lot of interest in migrating from EOF to Cayenne, and > even entirely rebasing Wonder to run on top of Cayenne instead of EOF. > > Why would anyone want to do this? > Cayenne is open-source and is actively being developed > Cayenne has great concurrency support which is in stark contrast to EOF > single-threaded architecture > Cayenne is conceptually very similar to EOF so the transition is fairly > straightforward > For those reasons it is a much better long term solution than EOF, which is > now frozen in time. Cayenne can be used inside a WO application as an EOF > replacement while continuing to use the rest of WebObjects. > > I'm interested. Now what? > Learn about Cayenne. The best source of information for comparing EOF and > Cayenne is on the wiki. In addition, you can look at the documentation for > Cayenne. > Use Cayenne in your new projects. Cayenne runs just fine inside a WebObjects > application. Wonder has the ERCayenne framework and ERCayenneExample to help > you get started. I suggest working with the trunk of the Cayenne source (and > Wonder too) since some things are just being added to make this easier. > Help work on easing and automating the migration from EOF to Cayenne. It is > possible to automate a large part of the work involved in moving from EOF to > Cayenne. But it requires effort. ERCayenne in Wonder has a class that will > convert an EOModel to a Cayenne model (the class is CayenneConverter). This > works well, but could be improved. I've started working on an Eclipse > refactoring script that will convert from one API to the other. Yes, you may > not have known (I didn't) that Eclipse can record a series of refactorings > and save it as a script. The bulk of the migration work is creating > refactoring scripts in Eclipse by performing refactorings on a stubbed out > version of the EOF API to convert the API into the equivalent Cayenne API. > After performing the refactorings, a script can be exported using > Refactor->"Create Script". For EOF methods that do not have a direct Cayenne > equivalent, helper methods (or classes) will need to be written that can > serve as a direct replacement. > How can I help specifically with the migration effort? > CayenneConverter in ERCayenne (for converting the model) does not convert the > connection dictionaries in the EOModel yet. > CayenneConverter does a poor job converting fetch specs defined in the model > currently. > We need to create new subclasses of Cayenne's DbAdapter that use the Wonder > naming convention for primary key generators/sequences. This is done by > subclassing classes like PostgresPkGenerator and overriding sequenceName. > This is necessary to support existing databases created with EOF. > An Wonder-like entity template is already in ERCayenneExample. This needs to > be examined and any missing functions from WonderEntity need to be added. > For example, I know some the .deleteAllXXXXRelationships and .createXXXX(…) > methods are missing. > More refactorings need to created. For example, a refactoring script should > be made that changes NSArray and NSDictionary methods to the equivalent List > or Map APIs (since Cayenne doesn't use these classes for relationships or > fetch results you probably want to minimize the places you need them). > Submit code to Cayenne or create Jira issues > Any questions? :-) > > John > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/webobjects-dev/kelleherk%40gmail.com > > This email sent to kelleh...@gmail.com
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com