THIS IS A WORK IN PROGRESS... USE AT YOUR OWN RISK!
> cat test/known-scenario-1.txt
activity act-01 5
activity act-02 3
activity act-03 5
activity act-04 3
activity act-05 3
activity act-06 3
activity act-07 3
activity act-08 5
activity act-09 3
activity act-10 5
activity act-11 5
activity act-12 5 act-03
activity act-13 10
person user-01 80
person user-02 20
person user-03 60
person user-04 80
person user-05 60
person user-06 20
person user-07 80
claim user-01 act-01
claim user-02 act-02
claim user-03 act-03
claim user-04 act-04
claim user-05 act-05
claim user-06 act-06
> cat test/known-scenario-1.txt | ap --today 2020-03-30
act-04 2020-03-30 2020-04-02 user-04
act-09 2020-03-30 2020-04-02 user-07
act-05 2020-03-30 2020-04-06 user-05
act-01 2020-03-30 2020-04-07 user-01
act-03 2020-03-30 2020-04-09 user-03
act-02 2020-03-30 2020-04-20 user-02
act-06 2020-03-30 2020-04-20 user-06
act-11 2020-04-02 2020-04-13 user-07
act-13 2020-04-02 2020-04-21 user-04
act-08 2020-04-06 2020-04-16 user-05
act-10 2020-04-07 2020-04-15 user-01
act-07 2020-04-09 2020-04-16 user-03
act-12 2020-04-13 2020-04-21 user-07
> cat test/known-scenario-1.txt | ap --today 2020-03-30 | ap-gantt
# This should pop Gnuplot open!
activity act-01 10
activity act-02 5
activity act-03 5 act-01 act-02
Activity entries are prefixed with the 'activity' keyword, and they specify:
- the activity name
- the effort (in days) required to complete the activity
- an optional list activities that the current one depends on
person user-01 90
person user-02 50
Person entries are prefixed with the 'person' keyword, and they specify:
- the person name
- their allocation to this project, with the idea being that the smaller their allocation, the longer it's going to take for them to complete a given activity
claim user-03 act-01
Claim entries are prefixed with the 'claim' keyword, and they specify:
- the person who has claimed..
- the activity that was calimed
out-of-office user-01 2020-04-25
out-of-office user-02 2020-04-25 2020-12-25
out-of-office user-03 2020-04-25 2020-12-25..2020-12-31
Out of office entries are prefixed with the 'out-of-office' keyword, and they specify:
- the person this OOO entry refers to
- the date(s) (YYYY-MM-DD) the person won't be up for working
- Single date entries:
YYYY-MM-DD
, e.g.2022-07-04
- Date ranges:
YYYY-MM-DD..YYYY-MM-DD
, e.g.2022-07-04..2022-07-06
- Single date entries:
affinity user-01 100 act-01
affinity user-02 50 act-01 act-03
Affinity entries are prefixed with the 'affinity' keyword, and they specify:
- the person we are defining a affinity record for
- how productive they are i.e. a real number in the range
[0, 1]
- the activity or list of activities this productivity coefficient applies to
- Find a good heuristic
- when people start off with multiple activities assigned,
ap
combines them together -- which means other activities depending on any of them, might end up being claimed later because the completion date was pushed too far ahead (i.e. when the two activities got completed) - Shared, and mutual resources
- Docker support?!