FR | EN
Page générée en 0.171 sec
Imprimer

PHPCollab

PhpCollab is a groupware tool allowing the project management for Web development in team. It includes not only a module of projects follow-up but also a part dedicated to the customer client follow-up. The innovating functionality of the product is in client access associated with the projects: a "mini-site" is published and the desired elements are made visible.

3.1. Installation

The installation of PHPCollab 2.4 requires the following elements:

  • A Web server, treating the PHP
  • A MySQL, PostgreSQL or MS SQL Server
  • SendMail to activate the notification by email

The sources can be downloaded directly on sourceforge.net:

sourceforge.net/project/showfiles.php?group_id=46510

Here stages of the installation:

  • Unzip the file in a Web server repertory.
  • Rename the file includes/settings_blank.php to includes/settings.php
  • Give the rights of writing to the Web server on the elements according to:
    • The includes/settings.php file
    • the files folder
    • the logos_clients folder
  • Create an empty database
  • With a Web navigator, go to the URL of the file installation/setup.php (ex: http://localhost/phpcollab/installation/setup.php) and follow the instructions of configuration. This stage will create the tables in database and will modify the settings.php configuration file
  • Remove the file installation/setup.php

It is dice at the time possible to logon with the user admin and the password seized at the time of the configuration. The installation is thus simple and fast (approximately 5 minutes). The major advantage on this level is the portability of the application: no constraint related to the operating system nor to the Web server and a great majority of SQL server is supported.

3.2. Features

PHPCollab is entirely Web tools which can be divided into three great sections:

  • Administrator
  • User
  • Client
3.2.1. Administrator section

Only the PHPCollab administrator can access to this section. It allows:

  • To manage users: projects managers, users and administrators.
  • To backup and restore the database. Export generates a text file containing SQL instructions. It is possible to export the structure or/and the data.
  • To recover useful information of the software configuration, of PHP as of the Web server. This can be useful to solve certain problems which we will mention later.
  • To integrate company data
  • To post the logs of the software: number of connections realized by a user, date of the last visit…
  • To publish the file of configuration. This amongst other things will allows to activate or disable certain functionalities such as the notification by email. A user can be informed when a modification is made to the project: assignment of a user to a project, a task, modification of the priority, statute of a task. This module requires the presence of SendMail on the server. Another functionality is the file uploading: a member on a project has the possibility of joining a file, like the schedule of conditions for example. Through this interface, it is possible to limit the maximum size of uploaded files. This module encounters often certain problems involved in the server configuration: to upload a file, a PHP script must get it. During the upload, this script thus turns. A first problem can appear if the sends is made on a low connection: at the end of a certain time (defines by PHP), script timeout. A second problem can be encountered at the time of sends file of size superiors to 4Mo: if it is possible to increase the maximum size of uploaded files, it is also necessary to take into account the memory limits size which script takes. During the download, the file is charged gradually in memory. But a limit is defined by PHP like by Apache which limits the size of the requests.
3.2.2. User section

The users section will allow the various members (developers, graphic designers, projects managers…) to update the advance of the project. We will visualize this part as a project manager.

3.2.2.1. Creation of a project

During the creation of a project, it is possible to integrate phases. There are 2 default types of phases: Website and CD. CD integrates four great phases (Planning, Design, Production and Testing) and is thus directed to the realization of software on CD. Website integrates a fifth phase (Sign-off) and as its name indicates it, is directed to the realization of a Web site. These phases are not dependent and their order can be arranged. In this logic, it is possible to define several active phases at the same time. It should be noted that type of phase (Website, CD) can be added easily in the customvalues.php file.

For each one of these phases, tasks will have to be defined. This distribution is only useful in term of tasks organization: the phases do not appear on planning. This functionality is not completely finalized (due to some bugs) but especially is not yet exploited enough. It would be interesting to realize global plannings/reports gathering the advance of the various phases.

A task can be assigned to only one person. If this one requires the intervention of several people, it is possible to define sub-tasks. Those appear neither on planning nor on the reports. The principal problem of the task planning with this software is that there is not any dependence between those: there is no concept of predecessors. Consequently, if a task is lengthened thereafter implying a shift of planning, each task supposed to be dependent will have to be shifted manually.

A forum of discussion is added automatically to the project. Each user (having the right to access the project) has the possibility to add comments as well as topics. No administration of this forum is necessary since it depends on the project.

The addition of members in the team of project is done by simple selection of the users. Each user has a single function seized during his creation. It is thus not possible to modify the function of a user for a project since the modification will cause to change its function for all the other projects.

Below, a project planning preview. This planning being a result of from the software customized during my training course, certain elements as the posting of the delay of a task by a red bar occurs (click to increase):

Planning
3.2.2.2. Reports

PHPCollab proposes a form to generate reports. The reports will make it possible to post a planning (as well as a summary table) of tasks using the following parameters:

  • The client name
  • The project name
  • The user to which are assigned the tasks
  • The date according to which the task begins / must be returned / finished
  • The statute (started, finished…)
  • The priority

The parameters of the generated reports can be saved in order to be consulted after.

In spite of a complete parameter setting, the presentation of these reports is thus very limited. No statistics can be made, the representation always limits to a planning.

3.2.2.3. Calendar

The calendar will allows to have a monthly vision of tasks to realize. It generates automatically a corresponding schedule to these tasks.

Several disadvantages are to be noted. Firstly, only the beginning dates and end of a task appear on the calendar. The tasks of the day to be realized thus are not clearly identified. The second problem is related to the unfinished tasks. If a task is not finished whereas it should have been to it the previous month, this one does not appear on planning and is thus likely to be forgotten.

3.2.2.4. Client Section

The client section corresponds to the "project site". For each project created, it is possible to create a project site while clicking simply on the suitable button. This causes to place at the disposal of the client a Web interface where this one will be able to follow the evolution of the project and to post requests for assistance.

Project site

To allow the client to visualize information relating to projects, it is necessary that those are published. Here publishable information:

  • Members of the team
  • The tasks
  • Uploaded files
  • A subject of the forum

Each one of these data can thus be masked, such as for example members of a team.

3.3. Mantis Integration

When a project finishes, it is useful or compulsory to have a bug follow-up tool. PHPCollab does not manage this concept at all. To solve this problem, a module makes it possible to integrate Mantis.

Mantis is thus a bug tracking tool. Just like PHPCollab, it is written in PHP, is based on a Web interface and is free under GPL licence.

Integration causes to synchronize projects and users of the two softwares. For that, the databases of these two programs must be empty. If projects and users were already created, it is necessary to give up the idea of integration or to recreate these projects (and users) once that the modifications are finished.

Fusion is thus rather delicate. The code of the two programs must be modified to synchronize databases. Moreover, the procedure of integration is very badly documented; this one should theoretically be updated at each change of version of PHPCollab and Mantis. But the documentation provided with the software is completely obsolete, going back to 2002. A forum on sourceforge http://phpcollab.sourceforge.net/ permit to recover patches for certain versions. Without these patches, the modifications are relatively long: forty files are to be modified.

It should be also noted that Mantis is compatible only with MySQL. The database of PHPCollab will have thus to be installed on a MySQL server.

We will not detail here all the functionality of Mantis. It offers all that a bug tracker needs: notification by email, many reports and syntheses represented by graphic and tables, file upload, mini forum, possibility of making public or private a project.

3.4. Conclusion

We can realize that PHPCollab does not offer all the functionalities that Project can propose. But contrary to Project, a solution of bug tracking can be installed.

Moreover it is a free-software. It is thus possible to customise it by adding functionalities such as for example the dynamic display of the tasks’ delay on planning or the listing of day tasks on the calendar.

W3C - XHTML 1.0 Powered By Fedora W3C - CSS