DeOldSax / iliasDownloaderTool

synchronize, manage and download the files from your e-learning platform https://www.ilias.de/
https://iliasdownloadertool.de/
GNU General Public License v2.0
48 stars 18 forks source link

Support for University of Freiburg #15

Open Nailuj1 opened 6 years ago

Nailuj1 commented 6 years ago

Hi,

the tool looks realy good! It woult be nice to have it for Ilias Uni Freiburg too.

Best regareds

DeOldSax commented 6 years ago

Hey @Nailuj1 thanks for the request! Would you be in for doing some tests before an official release?

Nailuj1 commented 6 years ago

sure!

DeOldSax commented 6 years ago

Ok cool. I will ping you!

DeOldSax commented 6 years ago

Hey @Nailuj1 could you pls build and test the version on branch ilias-freib or provide an email address so i can sent you a packaged version for testing? Thank you!

vonHartz commented 4 years ago

Hi,

any reasons why the branch doesn't exist anymore?

Cheers

JoAllg commented 3 years ago

@DeOldSax i also would appreciate it if we could get a working version for ilias.uni-freiburg.de. Because of the online semsters all our material is available from there

DeOldSax commented 3 years ago

@JoAllg @vonHartz If we want to add support for the Ilias Platform (Freiburg) then it would be great if someone could provide a list of requests that are executed during the login phase and test with an existing login as i don't have any. Feel free to contact me if you are happy to help.

vonHartz commented 3 years ago

I implemented the login steps in python using selenium webdriver. Hope this helps to understand the process:

from selenium import webdriver from selenium.webdriver.firefox.options import Options from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait ilias_url = "https://ilias.uni-freiburg.de" login_url = ilias_url + "/shib_login.php" usrname_id = 'LoginForm_username' pw_id = 'LoginForm_password' submit_name = 'yt0' title_substring = 'ILIAS' ... self.driver = webdriver.Firefox self.driver.get(login_url) self.driver.find_element_by_id(usrname_id).send_keys(username) self.driver.find_element_by_id(pw_id).send_keys(password) self.driver.find_element_by_name(submit_name).submit()

WebDriverWait(self.driver, 30).until(EC.title_contains(title_substring))

DeOldSax commented 3 years ago

@vonHartz @JoAllg

Could you pls build ilias-aluf and test it? I also uploaded a test-ready build here: https://www.dropbox.com/s/4zrc2bbkatgvnrn/IliasDownloaderTool-aluf-v1.2.2.zip?dl=0

vonHartz commented 3 years ago

Using the build I get this stack:

