This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: Internet & WWW

Hosting multiple projects with DrProject

By Rudolf Olah on September 13, 2007 (4:00:00 PM)

Share    Print    Comments   

Individual developers can use sites like SourceForge.net to host multiple projects, but such sites are not well suited to college environments that have many student programming projects to host. DrProject is a multiple project hosting application designed for schools. It gives each project a wiki, bug tracker, and source code repository.

DrProject is a fork of the Trac project, which can only host project at a time. DrProject has a different look and feel but the navigation menu is very similar to Trac's.

Before you can install DrProject you must install several other packages. The software relies on the popular revision control system Subversion, the event-model system PyDispatcher, and the XML-based templating language Kid. It uses PySQLite or Pyscopg2 (PostgreSQL module) for database storage.

DrProject is simple to install. You can download the latest release or check out the code from the Subversion repository. The current release is Release Candidate 1. The DrProject package includes a detailed installation document in the DrProject wiki directory and on the DrProject Web site.

Note: when trying to install PyDispatcher 2.0.0 I ran into a problem with the setup.py script. It says that directories are missing. To resolve this problem run the following command in the PyDispatcher directory: mkdir tests examples.

Running a DrProject server

Once you have the software installed you must create a DrProject environment using the executable script drproject-admin, then configure the environment by editing the drproject.ini file located in the conf/ directory of your newly created environment. If you have any dependency problems, they will show up when you run the script, listing the module missing along with its minimum required version number.

Start the DrProject server with the executable script drproject-server, which serves the Web pages needed for DrProject along with handling wiki, mailing list, and bug tracker actions. DrProject supports FastCGI, Simple Common Gateway Interface (SCGI), and Common Gateway Interface (CGI) for execution of DrProject Web scripts and can start its own HTTP server as well.

The drproject-admin command line tool lets you add and delete projects and users. It is similar to the admin tool that comes with Trac, but adds a few more commands. However, it would be much more helpful if it were possible to use its functions from the Web interface.

To add users to a project, enter the command membership grant user role project. Users' roles determine what they are allowed to do with the project, such as file tickets, edit the wiki, or commit changes to the source code.

In addition, there are scripts for creating a set of projects, adding a large number of users, and filing tickets against every project in a set of projects.

DrProject's wiki, bug tracking systems, and source code browser are the same as Trac's, but the bug report ticket form is different from Trac's: it includes a date selection instead of milestone selection, no cc field, three priorities (Trac has five), and no severity field.

All projects, regardless of whether or not a user is a member of them, are listed in the top right corner of every page in a combo box. Switching to a different project redirects you to the main wiki page associated with the project. You can browse the source and view a road map for the project currently selected.

When you create a new project, DrProject creates a project mailing lists -- something that Trac lacks. When you add a user to a project, the user is automatically added to the mailing list.

DrProject lets you use an existing SQL database system or your operating system's authentication method to authenticate users by setting the validate_path option in the [trac] section of a project's conf/drproject.ini configuration file. The validate_path points to a program that checks to see if the username and password match. To use a pre-existing SQL database, you would need to write a short script that connects to the database, checks for the username and password, and returns a 0 if it is found. There is also an internal password management system and a program that authenticates using the /etc/shadow file.

The software's dashboard displays graphs and reports to help analyze trends in development. It requires a few extra libraries be installed to generate those graphs and reports. This is an extra step, but worth it for project managers, since it shows quickly how projects are progressing.

In the latest version the developers replaced the software's Object Relation Mapper with SQLAlchemy/Elixir, a mature database interface for Python. This makes all of DrProject more stable by reducing the chances of there being an SQL bug.

Things to watch out for

Unfortunately, I ran into some problems when setting up DrProject. Elixir, a dependency, was not listed on the DrProject installation page. Another bug is that the DrProject download listed is an older version of the source code and contains a strange error. Hopefully that link will be replaced soon, but to be safe, download the latest revision of DrProject from the Subversion repository. One more dependency that was missing and not mentioned in the documentation is matplotlib/pylab and is required by the dashboard.

The documentation is a work in progress. It lacks a quick start guide -- not a major issue, but it would be helpful for first-timers. The documentation is also missing vital details, such as how to set up the user authentication system to allow users to be added, and how to set up the dashboard. Also, the install guide contains deprecated instructions for installation on Mac OS X, Cygwin and Fedora.

