Since there is not that much documentation out there concerning integrating the latest and greatest afore-mentioned releases I will try to aggregate the steps I took here for future reference.
Q: Why Tapestry 5.2-SNAPSHOT vs 5.1.05 release? A: Most jobs I do require role based security(TSS) and login persistence (Hibernate). Tapestry provides session management through tapestry-hibernate but through reading various forums it seems that persisting properties with hibernate through Tapestry can break Hibernate sessions, requiring http://wiki.apache.org/tapestry/FrequentlyAskedQuestions/SpringHibernate datasqueezers to maintain session parity. As a new Tapestry user (as well as being new to Java) this seemed somewhat daunting. Tapestry 5.2 might just have the answer to this issue using http://tapestry.apache.org/tapestry5.2-dev/tapestry-hibernate/userguide.html @SessionState . Great! but this necessitates upgrading tapestry-security as well. TSS 2.1.1-SNAPSHOT is not compatible with Tapestry 5.2. Upgrading TSS requires Hibernate 3.5.2, so on and so forth :) The following steps are based upon using this software: Eclipse 3.5 Maven2Eclipse Suberversive bash terminal: mvn 1. build a 5.2.0-SNAPSHOT archtype: I did this to capture any pom changes from my earlier 5.1 build. here is the command I used in the terminal mvn archetype:generate -DarchetypeCatalog=http://tapestry.apache.org 2. get tapestry-security 3.0.0: currently this snapshot is not available through maven but there is a reference to a svn repo that contained the required code. Using subversive, checkout the project to your local machine (http://www.localhost.nu/svn/public/tapestry-spring-security/trunk). I found I needed to make a few changes to compile/install this package. a. I added reference to commons-logging in the tapestry-spring-security/pom.xml <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> <type>jar</type> <scope>compile</scope> </dependency> b. I had to remove a reference to @Override in package package nu.localhost.tapestry5.springsecurity.services.internal; at row 118. Without these changes I got runtime errors in Jetty. 3. Install the tapestry-security package in maven: In Eclipse right click on the tapestry-security project and click Run As->Maven install to build the package to your local .m2 repo. 4. Add the tapestry-security dependency to your tapestry 5.2 project. Here is my reference in the POM <dependency> <groupId>nu.localhost.tapestry</groupId> <artifactId>tapestry-spring-security</artifactId> <version>3.0.0-SNAPSHOT</version> <type>jar</type> <scope>compile</scope> </dependency> 5. If you have an existing Tapestry 5.1 project based upon tapestry-security 2.+ using these config http://www.localhost.nu/java/tapestry-spring-security/conf.html examples you will need to update your imports, Spring 3 re-factored a few packages from 2 which is used in TSS 2.0/2.1 . Here are a few examples, I used Eclipse to resolve the new locations: -import org.springframework.security.providers.AuthenticationProvider; -import org.springframework.security.providers.dao.SaltSource; -import org.springframework.security.providers.encoding.PasswordEncoder; -import org.springframework.security.providers.encoding.ShaPasswordEncoder; +import org.springframework.security.authentication.AuthenticationProvider; +import org.springframework.security.authentication.dao.SaltSource; +import org.springframework.security.authentication.encoding.PasswordEncoder; +import org.springframework.security.authentication.encoding.ShaPasswordEncoder; 6. Add Hibernate: Hibernate 3.5.2 is required (by Spring 3 I think) but is not in the main mvn repository. I had to add the following repository to my Tapestry 5.2 pom.xml: <repository> <id>jboss-public-repository-group</id> <name>JBoss Public Repository Group</name> <url>http://repository.jboss.org/nexus/content/groups/public</url> </repository> to to resolve this dependency: <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>3.5.2-Final</version> <type>pom</type> </dependency> 7. Cross your fingers and compile, it should work. Note: you might need to make the change referenced http://www.mail-archive.com/users@tapestry.apache.org/msg44449.html here . If I have missed anything please add a response to clarify, these steps will most likely change as these packages move from snapshots to releases. I wouldn't have been able to do with this without the helpful references below. Thanks Jim! References: http://www.localhost.nu/java/tapestry-spring-security/conf.html http://stackoverflow.com/questions/2999077/how-to-compile-hibernate-project-with-maven http://www.mail-archive.com/users@tapestry.apache.org/msg44346.html http://tapestry.apache.org/tapestry5.2-dev/tapestry-hibernate/userguide.html http://wiki.apache.org/tapestry/FrequentlyAskedQuestions/SpringHibernate -- View this message in context: http://old.nabble.com/Tapestry-5.2-%2B-TSS-3.0.0-%2B-Hibernate-3.5.2-QuickGuide-tp29008491p29008491.html Sent from the Tapestry - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org