$ java --module-path /usr/share/openjfx/lib/ --add-modules javafx.web -jar Ilias-Downloader-Tool-aluf-v1.2.2.jar 20:13:41.877 [main] ERROR model.persistance.Storer - /home/jan/.ilias/flags.ser (Datei oder Verzeichnis nicht gefunden) java.io.FileNotFoundException: /home/jan/.ilias/flags.ser (Datei oder Verzeichnis nicht gefunden) at java.base/java.io.FileInputStream.open0(Native Method) at java.base/java.io.FileInputStream.open(FileInputStream.java:219) at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157) at model.persistance.Storer.deserialize(Storer.java:87) at model.persistance.Storer.deserializeAndDecrypt(Storer.java:79) at model.persistance.Storer.load(Storer.java:44) at model.persistance.Settings.load(Settings.java:97) at model.persistance.Settings.getFlags(Settings.java:56) at plugin.IliasPlugin.newClient(IliasPlugin.java:83) at plugin.IliasPlugin.<init>(IliasPlugin.java:32) at plugin.ALUFIlias.<init>(ALUFIlias.java:19) at control.IliasManager.<init>(IliasManager.java:23) at control.IliasManager.getInstance(IliasManager.java:28) at analytics.AnalyticsLogger.generateUserID(AnalyticsLogger.java:45) at analytics.AnalyticsLogger.<init>(AnalyticsLogger.java:33) at analytics.AnalyticsLogger.getInstance(AnalyticsLogger.java:39) at view.Dashboard.main(Dashboard.java:61) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051) 20:13:42.020 [main] ERROR model.persistance.Storer - /home/jan/.ilias/user.ser (Datei oder Verzeichnis nicht gefunden) java.io.FileNotFoundException: /home/jan/.ilias/user.ser (Datei oder Verzeichnis nicht gefunden) at java.base/java.io.FileInputStream.open0(Native Method) at java.base/java.io.FileInputStream.open(FileInputStream.java:219) at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157) at model.persistance.Storer.deserialize(Storer.java:87) at model.persistance.Storer.deserializeAndDecrypt(Storer.java:79) at model.persistance.Storer.load(Storer.java:44) at model.persistance.Settings.load(Settings.java:97) at model.persistance.Settings.getUser(Settings.java:45) at analytics.AnalyticsLogger.generateUserID(AnalyticsLogger.java:46) at analytics.AnalyticsLogger.<init>(AnalyticsLogger.java:33) at analytics.AnalyticsLogger.getInstance(AnalyticsLogger.java:39) at view.Dashboard.main(Dashboard.java:61) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051) 20:13:42.022 [main] INFO view.Dashboard - Start IliasDownloaderTool javax.net.ssl.SSLHandshakeException: No X509TrustManager implementation available at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:350) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:293) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:288) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1356) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1231) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1174) at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422) at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:183) 20:13:42.568 [main] WARN control.VersionValidator - HttpConnection failed --> no version check javax.net.ssl.SSLHandshakeException: No X509TrustManager implementation available at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:350) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:293) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:288) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1356) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1231) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1174) at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422) at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:183) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:171) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1408) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1314) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:440) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:411) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:394) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353) at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:141) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353) at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107) at control.VersionValidator.validate(VersionValidator.java:31) at view.Dashboard.main(Dashboard.java:67) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051) Caused by: java.security.cert.CertificateException: No X509TrustManager implementation available at java.base/sun.security.ssl.DummyX509TrustManager.checkServerTrusted(SSLContextImpl.java:1706) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1340) ... 36 common frames omitted at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:171) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1408) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1314) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:440) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:411) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:394) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353) at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:141) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353) at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107) at analytics.AnalyticsLogger.lambda$log$0(AnalyticsLogger.java:76) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.security.cert.CertificateException: No X509TrustManager implementation available at java.base/sun.security.ssl.DummyX509TrustManager.checkServerTrusted(SSLContextImpl.java:1706) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1340) ... 25 more 20:13:43.002 [JavaFX Application Thread] ERROR model.persistance.Storer - /home/jan/.ilias/iliasFolderSettings.ser (Datei oder Verzeichnis nicht gefunden) java.io.FileNotFoundException: /home/jan/.ilias/iliasFolderSettings.ser (Datei oder Verzeichnis nicht gefunden) at java.base/java.io.FileInputStream.open0(Native Method) at java.base/java.io.FileInputStream.open(FileInputStream.java:219) at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157) at model.persistance.Storer.deserialize(Storer.java:87) at model.persistance.Storer.deserializeAndDecrypt(Storer.java:79) at model.persistance.Storer.load(Storer.java:44) at model.persistance.Settings.load(Settings.java:97) at model.persistance.Settings.getIliasFolderSettings(Settings.java:79) at control.LocalFileStorage.refresh(LocalFileStorage.java:34) at view.Dashboard.start(Dashboard.java:302) at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) at java.base/java.security.AccessController.doPrivileged(Native Method) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277) at java.base/java.lang.Thread.run(Thread.java:834) Exception in Application start method java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051) Caused by: java.lang.RuntimeException: Exception in Application start method at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900) at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.NoClassDefFoundError: com/sun/javafx/scene/control/skin/TextFieldSkin at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at org.controlsfx.control.textfield.CustomTextField.createDefaultSkin(CustomTextField.java:161) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897) at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1397) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:79) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1397) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:79) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1397) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:79) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9536) at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:569) at javafx.graphics/javafx.scene.Scene.preferredSize(Scene.java:1745) at javafx.graphics/javafx.scene.Scene$2.preferredSize(Scene.java:393) at javafx.graphics/com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66) at javafx.graphics/javafx.stage.Window$12.invalidated(Window.java:1086) at javafx.base/javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110) at javafx.base/javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145) at javafx.graphics/javafx.stage.Window.setShowing(Window.java:1174) at javafx.graphics/javafx.stage.Window.show(Window.java:1189) at javafx.graphics/javafx.stage.Stage.show(Stage.java:273) at view.Dashboard.start(Dashboard.java:304) at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) at java.base/java.security.AccessController.doPrivileged(Native Method) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277) ... 1 more Caused by: java.lang.ClassNotFoundException: com.sun.javafx.scene.control.skin.TextFieldSkin at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 60 more Exception running application view.Dashboard

