Changing minimum scheduling resolution

113 views
Skip to first unread message

ki11er_bob

unread,
Oct 22, 2011, 4:17:23 AM10/22/11
to TaskJuggler Users
Hi'

I am glad to see, that tj3 is about to make exit of its beta state. I
have up until now been sticking with tj2 but have recently done
experiments with the new version, and experiences are good.

I have among other activities a bit of an unorthodox use in that I am
scheduling activities on only a single day. Those activities are
repeated every day and the intention is to quickly provide to
management a gantt chart of resource use across day and night.

The minimum scheduling resolution is 5min, but for this special
purpose I would like to adjust the scheduling resolution to 1min. I
was a few years ago told what to change in the tj2 source code, and I
thus would very much like to get pointed to the same spot in the tj3
source code.

Best regards.

Thomas.

PS : If one would aim at providing reports ultimately in pdf format,
what will then be the suggested path to follow. Doing pdf output in
tj2 was obviously easy with the graphical user interface, but tj3 is
lacking that so far, so I probably need to apply some post processing
conversion and am thus asking, what you would suggest as being the
easiest path to follow.

Matthias Berse

unread,
Oct 22, 2011, 5:31:50 AM10/22/11
to taskjugg...@googlegroups.com
Hi Thomas,

a few weeks ago someone suggested https://code.google.com/p/wkhtmltopdf to generate pdf output. Works like a charm to me.

Also using ruby 1.9.2 significantly speeds up the scheduling process compared to 1.8. I found rvm (http://beginrescueend.com/) a wonderful solution for the fact that ubuntu is lacking behind. Works like a charm.

As far as editors are concerned I am using jedit in ruby mode (too lazy to program a proper syntax highliting at the moment). This one is cross platform and relatively smart.

Just thought I share these experiences

Cheers,

Matthias
On Oct 22, 2011, at 10:17 AM, ki11er_bob wrote:

Chris Schlaeger

unread,
Oct 22, 2011, 2:00:14 PM10/22/11
to taskjugg...@googlegroups.com
On Sat, Oct 22, 2011 at 10:17 AM, ki11er_bob <ki11e...@yahoo.dk> wrote:
> The minimum scheduling resolution is 5min, but for this special
> purpose I would like to adjust the scheduling resolution to 1min. I
> was a few years ago told what to change in the tj2 source code, and I
> thus would very much like to get pointed to the same spot in the tj3
> source code.

That would be line 2778 in lib/taskjuggler/TjpSyntaxRules.rb. The
change should be obvious even without any programming knowledge ;). If
you change the installed Ruby files, it will just work. No compilation
necessary. Otherwise, just follow the steps in the manual.

Chris

Thomas Lorenzen

unread,
Oct 24, 2011, 8:31:45 AM10/24/11
to taskjugg...@googlegroups.com
Hi'

That change to lib/taskjuggler/TjpSyntaxRules.rb seems to work just fine. Thanks.

For the record, I have in my special use of taskjuggler had no problems with tj2 using the following in the project header.

workinghours mon - sun 00:00 - 24:00


However, with tj3 I get the following.

ERROR: Ups, you have triggered a bug in TaskJuggler III!
Time interval has illegal values: 0 - 86400


As expected, everything behaved nicely if I adjust to the following.


workinghours mon - sun 00:00 - 23:59


I am a bit uncertain, if this can be called a bug.


Best regards.

Thomas.

----- Original meddelelse -----
Fra: Chris Schlaeger <cschl...@gmail.com>
Til: taskjugg...@googlegroups.com
Cc:
Sendt: 20:00 lørdag den 22. oktober 2011
Emne: Re: [taskjuggler-users] Changing minimum scheduling resolution

Chris

--
You received this message because you are subscribed to the "TaskJuggler Users" group.
To post to this group, send email to taskjugg...@googlegroups.com
To unsubscribe from this group, send email to
taskjuggler-us...@googlegroups.com
For more information about TaskJuggler visit http://www.taskjuggler.org

Chris Schlaeger

unread,
Oct 24, 2011, 9:19:18 AM10/24/11
to taskjugg...@googlegroups.com
On Mon, Oct 24, 2011 at 2:31 PM, Thomas Lorenzen <ki11e...@yahoo.dk> wrote:
> However, with tj3 I get the following.
>
> ERROR: Ups, you have triggered a bug in TaskJuggler III!
> Time interval has illegal values: 0 - 86400

Every time a user sees the ups message, it's a TaskJuggler bug that
should be reported if still reproduceable with the latest Git version!

I've just fixed this and allowed 24:00 as end value. Please try the
latest version from the Git repo.

Chris

Bas de Bruijn

unread,
Mar 20, 2013, 5:24:17 PM3/20/13
to taskjugg...@googlegroups.com

Hi Mike,
I have made a branch where i changed the timingresolution to seconds, thus being able to schedule tasks at a resolution of seconds. No switching between minutes and seconds though. I only ended up doing a hack for my purpose.

I wanted this for the same purpose as your question. To schedule a process. The scheduling will take a longer time if you use a small resolution (1s) and schedule long tasks (hours). But i don't think this will happen quickly when scheduling for this specific purpose.

Regarding your question about reports: same functionality but with smaller resolution. If you are interested i will be happy to share my code with you.

Bas

Op 20 mrt. 2013 20:30 schreef "Mike Mastroianni" <michael.m...@gmail.com> het volgende:
Hi all,

