You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Todd Orr <to...@gmail.com> on 2010/08/12 21:38:57 UTC

Re: Tapestry 5.2 + TSS 3.0.0 + Hibernate 3.5.2 QuickGuide

Raising this one from the dead.

I've followed all these instructions on the 5.2 alpha and I can't get
anything to work. The primary issue is that Tapestry appears to have
no knowledge of any of the security services. I receive this error in
the browser on load:

Exception assembling root component of page Start: Exception
assembling embedded component 'layout' (of type
com.foo.web.components.Layout, within Start): Exception assembling
embedded component 'menu' (of type com.foo.web.components.Menu, within
Start:layout): Unable to resolve 'security/ifloggedin' to a component
class name.

This used to work in 5.1. I'm hoping a new official TSS release will
resolve this, but has anyone run into/solved this already?

Thanks


On Mon, Jun 28, 2010 at 11:26 AM, Alex Kotchnev <ak...@gmail.com> wrote:
> The fix in
> http://www.mail-archive.com/users@tapestry.apache.org/msg44449.html  is now
> applied in 3.0-SNAPSHOT.
>
> Regards,
>
> Alex K
>
> On Sun, Jun 27, 2010 at 11:30 PM, ebt <no...@gmail.com> wrote:
>
>>
>> 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-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org