[ L T Net ] OPEN-EVENTS :: OPEN MUSIC :: MINICONTENT :: KNOPPIX LINUXTAG.org 
Cornerstone
// LinuxTag 2004
Besuchen Sie uns auch nächstes Jahr wieder auf dem LinuxTag 2004 im Karlsruher Messe- und Kongresszentrum. Für nähere Details und den genauen Termin besuchen Sie bitte die LinuxTag Homepage.
EUROPAS GRÖSSTE GNU/LINUX MESSE UND KONFERENZ
KONFERENZ-CD-ROM 2003
 Hauptseite   Vorträge   Bücher   History   Software   Knoppix   Sponsoren   Abspann   Impressum 
Hauptseite // Vorträge // PHProjekt - an open source groupware suite

PHProjekt - an open source groupware suite

Albrecht Guenther


Introduction

PHProjekt is one of the most popular web-based groupware suites on the internet. This talk will explain how teams and organisations as well as small or medium sized companies can take advantage of this open source tool for their daily work. To understand the entire functionality of the application here is a short tutorial on the project management part:

Project management with PHProjekt

Preliminary remarks: You have to be aware that with PHProjekt only users with chief status can start a new project tree. This fact often confuses system administrators who install this application for the first time. They login in as root (root serves as a super administrator between groups) and wonder why they cannot find the button 'new project'. The reason is simple: PHProjekt is a business application and the status of an administrator within a group is to administer the group for technical problems but not to interfere with daily business.

GETTING STARTED

At first you have to go into the module 'projects' and click the button 'new'. You will get to the default form to view and modify project properties. Only very few elements of a project are required to fill in: the name of the project and the start and end dates. Please enter the two dates in the ISO form - yyyy-mm-dd, each other format will be complained about. Attention: the start and end date of a subproject must not exceed the respective values of the parent project. Doing so will result in an error message of the script.

The category represents the status of a project - offered, working, closed etc. Besides filtering the project list with a category it has an impact on the following functions:

  • Users are able to book work time on projects only if they have the category 'working'

  • Current Projects with the category 'working' appear on the summary page.

Once there are other subprojects in your level you are able to set:

  • a record which will show up above or below this record in the list view (applies only to the gantt chart) and

  • dependencies to other projects which apply to the category of this project (see below in section 'dependencies').

You can assign a contact from the contact manager of your group to this project (i.e. as the customer) and appoint a user from your group as the project leader for this project. The project leader is the only person who can define the status of the project (given as the progress in %) and is able to create new subprojects below his own project.

For an explanation of the fields budget and the hourly rate please read section 'budget' below. The priority rating only works as a sorting element in the list view and does not have any further impact, as well as the fields 'aim' and 'remark'.

Finally you can assign participants to this project by selecting the users concerned in the multiple select box (select several entries while holding down the ctrl-key). Participants are able to:

  • write work time on this project

  • assign objects from other modules to this project

  • view this project on the summary page

As action buttons in this form you have:

  • 'new' to create the database record or to 'modify' an existing record,

  • 'back' which brings you back to list view,

  • 'new subproject' to create a new project which adopts the values of the former record and takes this as the parent object,

  • 'print' to show a print view of all project details,

  • 'delete' only shows up if there is no subproject assigned to this project. So if you want to delete a complete project branch you have to begin from the bottom.

THE LIST VIEW

Once you have created several projects with their sub projects the list view gives you a good overview about the activities of your group. As a normal user you only see a part of the information. The budget, hourly rate and the amount of already booked amounts doesn't show up.

As in all other modules of PHProjekt there is a navigation bar for this list view with the following elements:

  • the name of the module. To reach the online help you have to click on it.

  • a filter mode to limit the number of records shown. You can enter a keyword and select the field where this keyword should match.

  • Additionally you can limit the search to a certain category of projects Please remark: once you have set a filter the tree view is removed and all projects regardless their position in a project tree appear.

  • With the radio buttons 'open' and close' you can decide whether you want to see the whole project tree or just the root projects.

  • In the select box 'x elements/page' you can select how many records per page are shown. If there are more than x records to be displayed, a link 'next page' will appear in the second line of the navigation bar (and of course a link 'previous page' if you turn to the next page)

  • The last checkbox 'sum' will sum up the values of 'budget' and 'already booked' of this project and all subprojects.

Like in all other modules one click on the header of a column will sort the list according to this field - alternating ascending and descending. One click on the name of the project or a double click somewhere in the row brings you to the detailed view of a record. If you are not entitled to modify a record all fields will be greyed out.

