FAQ
Q: What if there are conflicts in the source file ?

A: This isn't a problem, the schedule will be generated anyway. The events that conflict with others will be tagged as so internally, and they will be rendered in the output html file with a special class, so they clearly appear as a problem.
Additionnaly, all the conflicts will be summarized on the "conflicts" output page. However, the conflicted events do count for the different volume sums.
For an example, checkout a provided sample.

Q: Is it possible to have an event only on part of the time slot ?

A: No, this software uses the concept of atomic duration, that means that an event can only be a multiple of this duration, not less. You can try to use a smaller atomic duration, say 0.1 h, and assign each regular event (say, 1h) a duration of 10. But this hasn't been tested.

Q: Is it possible to have atomic groups with the same name but in different divisions ?

A: No, at the moment, the atomic groups must all have a different name. But this could be an improvment, indeed.

But the names of the groups are absolutely free, say you have groups A,B,C,D in division 1 and similarly in division 2, then I suggest you name them A1,B1,C1,D1 and A2,B2,C2,D2, for instance.

Q: Can the different divisions be rendered on separate tables ?

A: A: No, not at present, but this is a feature that is planned for future releases.

Yes, from release 0.3, this is possible, see this sample.

Q: Why do I need to specify group type in the input file ? If I have two atomic groups A and B and if I specify in groups file that I have a class group named "AB", then I don't see why in the input file do I have to specify that an event with "AB" is of type "class group", it is obvious ...

A: Because this behavior allows having different levels of course types with the same group name. In some situation, you can have a group that gets given different levels of teaching, but with these corresponding groups having the same name.
For example, an atomic group named "Z" and a class group also named "Z", holding only the atomic group "Z".

Q: How do you pronounce gensched ?

A: [ʒɛnskɛd] seems ok.

Q: (code-related) Why isn't a standard database (SQLite or other) api used, instead of a custom std::vector based data handling ?

A: This project started out as a little quick'n'dirty program. At that time it didn't seem relevant to use an industrial-strength database library. However, a move could be done in that direction in future releases, now that html formatting is ok.

Q: Can I customize what appears in a cell of the schedule ?

A: Yes and no. The default behaviour is to show 4 strings, in the following order:

  1. the type of course
  2. the subject
  3. the room
  4. the instructor

However if the -c command-line flag is given (see option: -c (show Course type)), then the course type will not appear.

Besides this, if one of the three other items is unknown, then a configuration flag enables the unknown field to be present or not.

Q: Can I define my own colors for a given subject/instructor ?

A: The default behaviour is to have colors assigned automatically to a given subject. The colors are handled through CSS class names, the first subject gets assigned to the first CSS color, and so on. This behaviour can be changed with a command-line switch (see option: -i (colors per Instructor)) so that colors are assigned to instructors.

This process is automatic: there is no way you can "assign" a color to something. What you can do however is edit the css colors, if you have sufficient knowledge.

A sample input file demonstrates all the available colors, see "color showoff" on Samples.

Q: I can't make the damn thing work ! Each time I give it a try, a get a {segfault|fatal error|empty output folder|xxx} !

A: First, remember this is only beta software and that, as so, it hasn't been tested extensively against a large set of input data.

Second, please check first standard error stream (aka stderr) for any error messages. If you ran the program from shell without any redirection, then that data will be printed on console. If you get too much output to be able to see anything, then run the program and redirect that stream:

> gensched my_input_data.csv 2>stderr.txt

and then open the generated file stderr.txt in an editor, and check out for any error messages. If you don't see any, try to run the above by adding the "debug" flag (-d) and check again the output file.

Lastly, if you get any unexplainable {segfault|core-dump} or anything similar, please try to reduce you input data to a minimal file reproducing the error and send it to authors, along with the generated stderr.txt file.

If you have build from source and you are able to do it again, then you can also try to do:

make cleanobj
make DEGUG=yes -j
sudo make install-bin

then try to run with your data as above. Be warned that the error file will become a lot more heavier, thus the need to reduce the input data to minimum.

Q: Is there an option to generate only a subset of the pages ?

A: No, this piece of software has been designed to give ALL the information available, in ALL its differents kind of views. Of course, if web publishing, you can upload only the files you want, but then you will have dead links.