Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beschreibung für Einrichten des Editors auf Linux #19

Open
scr0llbaer9000 opened this issue Oct 18, 2023 · 9 comments
Open

Beschreibung für Einrichten des Editors auf Linux #19

scr0llbaer9000 opened this issue Oct 18, 2023 · 9 comments

Comments

@scr0llbaer9000
Copy link

Ich konnte den Editor für ein Eclipse auf Linux immer noch nicht zum laufen kriegen.

Eigentlich sollte man nur irgendwelche Dateien an die richtige Stelle kopieren müssen, nur welche und wohin genau? Ins Home-Verzeichnis des Users wäre präferiert, sonst wird das Plugin möglicherweise bei System-Package-Updates, die Eclipse betreffen, zerschossen.

Update-Funktionalität des Editor-Plugins brauch ich persönlich nicht, das kann ich händisch machen.

@nittka
Copy link
Collaborator

nittka commented Oct 20, 2023

Eine Installationsbeschreibung befindet sich unter https://github.com/TVTower/Documentation/blob/master/database_editor/xtext_de/installation.md
Vermutlich hast Du die aber auch schon gesehen. Ich habe den Editor noch nicht wieder auf Stand gebracht (auch weil sich das bisherige Interesse eher in Grenzen gehalten hat). Er ist aufgrund der verwendeten Syntax und Werte vor Deinen großen Erweiterungen entstanden. Für den aktuellen Stand der Datenbank ist er (insb. auch performancemäßig) nicht mehr wirklich zum Editieren geeignet (für Syntaxprüfung etc. aber noch OK).

Die genannten Plugin-Dateien müssen schon ins plugin-Verzeichnis von Eclipse (bzw. dropins falls unterstützt), sonst werden sie auf keinen Fall gefunden. Allerdings geht nicht einfach irgendein Eclipse, da Xtext installiert sein muss. Daher auch die beiden genannten Alternativen: Installer mit Oomph-Setup, das die benötigten Plugins nachlädt oder aber fertiges Eclipse (nur für Windows gebaut und bereitgestellt) mit Kopie der Plugin-Dateien.

Bist Du den Installer-Schritten für Linux gefolgt? (edit: die damit installierte plugin-Variante wäre aktuell allerdings veraltet - es würde erstmal um eine erfolgreiche Installation an sich gehen)

@scr0llbaer9000
Copy link
Author

scr0llbaer9000 commented Oct 25, 2023

Für den aktuellen Stand der Datenbank ist er (insb. auch performancemäßig) nicht mehr wirklich zum Editieren geeignet (für Syntaxprüfung etc. aber noch OK).

Ja, mir geht's nur um eine Möglichkeit zur erweiterten Validierung ab und zu.


Also ich bin nun weiter, meine Probleme waren teils wohl auch distro-spezifisch.

"Xtext" war schon mal auch ein guter Hinweis, das habe ich vom "Marketplace" installiert.

Dann habe ich die .jar-Dateien (4 Stück) des Editors aus dem Windows-Download ins Plugins-Directory kopiert (allerdings nach (root) /usr/lib/eclipse/plugins, was ich ja eigentlich nicht will. Beim Home-Directory wüsst ich nicht wohin die genau müssen).

Der Editor schien dann eigentlich einsatzbereit, nur funktioniert er noch nicht richtig, hier ein Screencast:

Screencast.from.2023-10-25.01-40-02.webm

Ich hab den Datenbestand aus dem Download genommen (keine neuen Daten) und einen "Fehler" in die Daten reingemacht, um zu sehen, ob und wie der Fehler angezeigt wird.

Jedoch wird der Fehler zunächst nicht angezeigt. Erst wenn ich eine weitere Änderung vornehme, wird eine Validierung getriggert, aber es werden nun auch alle Personenreferenzen plötzlich nicht mehr gefunden. Wenn ich den ursprünglichen "Fehler" korrigiere, dann geht die Meldung über die fehlenden Personenreferenzen auch nicht weg. Im "Problems"-View unten wird gar nichts angezeigt.

