******* This feature is for advanced users only*********************

1. Introduction

An optional feature of the phpCollab is the its ability to integrate with CVS
(the Concurrent Versions System) repository. CVS is the de-facto version 
control system in the open-source community. PhpCollab offers an 
a web based browser for the CVS repository.

Following is the a quick list of features phpCollab offers:

[*] Integrated CVS browser

[*] Quick launch of CVS browser via a single icon

[*] When a project is created, a CVS repository is created

[*] When a project is deleted, a CVS repository is deleted

[*] When a user is added to a project, same user is added to the
project CVS repository

[*] When a user is removed from a project, same user is deleted from
the project CVS repository

[*] When a user changes his password, all CVS passwd files for that
user is updated.

[*] When a user is deleted from phpCollab, he is deleted from all CVS
repositories.


Read more on CVS at http://www.cvshome.org/docs/


2. Requirements
Although this feature is only tested on Linux (Debian), it should work with
most unix flavors. Requirements are fairly simple: CVS server (and basic 
unix shell tools is you would like setup pserver for CVS).



3. Setup

There are three important tasks that are associated with setting up CVS 
feature: creating CVS user, Creating a CVS repository Vault, and modifying 
PhPCollab settings.

3.1 Adding the CVS User
For better security, a CVS user needs to be created for use with your 
projects. There are various ways, the the simplest is to use "useradd" 
command. For the rest of this document, it is assumed that a "cvsuser" user 
account is added to your system.


3.2 Creating the CVS Repository Vault
We need to first determine where we would like to keep all our CVS 
repositories. There are several considerations for choosing a location for 
your the CVS vault, but let's assume you would like to have it under home 
directory.

1. Change user to root
su root

2. Make a new directory for the CVS vault
mkdir /home/vault

3. Change the permissions of this directory to
chmod 775 /home/vault

4. Change the ownership of this directory to
chown httpd /home/vault

5. Change the group ownership of this directory to
chgroup httpd /home/vault

Last two steps are required to make sure that the web server has read and 
write access to the CVS vault directory. Some web servers might be running 
as a different user. Check your web server configuration files to make sure 
that CVS vault is owned by the correct user and group.


3.3 Modifying the PhPCollab Settings
During the setup process, make the following selections:

* Login Method
CRYPT

* Should CVS be enabled?
True

* Should browsing CVS be limited to project members?
False

* Define where CVS repositories should be stored (no slash at the end)
/home/vault

* Who is the owner CVS files?
httpd


This is it! You should be able to access the CVS respository from 
phpCollab. 

Now that you have successfully setup your CVS vault and configured PhpCollab 
to access the CVS repositories, I assume you would like to start using it :-)


4. Adding files to the CVS repositories

First, let's see what happens when we create a project and a user to project.

1. Login to PhpCollab as admin
2. Create a project (note the project ID, as we will use it later)
3. Add a user to a project.


[More to come............]
cvs /home/vault/ import 
cvs /home/vault/ co 


5. Setting up "pserver" for CVS

[Coming soon.............]


6. Remote acces to CVS

First, log into phpCollab using your web browser. When you log in, you 
should see the projects you are listed as a team member. Take note of the 
project IDs. You will need this ID when you use a CVS client to access the 
repository.

Go ahead and change your password using the "Preferences" link. This will 
ensure that CVS password reflects your own password. 

>From your PC/Workstation, launch your CVS client application. If you are 
using WinCVS, open the WinCvs Preferences panel by selecting Cvs Admin -> 
Preferences from the menu.

Set the CVSROOT to :pserver:@yourdomain.com:/home/vault/

Substitute username, your domain and projectID fields with your PhpCollab 
username and the ID of the project that you participate in.

>From the WinCVS tool, log in to cvs by selecting Cvs Admin->Login from the 
menu. Enter your PhpCollab password when prompted.

If you are using command line version of the CVS client, use the following 
commands

Login:
cvs -d:pserver:@yourdomain.com:/home/vault/ login