Technion Timetable Utility
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin
bugs
data
debian
lib/ttime
po
resources
test
.gitignore
.travis.yml
README.rdoc
Rakefile
post-distclean.rb
post-setup.rb
ttime.bat
ttime.gemspec

README.rdoc

TTime – A Technion Timetable utility Build Status

TTime is (breath) a rewrite of a fork of a replacement of an updated version of software intended to help Technion students organize their timetables. (That was UDonkey-mono, UDonkey.Net, Marprog-Windows, Marprog-DOS). It automatically fetches its data from the Technion, and then generates automated schedules for the user according to his selections. We intend to make this program easy-to-use and extensible.

While this is technically a rewrite, a lot of concepts and code were borrowed from UDonkey, so thanks!

Licensing

This program's license is the GNU GPL. We don't have everything stamped with it yet though, so bear with us.

Installation

You can install ttime with the following command.

% ruby setup.rb

Prerequisites

You'll need the following packages in order to run ttime.

  • ruby1.8

  • libzip-ruby1.8

  • libgettext-ruby1.8

  • libglade2-ruby1.8

  • libgtk2-ruby1.8

  • libpango1-ruby1.8

  • librsvg2-ruby1.8

  • libcairo-ruby1.8

For UDonkey XML compatilbity, you'll also need:

  • libxml-ruby1.8

Visual scheduling

(Thanks to Tom Meiri for the idea)

Many people don't like having an automated scheduler find all possible schedules for them, and would rather see their options and pick by themselves. TTime facilitates working in this mode as well:

  1. Make sure the “Group Constraints” constraint is enabled in the Constraints tab.

  2. Go to the Schedule tab, right-click and select “Show all alternatives”. This will cause all events for all courses to be shown simultaneously, regardless of constraints.

  3. Right-click an event you wish to have in your schedule, and select “Mark this group”.

Note that the markings are saved in the “Group Constraints” constraint, and will take effect when you click “Find Schedules”.

Nicknames

Some courses have very long names, and we'd like to to display them (or search for them) using shortened names. You can override included nicknames by creating a file in your home directory, /home/youruser/.ttime/nicknames.txt, of the following format:

Very Long course name Which is hard to remember
MyCourse

Another Very Long course name which couldn't possible fit in schedule
Anothercourse

Microsoft Windows

To build your own packaging for Microsoft Windows:

  1. Download Ruby 1.9 (from ruby-lang.org)

  2. Copy the installation to the ttime directory (so that `ruby-winbinruby` leads to the interpreter)

  3. Install the following gems:

ruby-win\bin\gem install gtk2 gettext rsvg2 zip libxml-ruby tzinfo

UDonkey's XML format (udonkey.com)

We intend to be compatible with the UDonkey's XML format. At this point, you can place MainDB.xml, as generated by UDonkey, in the data subdirectory, and the data therein will be loaded directly by TTime.