Wenn ich den ganzen Plugins-Folder aus dem Windows-Download kopiere, dann hängt sich Eclipse fast auf, ging aber dann, aber das Problem war immer noch das gleiche.

Irgendein fehlendes Plugin ist dann wohl auch nicht das Problem.


Baut die Validierung nicht auf einem normalen XML Schema auf? Wenn ja, wo finde ich das? Dann könnte man mit jedem Editor besser validieren.

@nittka
Copy link
Collaborator

nittka commented Oct 25, 2023

Die Validierung hat nichts mit XML-Schema zu tun. Das Parsen der Datei ist praktisch "komplett selbst implementiert". Es gibt für die Datenbankdateien kein XML-Schema, welches auch nicht alle gewünschten Validierungen erlauben würde - deshalb habe ich auch gar nicht erst mit diesem Ansatz begonnen.

Das Video zeigt, dass der Editor prinzipell "korrekt installiert" ist. Es ist in Deinem Fall aber nicht so, dass vor dem Editieren die Personenreferenzen vorhanden gewesen wären. Es gibt zunächst keine Fehler, weil gar kein Parsen/Validieren stattgefunden hat. Das Datenbankprojekt hat bei Dir nicht die erwartete Struktur, damit die Editorinfrastruktur vollständig funktioniert. Das liegt daran, dass es in TVTower noch viel mehr xml-Dateien gibt als nur die Datenbankdateien, die eben nicht in die Validierung etc. integriert werden sollen.

Die einfachste Möglichkeit für Dich besteht darin, nicht nur das Datenbankverzeichnis als Projekt zu importieren, sondern das gesamte TVTower-Repo. Alternativ kannst Du in dem existierenden Eclipse-Projekt das Unterverzeichnis "database" anlegen und die Datenbankstruktur dorthinein verschieben. Im besten Fall sollte das schon dazu führen, dass auch nach einem Project->clean schon die Validierungsfehler im Problems-View angezeigt werden (falls nicht, müssen wir nochmal weiter analysieren).

Ich werde in den nächsten Tagen mal den Editor aktualisieren. Du solltest jetzt schon versuchen können, die Update-Site statt der kopierten jars zu verwenden.

  • Lösche die jars aus dem plugins-Verzeichnis
  • erwartetes Ergebnis: kein Editor, überhaupt keine Fehlermeldungen, wenn Du die Dateien aufmachst und editierst
  • über Help > Install New Software > Add die Update-Site "https://www.nittka.de/download/tvtdb" hinzufügen und den Editor installieren
  • erwartetes Ergebnis: Editor wieder da (funktioniert mehr oder weniger gut je nach Projektstruktur)

Über Help > About Eclipse IDE > Installation Details solltest Du dann auch die Editor-Version sehen können. Und in ein paar Tagen (ich hinterlasse hier einen Kommentar) wird es auf der Update-Site auch eine neue Version geben, die den aktuellen Datenbankstand besser widerspiegelt.

Und wenn das mit der Update-Site nicht funktioniert, kannst Du sie immer noch wieder deinstallieren und wieder die jars direkt verwenden.

@scr0llbaer9000
Copy link
Author

scr0llbaer9000 commented Oct 27, 2023

Die einfachste Möglichkeit für Dich besteht darin, nicht nur das Datenbankverzeichnis als Projekt zu importieren, sondern das gesamte TVTower-Repo.

Ok, das hat nun grundätzlich funktioniert, und der Editor scheint einsatzbereit, wenn auch mit einigen Haken und Ösen und seltsamen Effekten, aber ich komme klar.

In dem Windows-Download ist der Workspace auch ohne die übergeordnete Projektstruktur, darum dachte ich die sei nicht nötig, evtl funktioniert der Editor bei der Download-Variante für Windows dann auch nicht richtig?

