]project-open[ cvs+acl permission configuration

7
Using ]project-open[ to manage SVN / CVS+ACL permission configuration How to use ]project-open[ as a Web interface to maintain the permission configuration files of the Subversion (SVN) and CVS+ACL source code version control system. (cc) Except where otherwise noted , content on this slide is licensed under a Creative Commons Attribution 3.0 License

Upload: projectopen

Post on 12-Jan-2015

3.677 views

Category:

Technology


5 download

DESCRIPTION

 

TRANSCRIPT

Page 1: ]project-open[ CVS+ACL Permission Configuration

Using ]project-open[ to manage SVN / CVS+ACL permission configurationHow to use ]project-open[ as a Web interface to maintain the permission configuration files of the Subversion (SVN) and CVS+ACL source code version control system.

(cc) Except where otherwise noted, content on this slide is licensed under a Creative Commons Attribution 3.0 License

Page 2: ]project-open[ CVS+ACL Permission Configuration

]project-opem[ 2010, ALM / Frank Bergmann / 2

The Problem

Manually maintaining the permission configuration of SVN or CVS+ACL is error prone and requires system administrator privileges

Permission management of individual SVN/CVS “projects” should be delegated to the project owner.

Page 3: ]project-open[ CVS+ACL Permission Configuration

]project-opem[ 2010, ALM / Frank Bergmann / 3

The Solution

1. Use ]project-open[ as a Web-front-end to manage the configuration.

2. Model the SVN/CVS projects in ]po[ as configuration items.

3. Assign the SVN/CVS project owners as administrators to the ]po[ configuration items representing the CVS/CVS projects

4. Use a Perl script (or any other language) to generate the SVN/CVS configuration files based on the ]po[ configuration. The Perl script can use the ]po[ REST interface to query a remote ]po[ server

Page 4: ]project-open[ CVS+ACL Permission Configuration

]project-opem[ 2010, ALM / Frank Bergmann / 4

The Solution

On the ]project-open[ server, a REST interface exposes the SVN/CVS configuration as a Web service

On the SVN/CVS server, the Perl script retrieves the configuration and writes the configuration files for the SVN/CVS daemon

]project-open[ Server

AOLserver

PostgreSQLDatabase

]po[ REST API

]po[ Libraries

OpenACS Libs

SVN / CVS Server

CVSdProcessConfig

Files

Perl ScriptRetrieves configuration via REST and writes config files

RE

ST

Page 5: ]project-open[ CVS+ACL Permission Configuration

]project-opem[ 2010, ALM / Frank Bergmann / 5

Group Management for CVS + ACL

CVS+ACL (cvsacl.sourceforge.net/) is a patch for CVS that adds ACLs (Access Control Lists) permissions to CVS

A “CVS ACL Group Admin” portlet (at the right) is shown in the ]po[ UserViewPage. It allows to manage the user’s CVS group membership.

The CVS ACS portlet is integrated into the ]po[ permission system, allowing to delegate permissions.

A Perl client uses the ]po[ REST Interface to retrieve the group information and writes the CVSROOT/group configuration file

The example at the right shows the resulting “group” file for CVS+ACL generated by the Perl client.

Page 6: ]project-open[ CVS+ACL Permission Configuration

]project-opem[ 2010, ALM / Frank Bergmann / 6

Installing Group Management for CVS + ACL

Make sure you are running ]po[ 3.5 or higher Retrieve the package “intranet-cvs-integration”

from the ]po[ CVS server (=> see www.project-open.org for details)

Install the package using /acs-admin/apm/ -> Install packages

You will see the CVS Group Admin portlet in every user’s page

Go to the Perl directory ~/packages/intranet-rest/perl-client-examples/ and run “perl generate-cvs-acl-group-conf.perl”

For questions and issues please go to www.sourceforge.net/projects/project-open/ => Open Discussion or contact [email protected] for support services.

Page 7: ]project-open[ CVS+ACL Permission Configuration

]project-opem[ 2010, ALM / Frank Bergmann / 7

Thank You