I am also interested in the potential use of TaskJuggler III for scheduling tasks on a finer timescale (namely resolution to one minute, perhaps even down to seconds.) I am curious if anyone has used TaskJuggler III in this manner for things like machine shop scheduling (in my case it's interest in laboratory process management.) In general, has TaskJuggler III been used with any success in applications where one is attempting to schedule many instances of an identical task (i.e., scheduling various numbers of parts to paint or assemble, say?) Also, are reports (especially Gantt charts) possible at this resolution as well?

This may fall more under the category of something like finite capacity resource planning, but the source file processing nature of TaskJuggler would be very desirable in this domain and I have been unable to find an open source alternative that is as desirable as the TaskJuggler approach.

Sorry for the multiple-question submission but any insight is very much appreciated.

Cheers,

Mike

--
You received this message because you are subscribed to the "TaskJuggler Users" group.
To post to this group, send email to taskjugg...@googlegroups.com
To unsubscribe from this group, send email to
taskjuggler-us...@googlegroups.com
For more information about TaskJuggler visit http://www.taskjuggler.org
---
You received this message because you are subscribed to the Google Groups "TaskJuggler Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to taskjuggler-us...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Mike Mastroianni

unread,
Mar 20, 2013, 6:32:52 PM3/20/13
to taskjugg...@googlegroups.com
Hi Bas,

Thanks very much, I would welcome giving your branch a try, especially as I'm just at that point of really learning about how TaskJuggler might help me model and simulate some of these laboratory processes. (I'm hesitant to make my own edits to the current version without a deeper understanding of the source and Ruby both.)

It would be great if this option was intrinsic to the main source as it seems like a natural extension to consider finer-grained scheduling problems, but maybe we're in a very small minority of users in this case.

Thanks for any help or advice in advance, it's much appreciated.

Btw, did you encounter any particular difficulties or challenges after incorporating these changes?

Thanks again --

Cheers,

Mike

Bas de Bruijn

unread,
Mar 21, 2013, 7:17:27 AM3/21/13
to taskjugg...@googlegroups.com
Hi Mike,
I'm no pro ruby developer but have had little problems adding this in the code. I added my own working branch "timingseconds" to a clone of the main taskjuggler repository. It's available at https://github.com/luminize/TaskJuggler.git
If you switch to the branch "timingseconds" you should be able to start without much problems. you should be able to generate reports. Not tested 100%.
Regards,
Bas

Mike Mastroianni

unread,
Mar 21, 2013, 7:27:14 AM3/21/13
to taskjugg...@googlegroups.com
Bas,

Thanks very much for your help! Is there anything special that I need to do to select your branch over the current one? (I just installed tj3 via a gem command I believe, so I'm thinking I might need to read up a bit on using git to manage and make active different branches.)

Thanks again for your kind reply.

Best regards,

Mike

Bas de Bruijn

unread,
Mar 21, 2013, 8:36:09 AM3/21/13
to taskjugg...@googlegroups.com
Hi Mike,
I can only tell you what i did. I'm an mechanical engineer, but not scared to do some programming when needed. Most of what i did came from searching:
- installed rvm
- installed the tj3 gem
- install the git repository in a directory of my choice (~/Programs) by going to that dir in the terminal and then add "git clone https://github.com/taskjuggler/TaskJuggler.git". In your case you could "git clone https://github.com/luminize/TaskJuggler.git" (where my branch is added)
- I located and opened with a text editor "tj3" the in ~/.rvm/gems/ruby-1.9.3-p362/bin directory
- commented out (last) line 
  load Gem.bin_path('taskjuggler', 'tj3', version)
- and added beneath it the line:
  load '/directorytowhereyouhaveyourcode/taskjuggler3/bin/tj3'#('taskjuggler', 'tj3', version)

where you have made your git-copy. Now when i enter "tj3 taskjugglerprojectfile.tjp" in the terminal it gets redirected to where i want it to go, being my special directory. I don't know if what i did is punishable by death, and i suspect there is a much more elegant solution but it worked for me :).

when this is done you can switch to the branch you want by
- going to your new tj3 directory in the terminal
- enter  'git checkout timingseconds'
- voila, you can schedule your tasks in seconds

If you want to go back to scheduling in the way tj3 was made, just switch back to the original branch.

Hope this helps
remarks? Let me know!
Bas



Mike Mastroianni

unread,
Mar 21, 2013, 9:17:04 AM3/21/13
to taskjugg...@googlegroups.com
Hi Bas,

This is great, I think I needed exactly this to get started, very cool indeed. As soon as I clear a few tasks from my plate I will have some fun with this. It's the perfect excuse to learn a bit about git also, which I've been meaning to do.

I think it would be interesting to develop a DSL in Ruby as a means to employ TJ in less conventional (process v. project) domains perhaps.

Thank you so very much!

Best regards,

Mike

Baila Hie

unread,
Nov 12, 2021, 12:16:54 AM11/12/21
to TaskJuggler Users

Another reason for having second resolution is that most time-tracking applications track time with a precision of a second. It is now very laborious to manually convert that to the taskjuggler booking construct, which you are forced to because the resolution there is minimally 5 minutes. Moreover, it is a lossy transformation, you have to "aggregate"

What I want to do is automatically convert the output of a timetracker (for example Toggl) to the tj3 booking format and read it straight into taskjuggler. That would save a lot of manual labour of the team when tracking a project.

I have been wondering how other TJ users do this: do you manually transfer all the time you tracked to booking tasks? If so, I am surprised, because that is truly laborious. Then we have such tool for projectmanagement and then you still spend hours manually transferring data. In my opinion this step should be completely automatic, just like the connection between Time Sheet and MS Project: https://www.stdtime.com/videos/sync-microsoft-project-tasks-with-timesheet.htm (I never used these tools, but they describe how I also want to do it with TaskJuggler and our favourite timeregistration application.)
Reply all
Reply to author
Forward
0 new messages