Despite those glitches, DrProject is well-suited for use in universities because it lets administrators and users handle multiple projects with a simple interface. Instead of forcing students and administrators to set up and deal with multiple Trac projects, which would require reconfiguring Web site domain names and FastCGI or some other Web serving method, they can install DrProject and start creating as many projects as they need.

Share    Print    Comments   

Comments

on Hosting multiple projects with DrProject

Note: Comments are owned by the poster. We are not responsible for their content.

Hosting multiple projects with DrProject

Posted by: Anonymous [ip: 74.116.166.156] on September 08, 2007 05:17 AM
Sounds pretty cool, I'll be sure to check it out! Multiple Trac installs are becoming... difficult... to manage.

#

Difference between Trac with multiple environment and DrProject?

Posted by: Anonymous [ip: 82.231.75.169] on September 14, 2007 12:22 AM
I don't understand what's so difficult in setting up multiple environment with Trac.

#

Re: Difference between Trac with multiple environment and DrProject?

Posted by: Anonymous [ip: 128.100.20.106] on September 18, 2007 06:13 PM
there's a difference between multiple environments and multiple projects in one environment. For students, the latter is a common use case (multiple courses).

#

Trac is a better project!!

Posted by: Anonymous [ip: 89.160.34.180] on September 16, 2007 10:45 PM
I Think Trac is a better project. Why are this things not bundle with Trac?

#

Re: Trac is a better project!!

Posted by: Anonymous [ip: 128.100.32.253] on September 18, 2007 05:01 PM
If you check the DrProject homepage (https://stanley.cdf.toronto.edu/csc49x/drproject/DrProject), it says: "DrProject is a lightweight software project management portal derived from Trac and specialized for classroom use." In other words, it's a fork of Trac that's designed for students.

#

SECURE YOUR RETIREMENT WITH RIGHT INVESTMENT

Posted by: Anonymous [ip: 61.11.45.23] on September 20, 2007 10:17 AM
By the way check this company MDFI. Their stock is set to increase because of their association with Apple iphone and Complete Care Medical. Find more about this company and stock http://www.growurmoney.com/medefile/
[Modified by: Anonymous on September 20, 2007 10:19 AM]

#

Hosting multiple projects with DrProject

Posted by: Anonymous [ip: 88.252.30.69] on December 12, 2007 01:59 PM
<a href="http://r10noktanet-seoyarismasi.blogspot.com" title="www.r10.net küresel ısınmaya hayır seo yarışması">www.r10.net küresel ısınmaya hayır seo yarışması</a>

#

Hosting multiple projects with DrProject

Posted by: Anonymous [ip: 78.183.218.159] on December 23, 2007 01:03 PM
<a href="http://www.tvcanliyayin.com" >Canlı Tv</a>
<a href="http://www.tvcanliyayin.net" >Tv İzle</a>
<a href="http://www.konusarock.org" >Rock</a>
<a href="http://www.tvcanliyayin.com" >Canli Tv İzle</a>
<a href="http://www.tvcanliyayin.com" >Online Tv</a>
<a href="http://www.tvcanliyayin.com" >Tv İzle</a>
<a href="http://www.tvcanliyayin.com" >İzle Tv</a>
<a href="http://www.konusarock.org" >Emo</a>
<a href="http://www.konusarock.org" >Punk</a>
<a href="http://www.konusarock.org" >Rock'in Coke</a>
<a href="http://www.konusarock.org" >Teoman</a>
<a href="http://www.konusarock.org" >Şebnem Ferah</a>
<a href="http://www.hostsahibi.net" >Hosting</a>
<a href="http://www.hostsahibi.net" >Asp Hosting</a>
<a href="http://www.hostsahibi.net" >Php Hosting</a>
<a href="http://www.hostsahibi.net" >Oyun Hosting</a>
<a href="http://www.hostsahibi.net" >Sunucu Hosting</a>
<a href="http://www.hostsahibi.net" >.net Hosting</a>
<a href="http://www.hostsahibi.org" >Asp ve php Hosting</a>
<a href="http://www.hostsahibi.org" >web Hosting</a>
<a href="http://www.hostsahibi.info" >domain ve Hosting</a>
<a href="http://www.hostsahibi.info" >Domain</a>
<a href="http://www.tvcanliyayin.net" >Online Dizi</a>
<a href="http://www.tvcanliyayin.net" >Dizi İzle</a>
<a href="http://www.tvcanliyayin.net" >Canli Dizi İzle</a>
<a href="http://www.tvcanliyayin.net" >Tv</a>

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya