Hello everyone, I think some of you heard that I was working on
the gantt chart support for the eZ Graph components.

So first of all, hello all :)

Ok, I don't like introductions, you don't like introductions,
so let's get moving with the real stuff.

I have been overthinking the design of the gantt charts for a while
now since I decided to take that task on me and I have came up
with a few ideas and a bit of organizational structure for the
whole development process.

The development will be split it 6 phases. The release process
for a beta version will be able to start after completion of
phase 4 where at that time, the datasets importing format should
be nearly complete for beta.


Here are the phases (Rough roadmap):
-------------------------------------

1) Initial development (rough draft: See
http://dev.agoraproduction.com/ezc/designs/gantt/gantt001.png)

2) Projects progress percentage viewing. (Seeing a canvas of another
color over the bar of a project to see it's progress)

3) Interval of your choice. Different types of interval. Dates with
format of the choice, weeks, years, decardes, etc...

4) The inclusion of subprojects. Important modifications (rewrite) of
the datasets handling.

5) Interval atomicity and extra precision of the project progress.

6) Good look and feel (Renderer related)



Now, I am working on getting the phase 1 and 2 out before going to
phase 3 (Trying to walk before running) and the first idea I had for
the dataset format is looking like this:

/**
 * The format for the importing of the data
 * is quite simple.
 *
 * an array key for the name of the project composed
 * of 3 parts. The first is the project week starting,
 * the second is project week ending, and the last one
 * (which is only in phase 2) is current progress.
 */
return array(
    'Name X' => array(
        '1', // Starting week
        '5', // Ending week
        'x', // Current progress @todo
    ),

    'Name Y' => array(
        '2',
        '6',
        'y',
    ),

    'Name Z' => array(
        '1.5',
        '8',
        'z',
    ),
);

This dataset will produce the graph I pasted the link to earlier:

http://dev.agoraproduction.com/ezc/designs/gantt/gantt001.png



So here I am asking you guys what you think. I have spent about 2 hours of
code so far but nothing so important (Hence the reason why I am not posting
code on that list). Just imagine that the code is very similar to the
ones of lines with
a few axis labelling differences and line height and size (so far).

What do you guys think about the stated plan, etc. How would YOU implement it.
Just please don't make an endless thread with that, I don't care
discussing but I do
not like nitpicking or bikeshedding ;-)

Raise your opinions!

Best regards,

--
David Coallier,
Random functions person
-- 
Components mailing list
[email protected]
http://lists.ez.no/mailman/listinfo/components

Reply via email to