Ich bekomme sehr viele Errors (über 70), von denen viele mit den neuen Features nichts zu tun haben scheinen. Er scheint sich u.a. an einigen XML-codierten Entities wie > zu verschlucken. Meldungen wie über fehlendes data-Element sind dann scheinbar Folgefehler.

Die anderen Methoden habe ich noch nicht ausprobiert.

@nittka
Copy link
Collaborator

nittka commented Oct 27, 2023

Die Stelle, wo ich in Deinem dataset-updates-Branch den Fehler zum data-Element bekomme, ist ein staff-Abschnitt zwischen zwei programme-Einträge gerutscht, anstatt im richtigen drinzustehen (id 088332a3-8534-490f-9f71-fb85c78d41b5). Anstonsten ist der Großteil der Fehler durch fehlende/unvollständige staff-Definitionen verursacht.

Aus irgendeinem Grund sind Titel bei Personen aktuell überhaupt nicht unterstützt - nur bei Rollen.

@scr0llbaer9000
Copy link
Author

Da geht's noch nicht um meine neuen Daten.

Hier ein Screenshot:

Screenshot from 2023-10-28 02-17-33

Außerdem scheint er die database_programmes.xml nur bis etwa zur Hälfte zu validieren (zu viele Fehler?).

@nittka
Copy link
Collaborator

nittka commented Oct 28, 2023

Ich habe die Update-Site und das Windows-Standalone-Eclipse (neu runterladen und die 3 jars entnehmen) aktualisiert. Du solltest jetzt statt der 1.0.0-jars die mit der Version 1.1.0 verwenden.

Im Standalone-Editor wird trotz der "fehlenden" Struktur korrekt validiert. Das liegt an dem zusätlichen Startparameter, der das Plugin darauf hinweist, wo die Datenbankdateien liegen (siehe eclipse.ini im eclipse-Verzeichnis).

@scr0llbaer9000
Copy link
Author

scr0llbaer9000 commented Oct 31, 2023

https://www.nittka.de/download/tvtdb

Genau diese Info hatte mir auch gefehlt damals, wusste nicht ob es es eine "Update-Site" gibt für das Editor-Plugin und wo ich die finde (oder ging nicht wegen der falschen Eclipse-Version, weiß nicht mehr).

Habe Eclipse nun neu installiert und das Plugin nun "sauber" über diese Update-Site installiert, da wurden dann einige Dependencies auch nachinstalliert, und jetzt funktioniert anscheinend auch alles so wie es wohl soll, ohne komische Effekte und seltsame "Fehler".

Die Installationsanleitung für Linux beschränkt sich hiermit dann auf:

  1. Eclipse mit dem jeweiligen Paketmanager der Distro installieren (und zwar, falls unterschieden wird, die Edition für Java-Entwickler, nicht die "Platform"-Edition, letztere ist zu "minimal" und bereitete mir Probleme).

  2. Evtl, falls nicht vorhanden, "Eclipse Marketplace" installieren (über Help -> Install new Software -> General Purpose Tools -> Marketplace Client).

  3. Die Update-Site https://www.nittka.de/download/tvtdb unter Help -> Install New Software -> Add hinzufügen

  4. Es sollte dann eine Option erscheinen, den Editor zu installieren.

Kann so einfach sein. ;)
(Bzw weiß ich ja nicht wie offziell und verfügbar du diese Variante mit der Update-Site halten willst.)

@nittka
Copy link
Collaborator

nittka commented Nov 1, 2023

Die Update-Site ist zumindest auf der Installationsanleitungsseite hinterlegt (ganz unten); und in der readme dieses Repository. Einfach ist immer relativ. In Deiner Anleitung "fehlen" noch die Punkte, wie man das TVTower-Projekt in den Workspace bekommt.

Das Oomph-Setup bildet im besten Fall alles ab: Installation aller Abhängigkeiten, Clonen des Repos und Import in den Workspace, ohne dass man sich manuell um Marketplace/Updatesite kümmern muss. Natürlich ist das initiale Konfigurieren des Setups etwas aufwändiger.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants