Forum OpenACS Q&A: Response to Thoughts on CCM

Collapse
Posted by Nick Ager on

I've developed sites using both ACS 4.x classic and CCM and agree with most of the comments so far namely:

* I found the CCM learning curve steeper than ACS/tcl.

* I find ACS/tcl supports a more iterative style of development which is probably more productive.

* The persistence layer is excellent and does a good job of persisting java objects into relational tables eg it maps object -> party -> user -> mysiteuser from a java hierarchy into a set of related tables, writing the queries for you.

* Bebop supports a new model of web page development over the traditional page flow web programming (list -> new entry form -> confirm -> list). Bebop's model is particularly suited to building complex multistate interfaces.

* Bebop supports development of powerful reuseable components (eg the calendar package). Unfortunately I found that standard components, such as List and Table, difficult to use and the result didn't seem to justify the effort expended on using them. I found other components such as the tabbed view were simpler to use and the result was more impressive. (I think more work is needed raising bebop's "bang for your buck")

* Using CCM doesn't force you to use bebop. Sometimes I use the persistance layer with vanilla JSP, but mostly I mix JSP with bebop.

* One major problem I have which limits my productivity is the need for frequent server restarts while developing. I believe this can be alleviated by using Resin rather than Tomcat.

* Java IDEs such as eclipse are great for browsing and understanding the API.

* A concrete example of the utility of the JDK is the support the java provided (java.util.DateFormat) for localising the calendar. The calendar makes uses of the user's browser language preference.

I'm looking forward to the resumption of the CCM community and the release of CCM for postgres and hope that the two communities can be complementary.