More Related Content Similar to ]project-open[ CVS+ACL Permission Configuration Similar to ]project-open[ CVS+ACL Permission Configuration (20) More from Klaus Hofeditz (14) ]project-open[ CVS+ACL Permission Configuration1. 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
2. © ]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.
3. © ]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
4. © ]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
AOL
server
PostgreSQL
Database
]po[ REST API
]po[ Libraries
OpenACS Libs
SVN / CVS Server
CVSd
ProcessConfig
Files
Perl Script
Retrieves
configuration via
REST and writes
config files
REST
5. © ]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.
6. © ]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 info@project-open.com for
support services.