Project scheduling software (scriptable, cross-platform, and open source)
GanttPV Home
Why GanttPV? Help Scripts
Server
Developer Object Role Modeling
Forum

GanttPV Server Introduction

  • GanttPV Server helps the project manager to communicate the plan to the team and to project stakeholders.
  • It allows several people to make updates to the same GanttPV database file at the same time.
  • It also provides web reporting and updates.

Status

The new GanttPV Update Server release v0.1a is ready for beta testing by interested users. The server, client, and web components have been refactored and reliability has been improved. The number of unit tests has been more than doubled. Email us at the address at the bottom of this page if you are interested in getting a copy.

Multiple people can update the same database at the same time. Team members can view selected reports on the web and provide task completion and other updates.

How it works

  • The project manager will add a GanttPV database to the server by running a script from the "Scripts" menu of GanttPV.
  • Other team members and other project managers can download a copy of the database.
  • They can all add new tasks or reports and edit data.
  • When they are ready, they can share their changes back through the server to everyone else.

The project manager can designate which reports should be accessible via the web. Team members and customers will be able to access reports from the server by using their web browsers. The server dynamically creates web pages that look like the pages produced by the Export as HTML script.

Setting Up the Server

The Install page contains instructions for setting up the server.

Once it is set up, the rest of this page explains how to use it.

Using the GanttPV Update Sever

  1. Open a ".ganttpv" database in the GanttPV program.
  2. Run the Add Database to Server script
  3. When the dialog box opens up, you will see the default IP address, port number, and server key. Enter the server's IP address and port number. Don't change the server key.
  4. When the database has been added to the server, a dialog box will open that includes directions on how to download copies of the database from the server. Copy these instructions and send them to each person who will need to download a copy of the database. Do not give them copies of your GanttPV database file directly. Your copy includes the owner key for the database.
  5. Make changes to your copy of the file as you normally would. Run the Share Changes with Server script to exchange updates with the server.
  6. IMPORTANT - If two people change the same data on the server (or add a column in the same place) the second person's change will be silently ignored.
    • Obviously both changes can't be correct, so the server assumes that the second person might not have made a change if he/she had known about the first.
    • (More options will be provided in a future release.)
    • Minimize the chance of conflict by sharing with the server before and after making changes.

To download onto another computer, use the Download Database from Server script. The script requests three parameters. The first parameter is the server's IP address. The next two parameters are the file number and password (the 'edit key'). This information is conveniently displayed in a dialog box when the database is added to the server. It can also be retrieved by running the ganttpv_show_keys.py script on the server, which displays the file number and edit key for each database in the server. (Be sure to send out the 'edit key', not the 'owner key'.)

Publishing Reports from the Web Server

Only reports that are designated web displayable can be viewed on the web. Each column of a report can be designated as view only or web editable.

  1. In GanttPV, specify which reports should be web accessible:
    • Run the script Identify Web Reports.
  2. For each report specify which columns should be web editable:
    • Open the report
    • Run the script Identify Web Changeable Columns.
    • (Do not include any columns that end with "ID". That is not supported by the version 0.1 server.)
  3. These choices will become effective when the Share Changes with Server script has been run.
  4. When the database was added to the server, the script displayed instructions on how to access the web pages. Hopefully those instructions were saved. If so, update them with the web server's URL and distribute them to whomever needs web access to the database.
  5. If the instructions have been misplaced, run the 'ganttpv_show_keys' script on the server to display the web view and edit keys. Send the view or edit key to whomever needs access to the web reports.

There are other options that can be set on the server, but they are a bit more complicated to set up. Please inquire in the forum or email us if you are interested.

Accessing Reports via Web Browser

  1. Enter the URL of the web server and the name of the cgi-bin script.
    • Usually this is something like: http://www.pureviolet.net/cgi-bin/projects/ganttpv_report.py
    • Ask the person who installed the web CGI script for the URL to use.
  2. When the input form appears, enter the web key of the database file.
  3. The server will add the corresponding database to your selection list.
  4. Click on the link of a database file, and its list of web visible reports will be displayed.

The browser will keep track of the keys for up to a week after the last access. Repeat these instructions if the session expires.

Why Desktop vs. Web based Tools?

Here are some comments from Brian on the strengths of desktop and web applications:

In a forum post, "ocolorado" described web based applications as: "clunky and not up to the features that the desktop application present."

I agree with that description of web applications. They tend to be clunky and feature poor. But I think there is a larger gap between the web and desktop applications.

Web applications tend to be better communications tools. Desktop applications tend to be better thinking tools.

Desktop applications are always available to me, not just when I am online. They can be much more interactive. They allow me to explore more options faster. They help me to revise and think through details much more quickly.

Web applications drag me down into slow motion. Each thought must be put on hold until the system catches up. Even tabbing from field to field can be slow. Recently I used a web application that uploaded and refreshed the page after every field selection. It was hell on a dial up connection. Worse than most, but not fundamentally different than all of the web applications I've tried.

When I am ready to communicate I want a web component to communicate to customers, team, and management. But I don't want to subject them to web applications when I want them to be thinking.

On my last project, management introduced a new web-based timesheet and expense report system. It was a pain to use and slow. The so-called desktop module (for off-line entry of data) was worse than the web version. But in this case, I think I agree with their decision. I didn't need to use the web application for thinking. I did that before I logged in. I used it to communicate (albeit slowly).

For project management, I'd like to gain the communication advantages of a web application, but I don't want to loose the thinking help I get from desktop applications.

What is your view? Contact us in the forum or via email.