[railroad-dev] How to handle RailRoad with plone

Jan-Wijbrand Kolman jw at infrae.com
Thu Jan 27 08:49:34 MET 2005


JR wrote:
> I guess it is more a plone question than a railroad one, but I want to 
> be sure.
> 
> I get railroad server working, we've checked this with guido.
> I have installed rr with the postgre database option.
> I have met some difficulties with apache's webdav configuration.
> I have done a repoadm.py
> then I get
> ___
> [sgi4:~/Desktop/railroad-0.1.4] jrc% python repoadm.py showrepository 
> listing:
> Repository: unowned
>             Id: 0
>           Host:
>           Path:
>    Upload path:
>  Top directory:
> Repository: railroad_data
>             Id: 3
>           Host: localhost:82
>           Path: /rrr/repo/
>    Upload path: /rrr/service/formupload
>  Top directory: /www/rrr/
> ___
> 
> I placed Railroad and PloneRailroad directories in my ZopeApp/Products 
> application
> 
> But i did not run the clientadm.py script cause I don't know what the 
> auth_url is.
> I guess this is the point where I should have a better knowledge of 
> Plone and I just want you to confirm.

It not so much a Plone question - it is indeed a RR question.

You have the Railroad and PloneRailroad Products installed. Good. You then 
should be able to go to 'plone setup' --> 'Add/Remove Products'; in my case the 
URL for this looks like:

   http://host.domain.tld/plone_site/prefs_install_products_form

There you can 'enable' or 'install' or 'activate' the PloneRailroad Product 
(what the correct Plone-speak for this?).

After you have done so, in the left margin a link to 'Railroad configuration' 
will appear. The URL to this configuration looks like this in my case:

   http://host.domain.tld/plone_site/portal_railroad/

In this configuration screen you can add a 'plonerailroadservice'. This service 
is a key element in integrating the Railroad server with the CMS (in this case 
Plone).

The service takes five parameters:

   * A title: just a choose a sensible one :-)

   * client_name: this will be the identifying name for this CMS, being the
     client to the RR server.

   * Repo_url: this is the URL to top of the RR repository (looking at you data,
     I'd say this is 'http://host.domain.tld/rrr/repo' in your case).

   * Repository_name: the identifying name of the RR repository you will connect
     to, as configured on the RR server (looking at you data, I'd say this is
     'railroad_data' in your case).

   * Services_url: the URL to the top of the RR services (looking at you data,
     I'd say this is 'http://host.domain.tld/rrr/service' in your case).

Next step is to indeed use the 'clientadm.py' script to create a client 
registration for the client_name as configured in the above PloneRailroad service.

The 'auth_url' setting is the URL that the RR server will call to check for 
permissions for reading and writing resources on the RR server. IOW, the RR 
server will delegate all authorization to this 'auth_url'.

In the Plone case it is the PloneRailroad service you just configured that 
handles this authorization. The URL you have to use is the URL to the service 
with '/authorize' appended to it. So in my example, something like:

     http://host.domain.tld/plone_site/portal_railroad/service_name/authorize

After setting up a client, don't forget to activate this client for a specific 
repository on the RR server, using the 'clientadm.py' script, as well.

HTH - if not, please feel free to email me or contact me on #railroad. I will 
try to help you further then!

regards
jw

-- 
Jan-Wijbrand Kolman
jw at infrae.com


More information about the railroad-dev mailing list