JoAllg commented 3 years ago

I am also not able to start it: ''' D:\Desktop\IliasDownloaderTool-aluf-v1.2.2>java -jar ./Ilias-Downloader-Tool-aluf-v1.2.2.jar Error: Could not find or load main class view.Dashboard Caused by: java.lang.NoClassDefFoundError: javafx/application/Application ''' However it is the same with the other release version 1.2.2 too. Maybe I need to reinstall java, currently the last JDK 15 on Win64bit is installed.

vonHartz commented 3 years ago

I am also not able to start it: ''' D:\Desktop\IliasDownloaderTool-aluf-v1.2.2>java -jar ./Ilias-Downloader-Tool-aluf-v1.2.2.jar Error: Could not find or load main class view.Dashboard Caused by: java.lang.NoClassDefFoundError: javafx/application/Application ''' However it is the same with the other release version 1.2.2 too. Maybe I need to reinstall java, currently the last JDK 15 on Win64bit is installed.

Error: Could not find or load main class view.Dashboard Caused by: java.lang.NoClassDefFoundError: javafx/application/Application

For me that was resolved with the flag "--add-modules javafx.web". But then lead to the error stack posted above.

DeOldSax commented 3 years ago

@JoAllg @vonHartz thx for testing!

regarding javafx error: need to check which versions contain javafx and where to pack it, that has to go in a different ticket

regarding the settings file error: this should be fine, i made a small fix which hides the error so nobody gets confused

again a prebuild version: https://www.dropbox.com/s/4zrc2bbkatgvnrn/IliasDownloaderTool-aluf-v1.2.2.zip?dl=0

and the updated branch if you want to build it yourself: ilias-aluf

If the login works and you can find most of your files and download them - then everything should be fine. If that is the case - we can release it.

vonHartz commented 3 years ago

Thanks for the quick fix! Got a new problem now:


$ java --module-path /usr/share/openjfx/lib/ --add-modules javafx.web -jar Ilias-Downloader-Tool-aluf-v1.2.2.jar
13:53:36.138 [main] INFO  view.Dashboard - Start IliasDownloaderTool
13:53:37.123 [main] WARN  control.VersionValidator - HttpConnection failed --> no version check
javax.net.ssl.SSLHandshakeException: No X509TrustManager implementation available
DeOldSax commented 3 years ago

apart from this warning - can you still use the tool properly?

vonHartz commented 3 years ago

No, it doesn't launch for me, only throws the warning and a long stack.

vonHartz commented 3 years ago

Anything I could help with for debugging?

DeOldSax commented 3 years ago

in case you want to speed things up feel free to drop me an email - mail@iliasdownloadertool.de - and we can solve this probably a bit faster and easier

Nailuj1 commented 3 years ago

Any updates here? Or can I help somehow? Would be really nice to download all the stuff from Ilias ;)

DeOldSax commented 3 years ago

Hi @Nailuj1, few years ago i asked you for a small help yeap.

Hey @Nailuj1 could you pls build and test the version on branch ilias-freib or provide an email address so i can sent you a packaged version for testing? Thank you!

Please see the thread above and other open tickets that request for a new integration. In short: i need a list of requests or working code as a PR.

In case you have serious interest in collaboration feel free to contact me.