Free OpenSource Project Managers for small business and home users running Linux servers, I chose WebCollab

This is by no means a comprehensive post, it only covers three, two I looked at and discarded and the one I finally settled on for home use.

OpenProject – discarded, I did not evaluate it

First there must be a mention made of the OpenProject application. From what I can see it is the most popular and full function application for project management available easily rivalling Microsoft Project. It claims to support both waterfall and agile development.

The reason I did not look at this is that it requires a server running PostGreSQL database, they no longer maintain mysql/mariadb compatability deciding to focus only on PostGreSQL. As I am totally mariadb and do not want any other database installed I could not evaluate this.

Collabtive – discarded, too complicated for home use

Another full featured option is Collabtive which is another highly rated application for project management.

It is easy to install and setup, but it is incredibly difficult to use at first. To setup simply download from https://collabtive.o-dyn.de/ and…

...Unzip the files into a new folder on your webserver
create a directory on your webserver, copy zip file into it, unzip
check instructions in ./doc/ for you language
chmod 777 files template_c config/standard/config.php
chmod -R apache:apache the directory you created

...Create the databases and database user
MariaDB [(none)]> create database collabtive collate utf8_general_ci;
MariaDB [(none)]> create user 'collabtive'@'localhost' identified by 'insertagoodpasswordhere';
MariaDB [(none)]> grant all privileges on collabtive.* to 'collabtive'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

...Initial installation and configuration
Point your web browser at the web location you installed it to and the install.php
use mysql dbname.user/dbpassword you set above
create the first admin user and password 
login as that admin user
select spanner icon, and add customer, add a customer (Internal) -- a customer is needed to add a project
select spanner icon, and add user icon, add a new non-admin user
logout of the web application

...secure the config file
cd back to install directory and chmod 755 config/standard/config.php

 

At this point you can logon to the web application as the non-admin user you created.

I found this incredibly complicated, for example I could create a project and task but then find no way to edit or delete the task entry. It was only when about to uninstall it I somehow clicked on a time-tracker page where you could enter start/stop times for things you are working on.

It is targeted at businesses. When creating a new customer you can set things like hourly rates per customer, and as projects can only be created for a customer I guess everything can be magically calculated. If you are a business that can take the time to figure it out and train staff then this may be the one for you, but it is not for home users.

Webcollab – I have started using this one

The Webcollab application is totally intuitive and easy to use, ideal for home users/developers to manage their activities and even small businesses that cost a ‘total project’ so don’t need to track every minute spent working on a project.

Not only is it easy to use, features include

  • the home page for a user by default lists all active projects and percentage complete that they are able to work on and all uncompleted tasks associated with those projects, so it is easy to see what is happening (screen shot at the end of this post)
  • by default only active projects are shown on a users home page, but all completed projects can be also be reviewed simply by selecting the ‘show all projects’ option at the top of the home page
  • agile workflow supported by tasks (and projects) having a ‘I don’t want it’ option, so if a project owner has been assigning tasks randomly a user can un-assign the task from themselves and let someone else in the taskgroup pick it up; plus any other user in the group can select ‘take over task’ to assign it to themselves if they have free time. Plus of course as each project and task has a public user forum section notes and comments can be shared amoungst team members
  • a notes/forum section for each project and each task that all members of the group can contribute to during the project life
  • files and notes associated with the project can be attached at the project or even individual task level
  • every action you would ever need to take for a project or task is on the appropriate page, no need to hunt for frequently used actions in menubars
  • it is not customer-centric, roles are defined by usergroups and taskgroups, a usergroup owns a project and a task can be assigned to usergroups and taskgroups, presumably to allow the usergroup to keep an eye on it while an unrelated taskgroup can view the task and work on it
  • admin level users have an option on their home page to view all uploaded files, so if somebody gets too enthusiastic with large files an admin user can clean up
  • a simple calendar view available for users showing which tasks are due soon
  • it is easy to edit project and task details at any time, as well as add new tasks

Some very minor irritations (not issues, it is working as designed)

  • if you attach a file to a task entry it is only visible when viewing that task, not from the files displayed for the project entry. My current resolution is just to attach files to the project itself and not the task, for small projects anyway
  • I had a project at 75% complete with no remaining tasks showing. The issue was that even though the remaining task was assigned to me I could not see it; I had to use the admin user to edit the task and mark it as viewable by all users before my non-admin userid could see and update the task. As all other tasks were OK I must have been playing with default check-boxes or did not assign a correct user or task group when adding that one, but it is important to note that projects/tasks can be assigned to (and only visible to) customer and task action groups which has the benefit of keeping a users home page of projects and tasks reasonably clean and actually a good design, if you add the task correctly in the first place

Installation is simply a case of following the instructions at https://webcollab.sourceforge.io/manual_install.html with one exception.

MariaDB [(none)]> create user 'webcollab'@'localhost' identified by 'somegoodpassword';
MariaDB [(none)]> create database webcollab collate utf8_general_ci;
MariaDB [(none)]> grant all privileges on webcollab.* to 'webcollab'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]>\q
 
This step in the instructions will fail
[root@vosprey2 db]# cd db
[root@vosprey2 db]# mysql -uwebcollab -psomegoodpassword < schema_mysql_innodb.sql
ERROR 1046 (3D000) at line 2: No database selected

replace that step with
[root@vosprey2 db]# mysql -uwebcollab -psomegoodpassword
MariaDB [(none)]> use webcollab;
MariaDB [webcollab]> \. schema_mysql_innodb.sql
MariaDB [webcollab]> \q
Bye

And continue on

[root@vosprey2 db]# cd ../..
[root@vosprey2 php]# chown -R apache:apache webcollab-3.50
[root@vosprey2 php]# chcon -R system_u:object_r:httpd_sys_content_t:s0 webcollab-3.50

Manually Customise the config file for your site

[root@vosprey2 db]# cd webcollab-3.50/config
[root@vosprey2 db]# vi config.php      (and set the correct values for the below blank entries)
  define('BASE_URL', "" );
  define('DATABASE_NAME', "" );
  define('DATABASE_USER', "" );
  define('DATABASE_PASSWORD', "" );
                                       (also change the below for your site)
  define('FILE_BASE', "/var/www/html/webcollab/files/filebase" );

Web Browse to your sites http://..../webcollab-3.50/index.php page

Follow instructions for 'edit user details' to change admin password
Follow instructions for updating the 'Admin Config'
Add a new usergroup ('Internal') with the default member of admin
Add a new taskgroup ('Internal')
Add a new non-admin user with the only available usergroup you have just created ('Internal')

 

You can now login to the web application as the non-admin user and start creating projects and tasks for those projects.

A users Webcollab home page, all active projects and all uncompleted tasks visible to the user for those projects are shown in one place.

About mark

At work, been working on Tandems for around 30yrs (programming + sysadmin), plus AIX and Solaris sysadmin also thrown in during the last 20yrs; also about 5yrs on MVS (mainly operations and automation but also smp/e work). At home I have been using linux for decades. Programming background is commercially in TAL/COBOL/SCOBOL/C(Tandem); 370 assembler(MVS); C, perl and shell scripting in *nix; and Microsoft Macro Assembler(windows).
This entry was posted in Unix. Bookmark the permalink.