UniTime / unitime

Comprehensive University Timetabling System
http://www.unitime.org
Apache License 2.0
282 stars 162 forks source link

Unitime #64

Closed mohamed-azzam closed 4 years ago

tomas-muller commented 4 years ago

The pu-spr07-cs.xml downloaded from University Course Timetabling Benchmark Datasets cannot be imported into UniTime. It just contains information needed by the course timetabling solver to solve the problem in an anonymized form. The solver XML format is described at https://www.unitime.org/uct_dataformat_v24.php and the execution of the CPSolver using this XML is described at https://www.unitime.org/uct_execution.php.

XML formats that can be imported into UniTime using the Data Exchange page are described on https://www.unitime.org/uct_interfaces.php.

tomas-muller commented 4 years ago

Students cannot be created directly in UniTime. We expect students to be imported into UniTime from a Student Information System. It is possible to import a student using our XML interface (see http://www.unitime.org/uct_interfaces.php, in particular the Students XML or the Student course requests XML format).

tomas-muller commented 4 years ago

We do have the online demo available at https://demo.unitime.org. You can get an instance with the same data using the woebegon-data.sql during UniTime installation.

tomas-muller commented 4 years ago

You will need to drop the existing class enrollments first (the Student Course Request page/dialog does not allow a student to remove courses that he/she is already enrolled in). You can do that using the Students > Batch Solver page:

  1. open the page, hit Load, wait for Awaiting Commands...
  2. hit Refresh and then Clear, confirm the choice
  3. hit Save, confirm the choice, wait for Awaiting Commands...
  4. hit Unload
tomas-muller commented 4 years ago

So, do you have the student set to the system default / All Enabled status? Looks like all (or at least those that are below the Set student status.. dialog) students are in the Disabled status.

The ability to use the Course Requests page is given by the 4 checks in the Permissions table in the Student Course Requests line. For the admin to make changes you need the Changed Admin check (last one).

The Special Registration is something different -- it is a 3rd party integration allowing to check for registration errors and request overrides.

You can define the student statuses on the Administration > Other > Student Status Types page.

tomas-muller commented 4 years ago

To be able to use the Course Requests page, the academic session status (that is set on the Administration > Academic Sessions > Academic Sessions page) must be set to a status that allows for Student Sectioning Registration. By default, only the Demo (All Enabled) status has this set -- see Administration > Other > Status Types for the available statuses and their parameters.

Besides the session status, the student status must allow for Registration and Student Register, Advisor Register, or Admin Register depending on the role of the user using the Student Course Requests page. See Administration > Other > Student Status Types for the existing student statuses. The default student status can be set on the academic session (same place as the session status) and it can be changed on individual students using the Online Student Scheduling Dashboard.

All the available UniTime documentation is listed on the http://bit.ly/unitime44docs page.

tomas-muller commented 4 years ago

Due to the stochastic nature of the search algorithm, it is not guaranteed that it will find an optimal solution. Also, the solver keeps on running and trying to find an improvement until the time runs out. Usually, you can see that the solution stops improving or gets it gets improved very slowly after some time. The solver can be stopped after that.

You can change the default solver time limit and a lot of other properties in the solver configuration, Administration > Solver > Configurations page. Look for "Maximal solver time (in sec)".

tomas-muller commented 4 years ago

On the status type, you need to have the "Online Sectioning" toggle in the Student Sectioning section checked.

tomas-muller commented 4 years ago

You probably need to update the academic session (on Administration > Academic Sessions > Academic Sessions, click on the academic session, and hit Update) for the online scheduling server to notice the status change.

If that does not help, go to Administration > Solver > Manage Solver, and click Reload on the Fal 2010 online scheduling server (Manage Online Scheduling Servers table).

tomas-muller commented 4 years ago

There is only one student log in in the demo (Student Brian with ext id 1002), with the student as the username as well as password. You can define more on the Administration > Other > Users page (the external id of the student must match the external id on this page). In the demo, students have external ids between 1001 and 1019.

What do you mean by resetting the default configuration? You can reset your unitime database back to what it was after a fresh installation by:

  1. stop the tomcat
  2. run the schema.sql and woebegon-data.sql MySQL scripts (to re-create the database and populate it with the demo content) mysql -uroot -p <schema.sql mysql -utimetable -punitime timetable <woebegon-data.sql
  3. start the tomcat again