You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Dariush Behboudi <da...@glamm.com> on 2002/09/25 14:52:14 UTC

R: Slide - Jetspeed User/Group Administration Integration

Thank you very much for input...
I'll try it!

Ciao, Dariush.


-----Messaggio originale-----
Da: Tom Keeney [mailto:tom.keeney@novuscg.com]
Inviato: lunedì 26 agosto 2002 15.57
A: Jetspeed Users List
Oggetto: RE: Slide - Jetspeed User/Group Administration Integration


Dariush,

I understand your problem.  As it stands, Slide is not well documented, but
there is an easy manual process to add users to Slide.  Note that my code
automates the process and doesn't require a server restart like the manual
process.  To configure slide users, first you need to set up the root user.
Go to the conf/ directory in the Tomcat server embedded in slide and modify
slide.xml and everything in the slide subdirectory as necessary.  To
configure root, you must uncomment the following xml in slide.data and add
the root password:

        <!--
        <objectnode classname="slideroles.basic.RootRoleImpl"
uri="/users/root">
          <revision>
            <property name="password"

namespace="http://jakarta.apache.org/slide/">ADDPASSWORD</property>
          </revision>
        </objectnode>
        -->

Then start up your embedded server and your root user will be created
(provided you have configured your stores in slide.def).  slide.data
contains examples for creating other Slide users and groups.  You must put
your User/Group creation xml within the <objectnode
classname="org.apache.slide.structure.SubjectNode"
uri="/users"></objectnode> tags.  Here's an example of how to create two
Users and assign those users to a Group:

<objectnode classname="slideroles.basic.UserRoleImpl" uri="/users/newuser1">
    <revision>
	<property name="password"
namespace="http://jakarta.apache.org/slide/">test</property>
    </revision>
</objectnode>

<objectnode classname="slideroles.basic.UserRoleImpl" uri="/users/newuser2">
    <revision>
	<property name="password"
namespace="http://jakarta.apache.org/slide/">test2</property>
    </revision>
</objectnode>

<objectnode classname="org.apache.slide.structure.GroupNode"
uri="/users/GROUP1">
        <objectnode classname="org.apache.slide.structure.LinkNode"
uri="/users/GROUP1/newuser1" linkedUri="/users/newuser1" />
        <objectnode classname="org.apache.slide.structure.LinkNode"
uri="/users/GROUP1/newuser2" linkedUri="/users/newuser2" />
</objectnode>


I suggest you check the Slide Mailing List if you have other questions.
Good luck!

Tom

-----Original Message-----
From: Dariush Behboudi [mailto:dariush.behboudi@glamm.com]
Sent: Saturday, August 24, 2002 3:16 AM
To: 'Jetspeed Users List'
Subject: R: Slide - Jetspeed User/Group Administration Integration


Hi Christophe,
I'm really interested to integrate a content/document management within
jetspeed, and I saw that both you and Tom are using a Slide based
solution, but I'm new to slide framework.
I'd like to start from the Slide platform to understand its features,
I tried to install it but I didn't found a complete documentation on how
configure properly everything (from users/passwords...).

May you help me with some additional infos and examples?

Thanks in advance,
Dariush.





-----------------------

-----Messaggio originale-----
Da: Christophe Lombart [mailto:christophe.lombart@skynet.be]
Inviato: venerdì 23 agosto 2002 22.11
A: Jetspeed Users List
Oggetto: Re: Slide - Jetspeed User/Group Administration Integration

That's really stupid !  I'm  working on the same integration.. I build a
new fulcrum service dedicated to Slide. I sent the code to Jazon
(turbine dev) somthing like 2 months ago. In this fulcrum Slide service,
there is also a turbine & slide security integration. It is quite simple
:
* No need to rewrite a new Jetspeed/turbine security service.
* Users and groups are still manage - as usual - via jetspeed or a
classic turbine application.
* In the "slide domain" you can make reference to a turbine user or
group in order to define your ACL for a content item. the Slide engine
access to the turbine/jetspeed security info by using a specific "Slide
store".
* You can use all Slide API from this fulcrum service.

This is still a beta version but seems to work. Let me know if someone
need the service code + a test code.

By using this new fulcrum service, it should be easy to call Slide API
from a portlet  (if you have good experience with Slide ;-) ) but I need
to test it with the last jetspeed version.

Now I'm working on more robust portlets for content management and
webdav support. ASAP, I will post a message on this user list. My final
goal is starting a robust open source document management project wich
integrate Slide, Turbine/Jetspeed and editors like openoffice. I need
help- specially for the document workflow specifications.So, you are
welcome to contact me for more info. It is an ambitious project and
certainly interesting for the jakarta community.

Christophe


Tom Keeney wrote:

> Steve,
>
> I'm happy to share my experience and hopefully solve your questions.
>
> Regarding the user administration features, I have integrated user
admin between Jetspeed and Slide so when you manage a user in Jetspeed,
my code will manage the same user in Slide.  This essentially gives you
single-sign-on capabilities with respect to Jetspeed and Slide
authentication.
>
> I believe you're more interested though in content management
solutions with Jetspeed and Slide, although user admin synchronization
is an essential part of it.  We have developed a full content management
system in Jetspeed based around the Turbine Upload Service and other
Turbine Services.  Essentially, we have a Turbine Application integrated
into our Jetspeed Portal that uploads documents to our Slide content
store and saves document meta-data to both an independent database and
the Slide database.  We also have a document review process integrated
into this system.  When we upload the document, we grab the
FileInputStream from the Turbine Upload Service and pass it off to Slide
using the Slide WebDAV client.  Although, I don't see why you couldn't
just upload the document directly to Slide through your WebDAV enabled
application, provided it is compliant with WebDAV standards.
>
> We developed customized Jetspeed portlets to render links to the
documents based on the meta-data assigned to each document.  However,
you can render the document directly with in-line frames coded into your
non-technical admin portlets.  So to answer your question, our portal
code will get you started in the right direction.
>
> I will contact you offline to discuss the details.
>
> Regards,
>
> Tom Keeney
>
> -----Original Message-----
> From: Steve [mailto:sbelt@velos.com]
> Sent: Thursday, August 22, 2002 2:13 PM
> To: Jetspeed Users List
> Subject: Re: Slide - Jetspeed User/Group Administration Integration
>
> I hope you don't mind some non-technical questions. I am curious about
what
> user-or-admin-features you have added to Jetspeed.
>
> (BTW-I am only familiar with jakarta-slide from what I have read on
the
> jakarta-site) Is there a website which demonstrates your code in
action with
> Jetspeed? You mentioned that you upload the files thru turbine - is
this
> presented as a portlet? What are you doing (or can you do) with the
uploaded
> files within Jetspeed?
>
> I have been using Jetspeed in an intranet environment for our
technical
> people. I am looking to include non-technical portlets which are
maintained
> by non-technical managers. My hope was that I could use Slide as a
robust
> system for allowing these non-technical admins to update their portlet
using
> their current (WebDAV enabled) html editor. Is your code a step in
this
> direction?
>
> Thanks,
>
> Steve
>
> ----- Original Message -----
> From: "Tom Keeney" <to...@novuscg.com>
> To: "Jetspeed Users List" <je...@jakarta.apache.org>
> Sent: Thursday, August 22, 2002 9:41 AM
> Subject: RE: Slide - Jetspeed User/Group Administration Integration
>
> No it hasn't been tested in 1.4, but I don't see why it wouldn't work
> considering it's only dependent on Jetspeed through the
> JetspeedDBSecurityService.  If you get it working in 1.4, let me know.
>
> Regards,
>
> Tom
>
> -----Original Message-----
> From: Dariush Behboudi [mailto:dariush.behboudi@glamm.com]
> Sent: Thursday, August 22, 2002 11:55 AM
> To: 'Jetspeed Users List'
> Subject: R: Slide - Jetspeed User/Group Administration Integration
>
> Hi tom,
> thanks for your contribution, I'll try it asap.
>
> Did you ever tested on Jetspeed1.4?
>
> Dariush.
>
> -----Messaggio originale-----
> Da: Tom Keeney [mailto:tom.keeney@novuscg.com]
> Inviato: giovedì 22 agosto 2002 17.39
> A: jetspeed-user@jakarta.apache.org; slide-user@jakarta.apache.org
> Oggetto: Slide - Jetspeed User/Group Administration Integration
>
> 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:
> <ma...@jakarta.apache.org>
> For additional commands, e-mail:
> <ma...@jakarta.apache.org>
>
> --
> To unsubscribe, e-mail:
> <ma...@jakarta.apache.org>
> For additional commands, e-mail:
> <ma...@jakarta.apache.org>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>


--
To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
For additional commands, e-mail:
<ma...@jakarta.apache.org>



--
To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
For additional commands, e-mail:
<ma...@jakarta.apache.org>


--
To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
For additional commands, e-mail:
<ma...@jakarta.apache.org>



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>