OSDN Git Service
KAWACHI Takashi [Sun, 18 Oct 2009 14:08:00 +0000 (23:08 +0900)]
Set main window's icon.
KAWACHI Takashi [Sun, 18 Oct 2009 13:09:46 +0000 (22:09 +0900)]
Place some widgets in taskjugglerview.ui
KAWACHI Takashi [Sun, 18 Oct 2009 12:44:52 +0000 (21:44 +0900)]
Generate TaskJugglerView with QtCreator
and setCentralWidget()
KAWACHI Takashi [Sun, 18 Oct 2009 12:31:20 +0000 (21:31 +0900)]
Create TaskJugglerUIQt4 with QtCreator
KAWACHI Takashi [Sat, 17 Oct 2009 23:23:31 +0000 (08:23 +0900)]
fix compiletion warnings.
KAWACHI Takashi [Fri, 16 Oct 2009 15:53:22 +0000 (00:53 +0900)]
adjust integer's signedness
KAWACHI Takashi [Fri, 16 Oct 2009 15:40:06 +0000 (00:40 +0900)]
replace Q3TextStream to QTextStream
KAWACHI Takashi [Fri, 16 Oct 2009 15:08:04 +0000 (00:08 +0900)]
disable SVGTimeTimeReport, SVGGanttTaskReport when not KDE
KAWACHI Takashi [Fri, 16 Oct 2009 14:54:10 +0000 (23:54 +0900)]
fix compile problem
KAWACHI Takashi [Fri, 16 Oct 2009 14:53:49 +0000 (23:53 +0900)]
remove unused include
KAWACHI Takashi [Fri, 16 Oct 2009 14:53:29 +0000 (23:53 +0900)]
import zlib.h, zconf.h from zlib123-dll.zip
KAWACHI Takashi [Fri, 16 Oct 2009 14:15:59 +0000 (23:15 +0900)]
use putenv() instead of setenv() and unsetenv()
KAWACHI Takashi [Fri, 16 Oct 2009 13:48:34 +0000 (22:48 +0900)]
Tokenizer.cpp: fix compile problem.
KAWACHI Takashi [Fri, 16 Oct 2009 13:48:13 +0000 (22:48 +0900)]
remove #include "TjMessageHandler.moc"
KAWACHI Takashi [Fri, 16 Oct 2009 13:43:38 +0000 (22:43 +0900)]
include <QString>
KAWACHI Takashi [Fri, 16 Oct 2009 13:43:23 +0000 (22:43 +0900)]
replace Q3TextStream::UnicodeUTF8 with QTextStream::UnicodeUTF8
KAWACHI Takashi [Fri, 16 Oct 2009 13:43:03 +0000 (22:43 +0900)]
replace Q3ValueList<int>::const_iterator with QList<int>::const_iterator
KAWACHI Takashi [Fri, 16 Oct 2009 13:35:38 +0000 (22:35 +0900)]
Adjust signedness, QChar comparison with char*
KAWACHI Takashi [Fri, 16 Oct 2009 13:29:27 +0000 (22:29 +0900)]
fix Q3TextStream::Latin1 to QTextStream::Latin1
KAWACHI Takashi [Fri, 16 Oct 2009 13:27:52 +0000 (22:27 +0900)]
HTMLPrimitives.cpp: fix compile problem.
* remove q3cstring.h inclution
* use isLetter() instead of isalpha()
KAWACHI Takashi [Fri, 16 Oct 2009 13:25:15 +0000 (22:25 +0900)]
adjust integer's signedness
KAWACHI Takashi [Fri, 16 Oct 2009 13:21:59 +0000 (22:21 +0900)]
FileInfo.cpp: fix QChar related compile problem.
KAWACHI Takashi [Fri, 16 Oct 2009 13:14:58 +0000 (22:14 +0900)]
use QTextStream instead of Q3TextStream
KAWACHI Takashi [Fri, 16 Oct 2009 13:14:30 +0000 (22:14 +0900)]
ProjectFile.h: returns QString instead of reference
KAWACHI Takashi [Fri, 16 Oct 2009 13:10:16 +0000 (22:10 +0900)]
Report.h: change Q3ValueList to QList
KAWACHI Takashi [Fri, 16 Oct 2009 13:02:22 +0000 (22:02 +0900)]
adjust integer's signedness
KAWACHI Takashi [Fri, 16 Oct 2009 13:01:46 +0000 (22:01 +0900)]
define VERSION as "2.4.4"
KAWACHI Takashi [Fri, 16 Oct 2009 12:56:52 +0000 (21:56 +0900)]
Report, ReportElement: use QTextStream instead of Q3TextStream
KAWACHI Takashi [Fri, 16 Oct 2009 12:49:40 +0000 (21:49 +0900)]
TableColorSet.h: return QColor value instead of reference
KAWACHI Takashi [Fri, 16 Oct 2009 12:33:22 +0000 (21:33 +0900)]
use operator<< instead of writeRawBytes
This will fix compile error in Report.h
KAWACHI Takashi [Fri, 16 Oct 2009 12:24:18 +0000 (21:24 +0900)]
taskjuggler.pro: add .. to INCLUDEPATH
KAWACHI Takashi [Fri, 16 Oct 2009 12:23:48 +0000 (21:23 +0900)]
create config.h
KAWACHI Takashi [Fri, 16 Oct 2009 12:23:33 +0000 (21:23 +0900)]
eliminate config.h from ignore list
* In this project, config.h is manually crafted.
KAWACHI Takashi [Fri, 16 Oct 2009 12:13:46 +0000 (21:13 +0900)]
apply qt3to4 to TaskJugglerUI
* create TaskJugglerUI.pro using qmake -project
* apply qt3to4 TaskJugglerUI.pro
KAWACHI Takashi [Fri, 16 Oct 2009 12:10:42 +0000 (21:10 +0900)]
apply qt3to4 to taskjuggler
* create taskjuggler.pro using qmake -project
* apply qt3to4 taskjuggler.pro
Chris Schlaeger [Sun, 4 Oct 2009 08:52:12 +0000 (10:52 +0200)]
Next version should be 2.5.0.
Grégoire Barbier [Thu, 24 Sep 2009 17:59:54 +0000 (19:59 +0200)]
Updating changelog with entries for all my patches since july.
Grégoire Barbier [Tue, 22 Sep 2009 22:22:11 +0000 (00:22 +0200)]
Some unschedulable tasks simply disappeared without any error message
This was caused by some cases where a task has both its start and end
date known from the project file, but one at less though a dependency.
See example below.
Rather than fixing the date propagation code (which obviously lacks
at less one check) the patch adds a post-schedule consistency check in
Task::scheduleOk() method. Indeed, it seems a more robust way to catch
not only the case shown below but also any other case that would lead
to a task with end date before start date and thus disappearing
silently from the schedule.
The bug occurs both on the current development version (git) and on
2.4.3 release, no other version was tested.
Sample project file:
project prj "Project" "1.0" 2009-08-16 - 2010-03-31 {
}
task T1 "T1" {
start 2009-10-1
duration 2w
}
task T2 "T2" {
# this task disapears !
# no error message, no warning
depends !T1
end 2009-09-30
# note: the bug appends both if T2 is scheduled ASAP or ALAP
}
task T3 "T3" {
depends !T2
duration 1w
}
taskreport "Gantt Chart" {
columns hierarchindex, name, start, end, effort, duration, chart
timeformat "%a %Y-%m-%d"
loadunit days
sorttasks tree,sequenceup
}
Grégoire Barbier [Mon, 21 Sep 2009 18:53:37 +0000 (20:53 +0200)]
Added syntactical coloration for taskbarprefix and taskbarpostfix properties
Grégoire Barbier [Fri, 18 Sep 2009 18:21:23 +0000 (20:21 +0200)]
Fixed a rare scheduler bug involving containers early boundary date propagation
In a rare case described in the example below, the scheduler could not
find a way to plan a task with several dependencies, ending with the
following error message:
Impossible dependency
Task 'T1' ends at 2009-1-10 23:59:59 but needs to precede
task 'M1' which has a 'plan' start time of 2009-1-10 00:00:00
This was due to the fact that, in ASAP scheduling, when the end date
of a container (C0) is computed from a follower (M1) start date, it
was propagated to all of its other followers with no known start date
(T1, M2). However at this point the container computed end date can
still change, since its subtasks are not yet planed.
If one (T1) of the container followers is too a predecessor of the
task from which the temporary end date was taken (M1), then it (T1)
cannot be scheduled since its start date is equal to one of its
followers start date.
Task::propagateEnd() now skips end date to start date propagation to
followers for containers which don't yet have their final end date.
The same thing apply to ALAP scheduling, in Task::propagateStart()
for start date to end date propagation to predecessors.
Here is the sample project file used to reproduce the bug:
project prj "My Project" "1.0" 2009-1-1 - 2009-1-31
task C0 "C0" {
task T0 "T0" {
duration 6d
}
# the bug does not occur if C0 is a leaf, but only if
# it is a container
# fix: avoid propagating container dates when they are
# not stabilized (when children are not all scheduled)
# however this may make some projects unschedulable whereas
# they are schedulable now
}
task T1 "T1" {
# bug: this task cannot be scheduled whereas a dumb human
# would be able to do so
# it seems that M1 date is propagated to C0 through the
# "depends" constraint, and then that it is propagated
# again to all C0 followers, including T1, which is a
# problem since it then uses the start date for ASAP
# scheduling (hard constraint) and therefore is not able
# to comply with it end soft constraint ("depends" from
# M1 too).
depends C0
duration 1d
# uncommenting following line is a workaround to the bug
# and it allows looking at M2 scheduling as explained
# below
#start 2009-1-7
}
task M1 "M1" {
milestone
start 2009-1-10
depends T1
# the bug does not occur if "depends T1" is replaced with
# a "precedes M1" in T1, probably because of the switch to
# ALAP scheduling that this implies
depends C0
# the bug does not occur without C0 dependency, it
# probably has something to do with the fact that C0
# dependency is induced due to C0->T1->M1 dependencies
# note: another possible fix could have been to avoid
# following induced dependencies
}
task M2 "M2" {
# the bug still occur without M2, but M2 is delayed
# the same way than T1, which is interesting too
# for understanding the problem
# M2 start date is always the same than T1's whatever
# date is set using "date" in the T1 section
milestone
depends C0
}
taskreport "Gantt" {
columns name,start,end,chart
sorttasks tree,sequenceup
}
Chris Schlaeger [Sat, 3 Oct 2009 09:33:26 +0000 (11:33 +0200)]
Test case and change log entry for Gregoire's fix.
Grégoire Barbier [Wed, 16 Sep 2009 20:34:18 +0000 (22:34 +0200)]
Containers end and start dates were miscalculated in some cases
If a container C1 is a child of a container C0, has a child T1 and
has no specified start date whereas C0 has no specified start date
either but does have a start dependecy, then C1 start date was
computed has equal to C0 start date instead of T1's.
The same apply for C1 end date with a C0 end dependency.
Note:
C1 will still have C0 start date between C0 dependecies computation
and all of C1's children scheduling, therefore they can be side
effects such as C0 start date being still used for some other
constraint propagations, I'm not sure.
However I prefer not to remove the early affectation of C0 start
date to C1, because it may have worst side effects that I cannot
guess (the earlier a change is done in the scheduling algorithms,
the higher its impact to the whole process may be).
Example:
project prj "Project" "1.0" 2009-1-1 - 2009-1-31
task S "start" {
milestone
start 2009-1-1
}
task E "end" {
milestone
end 2009-1-30
}
task C0 "C0" {
depends S
precedes E
task C1 "C1" {
task T1 "T1" {
start 2009-1-10
length 1w
}
}
task C2 "C2" {
scheduling alap
task T2 "T2" {
end 2009-1-20
length 1w
}
}
}
taskreport "Gantt" {
columns name,start,end,chart
}
Chris Schlaeger [Sat, 3 Oct 2009 08:11:03 +0000 (10:11 +0200)]
Merge branch 'master' of ssh://office.taskjuggler.org/srv/www/vhosts/taskjuggler.org/htdocs/git-repos/taskjuggler
Chris Schlaeger [Sat, 3 Oct 2009 08:03:25 +0000 (10:03 +0200)]
Revert "Added external projects access for svgtimetimereport part 1."
This reverts commit
d06e37f20bbb8a7771575976b5c0ee7b9c75ebd8.
Roll back to make test suite work again.
Chris Schlaeger [Sat, 3 Oct 2009 08:01:28 +0000 (10:01 +0200)]
Revert "Improved 'now' red vertical line on svgtimetimereport."
This reverts commit
696c1f210ede6d4bcf418a7b927e53f272f78050.
Roll back to make test suite work again.
Chris Schlaeger [Sat, 3 Oct 2009 08:00:22 +0000 (10:00 +0200)]
Revert "Improve import of tjp files for svgtimetimereport. Now uses 'find' shell command."
This reverts commit
20139f05b01b4dde34b54072d89996bd407d37eb.
Rolling back to make test suite work again.
Chris Schlaeger [Sat, 3 Oct 2009 07:54:43 +0000 (09:54 +0200)]
Revert "Check errors when importing tjp file in svgtimetimereport."
This reverts commit
c3acea8f32db56ce35ff6aead2b538e52c1fb291.
Rolling back to fix test suite again.
Chris Schlaeger [Sat, 3 Oct 2009 07:54:11 +0000 (09:54 +0200)]
Revert "Fixed crashed when inheriting hidetask ~isLeaf()."
This reverts commit
d31a9ebb1c5394e28edcaf355b03038127321fce.
Rolling back to fix test suite again.
Chris Schlaeger [Sat, 3 Oct 2009 07:53:42 +0000 (09:53 +0200)]
Revert "Clean SVG default value for sorttask."
This reverts commit
09bcfd934f05492db793e2bb6457fe4f4786be34.
Rolling back to fix test suite again.
Chris Schlaeger [Sat, 3 Oct 2009 07:52:43 +0000 (09:52 +0200)]
Revert "Fixed directory issue in HTMLINdex, and removed thumbnailing."
This reverts commit
1584c55d12b81ac2deccbcc6966958e7849e001c.
Rolling back to fix test suite again.
Chris Schlaeger [Sat, 3 Oct 2009 07:52:15 +0000 (09:52 +0200)]
Revert "Added macro parameter for 'include' command."
This reverts commit
39ebfece10b2faf227ccbd5009852acae1578d3d.
Rolling back to fix test suite again.
Chris Schlaeger [Fri, 2 Oct 2009 12:19:20 +0000 (14:19 +0200)]
Fix vacation listing.
Resource vacation already contain the inherited global vacations. No
need to try to list them twice.
Chris Schlaeger [Fri, 2 Oct 2009 11:15:37 +0000 (13:15 +0200)]
Add start date due to having to revert patch
1809d1de5e64b430b3f3ef4a2664b9dc54b293da
Chris Schlaeger [Fri, 2 Oct 2009 11:09:44 +0000 (13:09 +0200)]
Revert "Automatically align underspecified tasks boundaries on project boundaries when possible."
This reverts commit
bfd16d389138c5a64db6939a43bb0180ed069675.
This patch breaks backward compatibility.
Chris Schlaeger [Fri, 2 Oct 2009 11:08:16 +0000 (13:08 +0200)]
Revert "Revert "Auto enlarge "scheduled" task time frame if a "booking" does not fit it.""
This reverts commit
b442b1d29d7185de6c859250f39cd5de34f99d61.
This patch was not the culprit.
Chris Schlaeger [Fri, 2 Oct 2009 09:24:41 +0000 (11:24 +0200)]
Revert "Auto enlarge "scheduled" task time frame if a "booking" does not fit it."
This reverts commit
e100645b40a76facfb591abba47bc57355ab46a8.
This patch breaks backward compatibility with older project files.
Chris Schlaeger [Fri, 2 Oct 2009 09:13:14 +0000 (11:13 +0200)]
Merge branch 'master' of ssh://office.taskjuggler.org/srv/www/vhosts/taskjuggler.org/htdocs/git-repos/taskjuggler
Chris Schlaeger [Fri, 2 Oct 2009 09:12:54 +0000 (11:12 +0200)]
Fix off-by-one second error in error message.
Jean-Yves [Sun, 12 Jul 2009 10:27:37 +0000 (12:27 +0200)]
Added macro parameter for 'include' command.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Mon, 17 Aug 2009 18:50:24 +0000 (20:50 +0200)]
Fixed directory issue in HTMLINdex, and removed thumbnailing.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Sat, 15 Aug 2009 21:23:35 +0000 (23:23 +0200)]
Clean SVG default value for sorttask.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Sat, 15 Aug 2009 20:41:31 +0000 (22:41 +0200)]
Fixed crashed when inheriting hidetask ~isLeaf().
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Mon, 10 Aug 2009 21:43:24 +0000 (23:43 +0200)]
Check errors when importing tjp file in svgtimetimereport.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Chris Schlaeger [Tue, 29 Sep 2009 18:00:48 +0000 (20:00 +0200)]
Revert "Added inheritance for htmltaskreport and taskreport."
This reverts commit
7802159b5bdaeb7777b6c8e2fe2a9cd83284ac20.
Breaks test suite and the patch that fixes this does not apply.
Jean-Yves [Sun, 9 Aug 2009 20:34:34 +0000 (22:34 +0200)]
Improve import of tjp files for svgtimetimereport. Now uses 'find' shell command.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Thu, 6 Aug 2009 22:04:12 +0000 (00:04 +0200)]
Improved 'now' red vertical line on svgtimetimereport.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Sat, 4 Jul 2009 10:06:24 +0000 (12:06 +0200)]
Added inheritance for htmltaskreport and taskreport.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Chris Schlaeger [Wed, 23 Sep 2009 19:30:00 +0000 (21:30 +0200)]
Revert "Added external projects access for svgtimetimereport part 1."
This reverts commit
d06e37f20bbb8a7771575976b5c0ee7b9c75ebd8.
This patch introduces a test suite error and the fix for it does not
apply.
Chris Schlaeger [Wed, 23 Sep 2009 19:18:28 +0000 (21:18 +0200)]
Revert "configure.in.in is a generated file"
This reverts commit
8c47751b508e15e5e44461585f4bcbc143c2d11d.
Chris Schlaeger [Wed, 23 Sep 2009 19:12:13 +0000 (21:12 +0200)]
configure.in.in is a generated file
It should not be under revision control.
Jean-Yves [Sun, 28 Jun 2009 20:51:12 +0000 (22:51 +0200)]
Added external projects access for svgtimetimereport part 1.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Sat, 27 Jun 2009 00:55:48 +0000 (02:55 +0200)]
Fixed crash when syntax error in a sub-report.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Mon, 22 Jun 2009 17:03:57 +0000 (19:03 +0200)]
Fixed small issue on 'Added Task Id into Clipboard'.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Sun, 21 Jun 2009 22:43:23 +0000 (00:43 +0200)]
Added now in AllScenarios.tjp.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Fri, 19 Jun 2009 22:53:56 +0000 (00:53 +0200)]
Added HTMLIndexReport. Remaining issue on relative directories in html.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Wed, 17 Jun 2009 23:34:20 +0000 (01:34 +0200)]
Added taskbarprefix and taskbarpostfix in svgganttreport.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Sun, 14 Jun 2009 00:21:02 +0000 (02:21 +0200)]
Added Expand,Shrink and Generate Sub-Reports in report popup menu.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Sat, 13 Jun 2009 23:21:52 +0000 (01:21 +0200)]
Added tests if inheritance of svgtimetimereport and svggantttaskreport.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Sat, 13 Jun 2009 23:13:36 +0000 (01:13 +0200)]
Added inheritance in svgtimetimereport.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Sat, 13 Jun 2009 22:35:33 +0000 (00:35 +0200)]
Added inheritance in svggantttaskreport + bug fix.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Sat, 13 Jun 2009 14:38:44 +0000 (16:38 +0200)]
Fixed issue on AllScenarios-Reference.html
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Fri, 12 Jun 2009 05:10:36 +0000 (07:10 +0200)]
Starting added task bar re/postfix in svgganttreport
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Tue, 9 Jun 2009 21:17:59 +0000 (23:17 +0200)]
Added svg gantt report.
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Jean-Yves [Wed, 3 Jun 2009 22:10:24 +0000 (00:10 +0200)]
Report inheritance: only taskreport tree at this stage.
Signed-off-by: Jean-Yves <j.taskjuggler@gindre.org>
Signed-off-by: Jean-Yves <jean-yves@phdd.(none)>
Signed-off-by: jyg <jean-yves@gindre.org>
Grégoire Barbier [Tue, 4 Aug 2009 07:19:01 +0000 (09:19 +0200)]
Separating "over resource limits load" from free load in graphical charts.
Until now, the time that is not allocatable to a resource due to
its usage limits was reported as free load with green bars on Gantt
and resource charts. This is misleading or at less hard to read for
part time resources.
Now this time is reported separatly with another bar in another
color.
Grégoire Barbier [Mon, 3 Aug 2009 09:12:20 +0000 (11:12 +0200)]
Adding an "overlimit" booking code and clarify constants usage for booking.
This patch is mainly a preparation work for a further patch enabling
gantt and ressource charts to display over limit resource time in a
different way than free time. To avoid a (very?) cpu intensive work
when producing charts a new, computed once, "overlimit" booking status
is needed.
To ease code reading and further changes, some booking-related code
has been clarified. Especially, the Resource::isAvaillable() method
has been renamed as Resource::getBooking(), since its name was
misleading (the method return 0 if and only if a resource is
available), and #define constants have been added.
By the way, this patch should enhance performances for resource usage
limits checking, when resources reach their limit during large periods.
However I did not test the performances until now.
The following booking codes and conditions conversion tables were
used to produce this patch, this may help for a review:
Booking status codes (values stored in scoreboard):
old new
0 SB_FREE
1 SB_OFF
2 SB_VACATION
3 (was actually not used, is still not used)
(new) SB_OVERLIMIT
Conditions on booking status codes:
old new
> 3 SB_IS_ALLOCATED
>= 4 SB_IS_ALLOCATED
> 4 SB_IS_ALLOCATED
< 4 !SB_IS_ALLOCATED
== 0 SB_IS_FREE
!= 0 !SB_IS_FREE
> 0 && < 4 SB_IS_UNAVAILABLE
Resource::getBooking() return codes:
old new
0 BOOKING_FREE
1 BOOKING_OFF
2 BOOKING_OVERLIMIT
3 (was actually not used)
4 BOOKING_BOOKED
Grégoire Barbier [Sat, 1 Aug 2009 22:43:00 +0000 (00:43 +0200)]
Adding ratio-based usage limits for "weeklymax" and "monthlymax".
When used in "resource" or "project" context (but not in "allocate"
context), "weeklymax" and "monthlymax" limits now accept a ratio
parameter, that is, a number > 0 and <= 1 without unit, which
define a limit as a ratio of the real working time in the period,
not including vacation.
This is usefull for resources that are shared among several
projects, to accurately handle general and personal vacations of
the resource.
For instance a resource working 50% of his/her time on the project
was previously handled with limits such as "weeklymax 2.5d".
This had huge drawbacks for weeks with less than 5 days of
workable time. For instance a 4-days week with, let say, a day
off due to national hollyday will make the resource work 63% of
his/her time instead of 50% (2.5d/4d).
Moreover, when the same person come back from beach on thursday,
he/she will even work 100% of his/her time, since 2 days are
less than 2.5.
Defining the limit with "weeklymax 0.5" does not have this
drawback, this will be interpreted as "2d" on 4-days weeks, and
as "1d" on 2-days weeks.
Grégoire Barbier [Sat, 1 Aug 2009 11:52:17 +0000 (13:52 +0200)]
Automatically align underspecified tasks boundaries on project boundaries when possible.
Somme common underspecification cases can be automatically completed,
before scheduling, by aligning the task boundaries on project
boundaries. This is now done.
This enables syntax simplication, and therefore ease of use for new
users, for the following two cases (the third one was actually
already supported).
(i) Project-wide tasks
Some tasks, such as management, last from project start to project
end. They no longer have to specify "start" and "end" with values
that change each time the project boundaries change.
For instance, this syntax is now accepted for a project-wide task:
task mnm "Management & Meetings" {
# no start date since it can be guessed as aligned on project start
# no end date since it can be guessed as aligned on project end
priority 1000 # no other task should steal time on this one
allocate john {
limits { weeklymax 0.5d dailymax 1h } # 4h/w but for short weeks
alternative joe select maxloaded # Joe when John is on vacation
}
}
This only works for tasks that have no incompatible soft constraints.
That is, no previous tasks if the start date is to be aligned on
project start date, and no followers if the end date is to be aligned
on project end date.
(ii) Half-project-wide tasks
Some tasks, such as support, last from a start point to the project
end (in ASAP scheduling) or from the project start to an end point
(in ALAP scheduling). They no longer have to specify the boundary
that is to be aligned to a project boundary.
For instance, this syntax is now accepted for a task which lasts
until the project end:
task support "Support" {
# no end date since it can be guessed as aligned on project end
depends !deployment
priority 1000 # no other task should steal time on this one
allocate team { limits { weeklymax 0.5d dailymax 1h } }
}
The same restrition about soft constraints applies as in case (i).
(iii) Tasks that we do not yet know the details
Previously, several cases of unknown content tasks were silently
converted to milestones to avoid errors during early stages of
project specification. This is still the case for tasks that does
not match the two previous cases.
For instance, such a task will be automatically converted to
milestone:
task integration "Integration Phase" {
depends !development
# not yet decided, let it be a milestone until further details
}
Nota:
In some cases this patch changes the behaviour of TJ since some tasks
where previously converted to milestone and are now extended to the
project boundaries, this is the case of tasks that only contained
a start specification (therefore in ASAP scheduling) and had no
followers. The new behaviour seems more desirable than the former one
since such tasks should be explicitly marked as milestones if they
are so: implicit conversion to milestone is only there as a
convenience for early project specification, not as a regular syntax.
Grégoire Barbier [Wed, 29 Jul 2009 21:05:00 +0000 (23:05 +0200)]
Removing redundant error checking related to booking declaration.
Both checks are redundant with those made in Task::preScheduleOk().
Moreover the check concerning milestones is less precise than the
one in Task::preScheduleOk() because the later detects implicit
milestones (tasks with no effort, no duration and no length)
whereas the removed check only handles tasks declared as milestones
by the "milestone" property (because it is done earlier in the
pre-scheduling process).
Grégoire Barbier [Wed, 29 Jul 2009 23:06:19 +0000 (01:06 +0200)]
Auto enlarge "scheduled" task time frame if a "booking" does not fit it.
For a given scenario, when a resource booking is found for a task that
has no longer to be scheduled ("scheduled" property is set for this
scenario) and does not fit the task time frame, then the time frame
is modified for the booking to fit it.
This patch makes time tracking easier since it avoids the painfull
manual work about tasks boundaries needed to avoid plenty of
"booking of resource XXX is outside of task interval" errors.
It also avoids at all the need of any property apart from "scheduled"
in such a task, including: "start", "end", "depends", "precedes",
"effort", "duration", "length", "allocate". An historical task can
now be almost empty, being only a support for bookings.
Grégoire Barbier [Tue, 4 Aug 2009 09:53:54 +0000 (11:53 +0200)]
The GUI failed to open the correct CSV report file if it had an absolute path.
The URL formed to open the system default editor for text/x-csv (let say
emacs) was always defined relatively to the project file directory, even
when the report name begined with a / (for instance "/tmp/tasks.csv").
Grégoire Barbier [Fri, 31 Jul 2009 12:14:45 +0000 (14:14 +0200)]
Fixed error message when allocate {load xxx} was under timingresolution.
The string contained a printf-style "%f" instead of an i18n-style "%1".
Grégoire Barbier [Thu, 30 Jul 2009 00:03:41 +0000 (02:03 +0200)]
Clarify error message for booking declarations before tasks definitions.
Grégoire Barbier [Mon, 27 Jul 2009 21:36:10 +0000 (23:36 +0200)]
Improved .gitignore: added some testsuite output files
Grégoire Barbier [Mon, 27 Jul 2009 09:58:08 +0000 (11:58 +0200)]
Column "hierarchlevel" was not described in the online doc.
BTW it was not defined in the vim syntax coloration properties either.
Chris Schlaeger [Thu, 23 Jul 2009 15:43:24 +0000 (17:43 +0200)]
Fix AllScenarios test case.
Chris Schlaeger [Thu, 23 Jul 2009 15:26:44 +0000 (17:26 +0200)]
Merge branch 'post-2.4.2'
Chris Schlaeger [Thu, 23 Jul 2009 12:43:13 +0000 (14:43 +0200)]
Get rid of compile error.
Test cases must have a fixed 'now' date.
Chris Schlaeger [Thu, 23 Jul 2009 12:11:53 +0000 (14:11 +0200)]
Merge branch 'post-2.4.2'
Conflicts:
docs/en/ChangeLog.xml
Grégoire Barbier [Thu, 11 Jun 2009 15:25:00 +0000 (17:25 +0200)]
Improved .gitignore * adding some doc and i18n artefacts * adding leading / for top-level only files (otherwise the same file name is matched anywhere within the tree)