UniTime / unitime

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

Error in updating the class timetable #175

Open vaibhavi012 opened 6 days ago

vaibhavi012 commented 6 days 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 6 days 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 6 days ago

ResultSet error log error1 error2

vaibhavi012 commented 6 days 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 6 days 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 2 days 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 2 days 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.