There is a message from 8/23 on the Jetspeed User list discussing integration of Slide. I still havent got around to trying it out. (Sorry): There was also an attachment
---------------------------------------------------------------------------- --------------------------------------------- Hello All, First of all, I want to apologize for the cross posting, but I thought this was appropriate for both groups. I thought it'd be a good idea to present some of my work to the community since I have relied on you quite often to resolve problems using Jakarta products. First a little background. My group has been developing a Content Management/Presentation System using various Jakarta Technologies for about a year now. We use Jetspeed 1.3a2 as our presentation framework and have integrated pieces of Lucene for search capabilities and Slide 1.0.16 for secure content storage. Of course, we use Apache and Tomcat to serve it up! This email will focus on my work integrating User Administration in Jetspeed and Slide. Our software requires both Jetspeed (Turbine) and Slide authentication, since we have security around the Jetspeed portal and we have Slide security when linking to our document repository from with the portal. I have developed a hook into Slide user administration from within Jetspeed by extending the JetspeedDBSecurityService and implementing Slide code. You can find the src and properties in the attached archive. Please note the following regarding the attached source: 1) The com.novuscg.util.slide package contains my wrapper around the Slide user/group administration code. You will note that the SlideNode, SlideUser, and SlideGroup classes represent a strategy pattern that provide the core code for creating, updating, and deleting users and groups. Note that the SlideGroup class which manages Slide groups has been stubbed out but not fully implemented. The SlideUser class is fully implemented though. The SlideClient and it's impl perform the Slide Domain initialization to retrieve the NamespaceAccessToken. The Administrator and it's impl do the actual administration from within a transactional context. 2) The com.novuscg.portal.services.security.NovusJetspeedDBSecurityService represents my implementation of the Jetspeed Security Service and implements the code described in 1) to perform Slide User administration along with the normal Jetspeed User Administration. For those of you familiar with Jetspeed, if you login as admin and create a user through the "User Browser" portlet, you will be administering a Slide User in addition to the Jetspeed User. 3) The source relies on special properties settings. See the attached properties file. Note that you must replace the existing JetspeedDBSecurityService with the NovusJetspeedDBSecurityService. This user administration synchronization is necessary since I'm using Slide to store documents uploaded through the Jetspeed portal. The cool thing is that I'm using the Turbine Upload Service to grab the FileInputStream and I pass it to Slide through the WebDAV client provided with Slide. That's another topic in itself though. This is important if you want this code to work! When I first implemented this code I faced the problem that I couldn't hook directly into the Domain instantiated by Slide to grab the NamespaceAccessToken using the Jetspeed portal (The attached src lives in my Jetspeed Web App src directory). I solved this problem by forcing Slide class loading from the CATALINA_HOME/common/lib directory. In short, you have to do the following modifications to Slide to get this code to work: 1) Remove slide-kernel.jar, slide-roles.jar, and slide-stores.jar from the slide.war and slide/lib/ directory. 2) If you have included slide-kernel.jar, slide-roles.jar, and slide-stores.jar in your Web-App lib directory so you can compile the attached classes, then you must remove them as well before deploying. 3) Make sure the slide-kernel.jar, slide-roles.jar, and slide-stores.jar exist in the CATALINA_HOME/common/lib/ directory. 4) There is a conflict between the jta_spec_1_0_1.jar distributed with Tomcat and the jta.jar distributed with Slide. Make sure jta_spec_1_0_1.jar and jdbc2_0-stdext.jar is removed from the CATALINA_HOME/common/lib/ directory. Voila! It should work! If you have any questions or comments, just let me know. This is typical of the kind of work we do, so if you need us to implement some stuff, let me know! Regards, Tom Keeney Novus Consulting Group -- To unsubscribe, e-mail: <mailto:jetspeed-user-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:jetspeed-user-help@;jakarta.apache.org>
