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
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.
Use ]project-open[ as a Web-front-end to manage the configuration.
Model the SVN/CVS projects in ]po[ as configuration items.
Assign the SVN/CVS project owners as administrators to the ]po[ configuration items representing the CVS/CVS projects
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
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 Process Config Files Perl Script Retrieves configuration via REST and writes config files REST
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.
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_address] for support services.