[Planner] Suggestion on how to store split task and repeat event data.




I'm thinking that if we had an xml elements of,

"splits" and "split"
"repeats", "repeat" and "skip"

then we could use this to split up a task definitions
in different ways to handle task splits and repeat events
e.g. meetings.

e.g.

<task id="14" name="Fix roof on shed" note="" work="128000" start="20040124T104500Z" end="20040210T104500Z" percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
   <predecessors>
   <predecessor id="1" predecessor-id="13" type="FS"/>
   </predecessors>
   <splits>
   <split start="20040124T104500Z" end="20040125T104500Z" />
   <split start="20040125T104500Z" end="20040126T104500Z" />
   <split start="20040130T104500Z" end="20040201T104500Z" />
   <split start="20040206T104500Z" end="20040210T104500Z" />
   </splits>
</task>

or e.g.,

<task id="14" name="Project Planning Meeting" note="" work="3600" start="20040124T104500Z" end="20040210T104500Z" percent-complete="0" priority="0" type="normal" scheduling="fixed-work">
   <predecessors>
   <predecessor id="1" predecessor-id="13" type="FS"/>
   </predecessors>
   <repeats>
   <repeat ordinal=""  value="" period=""  repeat="" count="" start="20040124T104500Z" end="20040125T104500Z" />
   <skip  start="20040124T104500Z" end="20040125T104500Z" />
   </repeats>
</task>

For examples of the ordinal/value/perior/repeat use...
ordinal=""  value="" period=""  repeat="" count=""
       3       THU     November   Yearly    Forever
       1       Day     March      Yearly    Forever

Typical coding would be to have value, periods and repeats of,
- One-off,
- Calendar Daily, Business Daily
- Weekly, Fortnightly (every 2 weeks for Americans!)
- Monthly, Yearly,
- 1st Day of Week, last Day Of Week, 1st Business Day Of Week
- Last Business Day Of Week
- 1st Day of Month, last Day Of Month,
- 1st Business Day Of Month, Last Business Day Of Month,
- 1st Day of Year, last Day Of Year, 1st Business Day Of Year
- Last Business Day Of Year,
- Easter (calculated using traditional algorithms based on Lunar.
- Other banking/trading periods e.g. value date rules.

with additional modifiers of on-day="<day of week>" and on-ord="1,2,3,4, etc",
The "slip" is used to supress one or more repeat event meetings.
With task splits its simple to delete just one of the
split period.

The assumption is that the resources get allocated for
this task and is the same for each split or repeat,
though actual work only takes place on the time periods
shown. We may also want to mark the task as "non-project"
for cost purposes but would have to thin about that
a bit e.g. define a cost centre for the task.

The gantt would adopt a similar [===].......[=======]....[==]...[==]
style that other planning tools have for split tasks and
[=]   [=]    [=]     [=]  [=]   etc for repeated tasks (i.e. no ].....[
between the events.

Delete, move and resource allocations affect all splits or
repeats defined for that task.

Comments ?.
Lincoln.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]