THE GANTT DIAGRAM

For those of you who are not familiar with a gantt diagram: this kind of business chart is a kind of calendar based grid and shows all projects from start to end on a timeline. With a gantt diagram you get an overview which projects are active at what time. You can create such a gantt diagram with a click on the link 'Gantt' in the navigation bar. By default the given timeframe is set by the start date of the earliest project and the end of the latest project. If you want to do a manual timeframe selection you have to select the radio button on the left side in the first line and select a month and year for the start and end date.

Further options are:

  • If you just limit the view to a branch of a project select the mentioned record in the select box of the second row of the navigation bar.

  • To simply view the root projects click on the checkbox 'only root projects' next to the select box.

Each colour of a bar reflects the status of a project, a legend for the colours is given below the chart.

RELATED OBJECTS

One of the advantages of PHProjekt is the tight interaction of the different modules. Many elements of other modules can be related to a project:

  • contacts

  • notes

  • todos

  • files

  • events of the calendar

  • timecard entries

  • helpdesk requests

Of course this is only possible if these modules are acitvated in your installation. All related items will be listed below the detailed view of a project and are linked to the specific record.

DEPENDENCIES

Related on other subprojects on this level you can set dependencies. There are four types of rules given:

  • This project cannot start before the other project ends.

  • This project cannot start before the other project starts.

  • This project cannot end before the other project ends.

  • This project cannot end before the other project starts.

Setting such a dependency has the following impacts which will be checked immediately when the modified record will be stored in the database:

  • date level: If the start and end date of the concerned projects break the given rule a warning message will be shown and the record will be stored.

  • category level: if the current categories of the two projects concerned break the given rule a warning message will be shown and the modifications will NOT be stored. The 'start' mode comprises the following categories: offered, ordered and waiting, the 'end' refers to the categories 'ended' and 'stopped'.

Attention: once you select another parent object for this record, all dependencies will be deleted since the dependency has been valid only for a given branch.

WORKING WITH THE TIMECARD

One powerful feature of the project management module is the ability to analyze the booked work time of the timecard module. Please make sure that this feature is enabled in your installation (see the installation FAQ on the homepage). You can decide whether the timecard as such has to be filled out by the users or not, both modes are possible. The latter option is interesting for teams where the time sheet will be controlled by another system or not at all. A user can assign work time to a project when the following conditions are fullfilled:

  • the start and end date of a project have to include the given day

  • the project must be active

  • the user has to be a participant of this project

All projects which fullfill these conditions will appear on the left side in the timecard and the user can freely assign any amount of time to a project. A field on the end of the project list indicates whether the sum of booked time exceeds the work time on this day or whether there is still some time unassigned. For each record the user can enter a short notice about the work time or task he has done. The work time assigned to projects is the base for the analysis done in the statistics, see below.

THE STATISTICS

While the general statistic is only visible to users with chief status, each user has the option to review its 'own statistics'. The general statistic shows the booked work for selected users and selected projects over a given period. The usage is simple: Insert the start and end date of your period and select the projects as well as the users to be shown. Users with chief status are able to select 'all' projects and users while project leaders can only view "their" projects. The result will be a matrix with the sum of all bookings within the chosen timeframe. At the end of each row and column the values will be summed up. If you want to view the single bookings as well or even the comments by the users you have to click on the checkboxes 'bookings' and 'comments' on the form page. If you return to this form page you will see that your selection of projects and users have been stored. The matrix can be exported into several formats like csv, xls, rtf, doc, xml, pdf, print and html.

Please note that the general statistics is limited to projects which are located in this group. In contrast to this the 'my statistics' shows all projects where the user is a participant, independent from the group. Thus the user can view his project statistics in all groups for his full work time.

THE BUDGET

The budget represents the amount of money which is planned to be spent for this project. If the budget is set into relation to the booked work time it will give an information whether the advancement of this project is in a good shape or not. The formula is given as: budget[$]*progress[%] - spent_hours[h]*hourly rate[$/h] If this value is below zero then you have to spend more time on the project than you have calculated. In this case the values in the last field in the list view will turn red. Attention: At the moment it is only possible to have one general rate for the whole subproject. In the future there will be the option to take the default hourly rate of a user or to assign an hourly rate for each todo related to this project.

FUTURE PLANS

There are several features on the todo list which are waiting to be implemented. Probably one interesting feature is the introduction of resource management which enables a project leader to assign the work time of his colleagues into several projects, monitor any upcoming bottlenecks and to make up the balance of the booked time versus the planned time in a project.

 
Impressum // © 2003 LinuxTag e.V.