Project management over the Web with Collabtive

234

Author: Ben Martin

Collabtive is a modern Web application that allows teams to collaborate on projects, manage tasks, milestones, and files, and send instant messages to each other.

Collabtive is licensed under the GPL, but it is not packaged for Fedora, openSUSE, or Ubuntu. I’ll build from source using the latest version 0.4.8 of Collabtive on a 64-bit Fedora 9 machine. A warning up front: the Collabtive tarball does not expand into a subdirectory, so you will want to create and change into a new directory before you expand it.

Collabtive requires PHP 5.1 or later and MySQL 4 or later. On the browser side, it optionally uses Flash for diagrams and sound playback. The installation process, shown below, should be run as root on the LAMP server on which you wish to run the Web application. You may need to change your DocumentRoot depending on which Linux distribution you are running.

# grep DocumentRoot /etc/httpd/conf/httpd.conf ... DocumentRoot "/var/www/html" ... # cd /tmp # mkdir collabtive # cd collabtive # tar xzvf /.../collabtive048.tar.gz # mkdir /usr/local/collabtive # mv install-readme-* /usr/local/collabtive/ # mv docs changelog.txt license.txt /usr/local/collabtive/ # mv collabtive /var/www/html/ # cd /var/www/html/ # chown -R root.apache collabtive # cd collabtive # chmod g+w templates_c files # chmod +s templates_c files # chmod 670 config/standard/config.php

Once the installation is successful, if you load http://localhost/collabtive in your browser, you should be asked to log in to Collabtive. However, you need to create a MySQL database and perform final configuration of Collabtive before you can actually log in. The commands to create a new database and set up permission for localhost-only access are shown below:

# mysql -p mysql> create database Collabtive; mysql> GRANT ALL ON Collabtive.* TO Collabtive@localhost IDENTIFIED BY 'CollabtivePass'; mysql> FLUSH PRIVILEGES; mysql> q

After you run the MySQL commands, open http://localhost/collabtive/install.php in a browser to tell Collabtive the database connection parameters. At this stage your should see a screen like the one shown below. As you have already set up the file permissions for config.php and the various cache directories that Collabtive uses, setup 1 should show a status OK for each test. I have already inserted the database connection parameters into the form.

The final setup step, shown below, allows you to create the root user of Collabtive. Once that’s done, you will be shown a link to allow you to log in as the administrator user you just created. You can then set up Collabtive and create new users and tasks. The screen as shown on initial login is shown below.

The row of buttons in the top right corner of the screen have text labels that appear as you move the mouse over them. The buttons, from left to right, are Desktop, My Account, Administration, and Logout. Clicking on the My Account button lets you see your avatar and current contact information. Initially you will see just an edit button where contact details should be presented, as nothing is known about your user. There is also a button allowing you to download your contact information as a VCard so you can easily share it with others. At the bottom of the page you can see the projects with which you are involved.

When you are logged in as the administrator, clicking the Administration button in the top right of the screen shows you the current open and closed projects, and displays a toolbar allowing you to perform project, user, and system administration.

The System administration screen allows you to change the Web site name, subtitle, time zone, locale, and template — though only one template currently ships with Collabtive. You can also import data from an existing Basecamp site, and change the settings that Collabtive uses to send email, including the SMTP server, username, and password, and you can select between using the PHP mail() function or SMTP.

The Project administration page lets you create new projects and edit, delete, and close existing ones. Having the ability to close a project is handy, because closed projects do not show up on your desktop but you can retain information about them in the system. When you create a new project you give it a simple name as well as an HTML description, due date, and a list of users who are involved in the project. The HTML description input uses a WYSIWYG widget to allow those unfamiliar with HTML to administer projects.

As you would expect, the User administration page lets you create, edit, and delete users. When you create a new user you can supply a name, email address, initial password, and project list, and assign the user to one of three categories: user, admin, or client. As long as you have the proper permission you can edit most of the VCard information for existing users as well as change the user password.

You can always reach your desktop by clicking the Desktop button in the toolbar in the top right of the screen. When viewing your desktop, clicking on a milestone or project takes you to the Dashboard view. I clicked on the test2 project to generate the below screenshot of my dashboard. The buttons in the Dashboard toolbar, from left to right, are Dashboard, Milestones, Tasks, Messages, Files, People, and Timetracker. The leftmost Dashboard button lets you see a particular Project and its related information. Because I created milestone1 and assigned it to the test2 project, it is shown in the Milestones section of the display. At the bottom on the screen you can see the recent changes for the project. Hovering over a disk icon at the bottom of the Activity section (off the bottom of the screenshot) brings up a submenu that allows you to download the activity information as an Excel or PDF file.

The Dashboard is linked to the project on which you clicked on your desktop to get to the Dashboard. For example, on my desktop the Milestones section shows all of the milestones for all the projects which I am assigned to. If I click on milestone1 from my desktop, because milestone1 is for the test2 project, my Dashboard will show information (milestones, tasks, messages, and files) only for the test2 project.

You can add tags to both users and files to allow another way of grouping and finding these objects in the system. The developers say that this will be extended to projects and tasks in the future. In the screenshot below I have tagged the testfile1 with the Urgent tag. You do not need to manage tags at all and can simply enter whatever text string you like, including multiple tags separated by commas. Clicking the Urgent tag will show you a list of all the files that have that tag. Tags are not case-sensitive. One unfortunate design choice is that you have to click the little arrow to expand a row in order to see a file’s tags. This makes searching by tag a two-click operation. It might be nice if files with only a few tags had these shown directly. Also, to remove a tag you have to click the edit button for a file and then edit the original plain text tag string.

Another enhancement I’d like to see would be the ability to get at tasks and milestones as iCal URLs, so you could also subscribe to these with Evolution or other groupware software.

Collabtive makes you master many concepts: projects, milestones, tasks, messages, files, and people and time tracking. Some of the concepts take a little getting used to if you’re not familiar with project management already; for instance, the difference between what should be a task and what should be a milestone are not so obvious at first. In Collabtive, the major difference between a task and a milestone is that a task is assigned to a particular person.

Of course, it always takes a bit of time to get used to any new system, so I wouldn’t expect less of one that aims to let you manage projects and tasks, track your time, and collaborate over the Web. Collabtive is easy to install, so the barrier to using it on a pilot project is low. That should make it easy for you to see how well Collabtive works for your organization.

Categories:

  • Reviews
  • Internet & WWW
  • Collaboration