SVNFrontend

RDlab@lsi.upc.edu
February 2011

english Welcome to LSI.

1. The administration application

Rdlab offers those users with a Subversion repository the possibility to use a web interface to manage their repository’s access, as well as changing its subversion user’s password.

Furthermore, it allows specifying, for each user who can access a repository, a mail address to be used by the subversion post-commit hook in order to warn the user every time the repository data changes.

For more information on obtaining access to the Subversion repository service, please visit this link: http://rdlab.lsi.upc.edu/index.php/en/services/documentation.html

2. Accessing the application

Once we have a username and password, we can access the application by this address: http://http://svn-rdlab.lsi.upc.edu/svnfrontend

The system will ask us for our username and password:

WARNING: The password may not be the same as the one for the rest of LSI’s services.

Once the data is submitted, we will access the application and we will be able to select among different options.

2.1 Password change

The upper form, Canvi de contrasenya, allows us to change our repository password. It is important to take into account that, if we change our password, the browser session will be reset and we will be asked for our user and password again.

2.2 Accessing the editor

With the lower form, Administració de repositoris, we will be able to select one of the repositories of which we are administrators and access the permission management application.

3. Permission edition

The permission management editor allows us to set which users can access our repository, whether at the root or at any folder.

3.1 Text mode view

The text mode view allows us to edit permission rules as if it was a plain text file. In order to specify permission rules, the syntax to be used is shown below:

Para especificar los permisos se debe usar la siguiente sintaxis:

[Repository:/Folder]
User = Permission

Repository is the name of our repository; Folder is the path from the root to the folder we want to set permissions to; User is the username of whom we want to set access and Permissions is one of the following: read (r), read/write (wr) or deny (empty).

To save the permissions, just click on Guardar button.

WARNING:The system will check if the usernames belong to the Subversion user list, and, if not, it will not allow the permission rules list to be saved.

Moreover, it is important to bear in mind that permission rules are inherited from the root towards each folder. Allowing or denying access to a directory allows or denies access to each of its subdirectories.

This allows different ways to specify the same access rules. Below, an example on how to set the permission for a specific situation using the minimum set of rules will be shown.

3.1.1 Permission editor use example

Let us suppose that we have a repository, named rdlab, which contains three folders (projects) named Projecte1, Projecte2 and Projecte3. We also have four users to work with: Supervisor, Programador1, Programador2 and Ajudant.

We want the Supervisor to have complete access to the entire repository tree. Programador1 must be able to see the root and read from every project, but to only modify (write) Proyecto1. Programador2 can also see the root and the projects’ contents, but cannot write in any project and cannot access Projecte2. Ajudant cannot access the root but can write inside Project3.

We would specify the permission rules as shown below, trying to do it in a minimum way by using the rule inheritance.

In this first fragment we state that three users (Supervisor, Programador1 and Programador2) can access the root and, if not changed by a later rule, this will be inherited by the subfolders.

[rdlab:/]
Supervisor = wr
Programador1 = r
Programador2 = r

Next, we will specify that Programador1 can write inside Projecte1. It is inherited that Supervisor can write too and that Programador2 can read, so it is not necessary to state it again.

[rdlab:/Projecte1]
Programador1 = wr

Concerning Projecte2, only Supervisor can write, Programador1 can read and Programador2’s access is not allowed. It is not necessary to set a rule for both Supervisor and Programador1 because it is inherited from the root, but it is necessary to specifically set that Programador2 cannot access (“empty” permission).

[rdlab:/Projecte2]
Programador2 =

Finally, we will allow Ajudant to write on Projecte3. By inheritance from the root, the other users will be allowed to read or write.

[rdlab:/Projecte3]
Ajudant = wr

The next image shows it all together in the editor

3.2 Tree view

Alternatively to the plain text mode, the system allows permission edition in graphical mode, which can be accessed my pressing Vista en Arbre.

By hovering the mouse pointer over the repository path, three options will be shown:

3.3 Edición de direcciones de correo

Rdlab, automatically allows Subversion to send a mail to all users to access to a repository every time any users commits a change.

To make it possible, the system must be told, for each user we want to receive a mail, an address where the mail will be sent. If we do not want a user to receive the mails, it is enough to leave the field blank.

3.3.1 Mail addresses specification

To access the mail addresses edition form, we should click on Editar correus.

The usernames shown in this form are the ones introduced at Mode Text and/or at Vista en Arbre views, so it is necessary to first fulfill those views if we want a username to be available in this form.

To save the changes, click on Guardar. This will also save changes made in permission management rules.

4. Agradecimientos

RDlab thanks to Laboratori de Càlcul de la FIB (lcfib) its collaboration in the development of this application by sharing the permissions editor source code.