UniTime / unitime

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

Error in updating the class timetable #175

Closed vaibhavi012 closed 4 months ago

vaibhavi012 commented 5 months ago

Hello @tomas-muller , The latest versions of unitime are not compatible with the rest of the tools. Error 404 not found page occurs after running the unitime. So I am working with 4.1_bld231 version. And I am facing the following error.

ResultSet error

tomas-muller commented 5 months ago

Please provide the whole error message or, better yet, the Tomcat log. From the screenshot it is unclear why the SQLGrammarException is being thrown. I can only identify that the error was thrown during an update of the Edit Class page while clearing the existing class preferences.

If you were trying to update UniTime to a later version, it is possible that the database was already updated to a later version, and some of the changes made are not compatible with the 4.1 version. You can check the database version on the Administration > Utilities > Test HQL page, by submitting the following query:

select value from ApplicationConfig where key = 'tmtbl.db.version'

The latest build of UniTime 4.8 is on version 269. For UniTime 4.1.231, you should see version 160.

Screenshot 2024-06-27 at 11 56 33

Could you be more specific on what tools are not compatible? Please note that if you are using Java 8, you can only update to UniTime 4.7 as UniTime 4.8 requires Java 11. Tomcat needs to be 8.5 or 9.0, MySQL 8.x. UniTime 4.7 or earlier would work on MySQL 5.7 as well.

vaibhavi012 commented 5 months ago

ResultSet error log error1 error2

vaibhavi012 commented 5 months ago

If I update to unitime 4.7 or 4.8 , i am getting 404 not found error in the browser when i try to run unitime of latest version. Even though i have tomcat 8.5 , MySQL 8 and MySQL Connector/J 8.4 . Could you please tell me what might be going wrong.

tomas-muller commented 5 months ago

The problem is that you are using MySQL 8 with a UniTime version that is too old. MySQL 8 introduced a new GROUPING function that created an issue with a UniTime column named as such. This was fixed in comit 44b5b05 back in 2018 and is available in UniTime 4.3.112 or later. Alternatively, it should be possible to fix this by setting

hibernate.globally_quoted_identifiers=true

in the UniTime custom properties file. See issue #34 for more details.

Error 404 (page not found) indicates that either the URL is wrong (e.g., the UniTime.war was renamed before the deployment, which would result in a different URL) or that the deployment of UniTime (during the startup of the Tomcat) has failed. The Tomcat log from the deployment should provide more information about what has failed.

vaibhavi012 commented 5 months ago

I tried to install unitime version 4.5_bld177 with tomcat 8.5 version and MySQL 8 but i'm facing 404 error not found and logs are shown below: image

image

image

tomas-muller commented 5 months ago

What version of Java are you using? As per the UniTime 4.5 installation instructions:

If you are using Java 16 or newer, you will need to set the --illegal-access=permit java option (e.g., using the JAVA_OPTS variable) as some of the UniTime dependencies do not support strong encapsulation yet.

Alternatively, you can use an older version of Java. Java 11 is a good choice as it offers LTS (long-time support). It can be an OpenJDK, such as Eclipse Temurin.

Full support for Java 16+ was added in UniTime 4.6.

I have recently updated the platform-specific installation instructions for UniTime 4.8, for instance, see help48.unitime.org/manuals/installation-windows for Windows.

vaibhavi012 commented 4 months ago

Thank you @tomas-muller, I am able to setup the software with latest versions. But I had a query relating to creating new academic session where after adding new session and switching to it, then there are missing features in the nav-bar as well as the newly created department is not showing up in subject area to create a new subject area. Kindly help me with this. image image

tomas-muller commented 4 months ago

Some pages and the related menu items are only shown when relevant data is available. For instance, the Examinations menu is only available when any examination periods are defined for the current academic session (see Administration > Academic Sessions > Examination Periods). Similarly, for the Course Timetabling menu to show there must be at least one solver group defined (see Administration > Academic Sessions > Solver Groups).

As for the subject area, please assign the department to a timetabling manager first (see Administration > Academic Sessions > Timetabling Managers).

For more details, please take a look at our administrative manual (menu Help > Manuals > Administration, or help.unitime.org/manuals/administration. In particular, the First Academic Session section.

vaibhavi012 commented 4 months ago

With your response I was successfully able to explore the features, thank you @tomas-muller . I also wanted to know how to enroll new students in the new academic session. Kindly help me through this.

tomas-muller commented 4 months ago

There are a few options:

  1. You can import student class enrollments (using Student class enrollments XML (see here for an example). The Administration > Academic Sessions > Data Exchange page can import the XML file.
  2. You can import student course requests (using Student course requests XML (see here for an example) and then run the Student Scheduling Solver to enroll students in individual classes.
  3. You can import just the students (using Students XML (see here for an example) and then let the students register themselves (using the Student Course Requests page and then using the Student Scheduling Solver to enroll students in individual classes) or to enroll themselves into classes (using the Student Scheduling Assistant page). For this, you need to have the academic session set in a status that allows for pre-registration and/or student scheduling: on Administration > Other > Status Types, the status needs to have the appropriate options checked in the Student Scheduling section.

For more details about the various XML imports, please see https://www.unitime.org/uct_interfaces.php.

vaibhavi012 commented 4 months ago

Thank you @tomas-muller for guiding.