wiki:FRDevelPage

Version 1 (modified by Claude Duhr, 14 years ago) ( diff )

--

TOC

Project administrators Page

This page aims at giving a spectrum of all the features we propose to developers in CP3, as well as help on using these features.

Users management

Users are managed through the accountmanager plugin. This allows you to add/remove users and change passwords. Users can also register through the register link after solving a repatcha. If you want to get notified on user registration, do not forget to configure the accounts:notifications section of the admin page.

Permissions are dealt form the general:permissions section. we advise you to define groups in order to define permissions globally.

Wiki

Features

The Trac wiki offers features linked to other components of Trac: issue tracking and code browsing. This means that you can make very simple TracLinks to tickets, ticket comments, source files, changelogs, etc... You can also perform queries in the ticket database (see here).

Wiki syntax is inspired by moinmoin. This means that you already have a moinmoin or twiki we have means to import it. Some corrections will have to be done by hand, but most of your content will be preserved.

Another interesting feature of the Trac wiki is InterTrac. This allows to make links to other Trac projects (even external ones) as directly as you would do it for your own project. This feature has to be activated by the administrators (fill a New Ticket on this site).

Permissions

Permissions on the wiki pages are managed through a file you can edit through the admin panel. You can define all types of permissions (read, create, edit, delete) for individual pages or recursively. For instance, the following configuration:

[groups]
admins = usera, userb, userc

[wiki:WikiStart@*]
@admins = WIKI_ADMIN
authenticated = WIKI_VIEW
* = ""

[wiki:TestPage*@*]
@lesadmins = WIKI_ADMIN
* = ""

Gives administration rights on the frontpage to all users in the admins group, allows authenticated users to see it but anonymous users are redirected to the login page. Administrators can see and manage the testpage but no one else can see it. This overrides the general Trac wiki permissions.

Important note about permissions

There are two or three sets of permissions on any trac project hosted here. the first is the global trac permissions system available through the Admin tab, general section, permissions subsection. This is where you basically decide who the administrators of the site are and what are the default permissions for authenticated and anonymous users.

The second permissions set is in the account section, under page permissions. This is where you set wiki permissions to override the default ones in the general permissions section. You have to check consistency of usernames here. Groups are independant of trac groups and you should then define new groups here.

Finally, you will find the svn repository permissions under svn -> permissions. Once again, this is an independant file and groups have to be redefined.

This setup allows great flexibility at the cost of sometimes redundant groups. There is unfortunately now way to define groups globally.

Source code repositories

The Trac software includes a repository browsing part. This allows to browse the files of your source code (versioned repository), see changes between versions (revisions), look back in time on a file, ... It can be accessed through the Browse source top menu link (/projects/xxx/browser, where xxx is your project name). Permissions are set via the Admin page -> left menu General -> Permissions; this is the BROWSER_VIEW action.

As this feature does not help you to download/work on your repository in production, the IT team proposes to host your repository. It will then be made accessible through the https+webdav protocol with the same users and passwords as for the Trac website, although the permissions are different and not inherited from Trac (permissions shown above).

The project repository is located at /sources/xxx/. This is where you will checkout, branch, commit, merge ... your code.

Repository permissions

Subversion is the Source Code Management tool we recommend for your project.

Other source code management tool like git, bazaar and mercurial are also supported. Browsing in Trac works perfectly fine with those, although they are not in a stable state yet. However, access permissions are impossible to handle with these latter tools. This means all authenticated users have read (checkout, branch) and write (commit, merge) access to your repository.

For SVN on the other hand, all kinds of permissions schemes are possible. For instance:

Read Trunk Write in Trunk Read Branches Write in Branches
group A (admins) YesYesYesYes
group B (devels) YesNo YesYes
group C (others) YesNo No No

This simple scheme allows developers to create and manage their own feature branches while preventing them to harm the trunk. Administrators can then commit/merge tested branches to the trunk. All other users (anonymous or not) can read the trunk to get the latest version for testing purposes.

Permissions for the SVN repository can be reviewed via Trac: Admin page -> left menu Subversion -> Permissions

One can still use the power of bazaar's "local versioning" through the bazaar-svn plugin of bazaar.

If you are a beginner (or not):

Contact the IT team for planning a first draft of the workflow, of the source code tree and a global scheme for the permissions.

Tracking system

Tickets

Defects and feature requests are handled in Trac through TracTickets. The adminstrators can determine who has what kind of permissions on tickets. By default in CP3, authenticated users can create and comment tickets, as well as edit the most basic fields.

Tickets can be linked to Milestones and to software versions. Milestones allow you to fix a deadline for a set of features or bugfixes. The roadmap tab of your project tells you how your milestones progress and when they are due.

Default ticket fields are :

  • Summary and description
  • Reporter
  • Type: dropdown menu for the type of ticket (bug, request, enhancement/suggestion, ...). You can set the types via the admin page.
  • Component: you can divide your project in components
  • Priority
  • Cc-list: list of people that will get e-mail updates
  • I have files to attach

All dropdown lists are editable through the Admin tab.

Queries

Most of the ticket fields can be used later to make queries, for instance:

[[TicketQuery(priority=major,order=time,desc=1,max=5,format=table,col=resolution|summary|owner|status|time)]]

Will show: summary|owner|status|time)

Instead of the "table" format, you can use "list", "compact" or event "count" for results like:

There are TicketQuery(priority=major,format=count,component!=todo) major priority tickets at the moment. Among them, TicketQuery(priority=major,format=count,status!=closed,component!=todo) are still open. Here is the complete list (time-ordered):

TicketQuery(priority=major,format=list,component!=todo,order=time,desc=1)

Plugins

The Trac software is complemented by a set of plugins. Some of them are integrated into Trac by default, while others are available for installation. We recommend that you don't install and manage plugins by yourself. A simple request to the IT team (fill a ticket here) is better, as we will install the plugin for all projects at once.

A lot of plugins are already installed, although not all activated for this project:

  • AutocompleteUsers for the reporter, assign, cc-list fields
  • Authz-policy and AuthzPolicyEditor to manage the permissions on wiki pages
  • AccountManager to allow administrators to manage their users form the web interface, allow users to register, etc...
  • PermRedirect to redirect users trying to access forbidden pages to the login page
  • TicketGuidelines to provide advice at the creation and edition of a ticket
  • TracMath to allow latex code in the wiki
  • SVNAuthz to manage permissions on svn repositories from the admin page
  • TocMacro to generate tables of content at will
  • TicketStats to show a plot of open and closed tickets
  • sensitivetickets to allow confidential tickets
  • MasterTickets to provide a worflow based on tickets blocking other tickets (example)

And many others ! The full list is available on the Trac-Hacks website.

Note: See TracWiki for help on using the wiki.