Update-Manger von Jameica und mehrere PlugIns zum Update

alle Abhängigkeiten gleich auflösen und installieren bzw. aktualisieren

 
Benutzer
Avatar
Geschlecht: keine Angabe
Homepage: hibiscus-mashup.de…
Beiträge: 385
Dabei seit: 06 / 2012
Betreff:

Update-Manger von Jameica und mehrere PlugIns zum Update

 · 
Gepostet: 19.03.2017 - 19:18 Uhr  ·  #1
Hallo Olaf,

aus aktuellem oder bevorstehendem Anlass möchte ich hier gerne nochmals das Thema Update-Manager und Abhängigkeiten aufgreifen, da dies wohl nun auch wieder alle anderen PlugIn-Entwickler für ScreenScrapping treffen wird.

Es ist so das wir gerade das neue HTMLUnit einführen und sich da auch wieder Methoden-Namen geändert haben. Das gleiche Problem war z. B. letztens auch "augenscheinlich" bei Hibiscus.Mashup, lag aber eigentlich auch an der Arbeitsweise des Update-Managers ;)

Es ist daher manchmal notwendig Jameica bis zu dreimal nach Updates suchen zu lassen und neu zu starten. So macht es (oder sollte es) ein "Normal-Anwender". Bei manueller Installation ist der Anwender ja eigentlich schon Fortgeschrittener und weiß das er Jameica jedes mal neu starten muss und dann manuell nochmals in den Repositorys die PlugIns anklicken und installieren kann.
Jetzt muss man aber z. B. Update von HTMLUnit --> Neustart des Programms --> Update von Finance.Websync --> Neustart des Programms --> Update von Hibiscus.Mashup --> Neustart des Programms ... ausführen ... außer natürlich es werden mehrere angeboten, dann könnte man auch gleich alle anklicken.

Problem #1: Es kam nun schon mehrmals vor das ein Normal-Anwender eben nur HTMLUnit bei der Update-Suche angeboten bekommt da die anderen PlugIns abhängig davon sind. Dieses installiert er dann auch aber denk ja aus Gewohnheit schon nicht daran dass da noch mehr kommen oder notwendig sein könnte und führt die Suche nicht nochmals aus. Nun hat er das eigentlich notwendige PlugIn (noch) nicht aktualisiert und meldet hier seine eigentlich bereits behobenen Fehler im Forum.

Vorschlag für kurze Sofortlösung: Mein Vorschlag für eine Lösung die man schneller umsetzen könnte wenn für einen Komplett-Umbau grad einfach nicht die Zeit ist (z. B. vor der neuen Version von Jameica): Die Update-Suche "bei jedem Jameica-Start durchführen" und eine Einstellung hierzu anbieten und diese aber auch direkt als Standard aktivieren! Zudem wäre eine Art Zwang für einen Neustart von Jameica denke ich sinnvoll wenn Updates automatisch (oder auch manuell) installiert wurden, da dies auch übersehen werden kann.


Problem #2: Wie schon erwähnt ändern sich manchmal auch die Methoden- oder Klassenbezeichnungen was das hier bereits angesprochene Phänomen auslöst. (Finance.Websync wird auf 0.8.0 gehoben aber Mashup konnte aufgrund der Abhängigkeit noch nicht gleich mit aktualisiert werden und verbleibt derweil auf 0.7.13. Dieses meldet dann aber Classpath-Fehler da sich benötigte Klassen in Finance.Websync geändert haben. Der User meldet sogleich hier im Forum einen Fehler.)
Manche Meldungen von Usern besagten sogar dass Sie mit der "Jetzt nach Updates suchen..."-Routine das nächste PlugIn gar nicht angeboten bekommen hatten und dieses manuell aus dem Repository installieren mussten. Eine Installation aller neuen Versionen aller PlugIns würde in jedem Fall das "scheinbare" Problem direkt lösen.

Vorschlag für langfristige Lösung: Wenigstens bei der Routine "Jetzt nach Updates suchen..." sollte es möglich sein auf einen Button zu klicken wie "Alle Updates herunterladen und installieren". Das heißt es sollten zudem gleich die Abhängigkeiten direkt mit den angebotenen Repositorys aufgelöst werden. Wenn alle abhängigen PlugIns in der richtigen Version verfügbar sind sollten diese dann gleich mit heruntergeladen und in den Updateordner einsortiert werden. Dies ist ja manuell über den Datei-Explorer bereits möglich, wenn man Profi ist ;)
Dies und die Option dass bei jedem Start von Jameica automatisch nach Updates gesucht wird sollte das Problem auch lösen wenn z. B. nur das erste in der Abhängigkeitskette angebotene PlugIn installiert wird. Da man ja direkt nach dem Neustart auf die verbleibenden Updates hingewiesen wird.

Zudem wäre es eben bei allen Möglichkeiten denke ich sinnvoll wenn das PopUp oder der Hinweisbalken länger stehen bleiben würden oder am besten so lange bis der User diese manuell von selbst weggeklickt hat. Zu oft schon habe ich in dem Moment nicht auf den Monitor geschaut und hab die Meldung schlicht übersehen.


Hab ich was vergessen? was sagt Ihr dazu?

Achja, ganz einfach geht es natürlich wie schon länger mit meinem Rund-um-Sorglos-Paket.
unter http://hibiscus-scripting.derr…stallation
Mit dieser Installationsroutine wird nun nur noch eine Setup-Datei herunter geladen und als einzelne Installation ausgeführt.
Auch entfällt hier nun die Notwendigkeit eine Java-Laufzeitumgebung auf das eigene System installieren zu müssen. Diese ist nun mit im Paket enthalten und wird exklusiv für Jameica/Hibiscus verwendet.
Allein schon wegen dem integriertem Java ist es, finde ich, ein muss für z. B. Mac-User, warum ich diesen das Paket auch gleich empfehlen würde wenn diese sich mal wieder mit der Java-Problematik unter Mac OS X hier im Forum melden ;) damit bekommen die nie diese Probleme.

Gruß
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10611
Dabei seit: 03 / 2005
Betreff:

Re: Update-Manger von Jameica und mehrere PlugIns zum Update

 · 
Gepostet: 20.03.2017 - 10:22 Uhr  ·  #2
Die Sache mit dem Herunterladen aller Plugins ist nicht so einfach umzusetzen, wie es klingt. Jameica prueft fuer jedes online verfuegbare Plugin, welches als Update in Frage kommt (was dann der Fall ist, wenn einere aeltere Version davon schon installiert ist), ob es im aktuellen Kontext installierbar ist. Konkret werden dabei die Abhaengigkeiten geprueft. Da die zu dem Zeitpunkt jedoch noch nicht erfuellt sind, da die neue Version von Plugin B auch eine neuere Version von Plugin A erfordert, die zu diesem Zeitpunkt noch nicht vorhanden ist. Jameica muesste bei den Abhaengigkeiten also nicht nur gegen den aktuellen Systemstand vergleichen sondern gegen den theoretisch moeglichen Systemstand, wenn man die online verfuegbaren Plugins mit hineinrechnet. Um das zu machen, muesste der Plugin-Manager aber so erweitert werden, dass er den Download der weiteren abhaengigen Plugins automatisch forciert (also Plugin A automatisch mit herunterlaedt, wenn Plugin B ausgewaehlt wurde). Und das ist eigentlich genau der groessere Umbau, den ich vorhabe. Ich wuesste jetzt nicht, wie ich das mit weniger Aufwand loesen koennte.

Ein "dirty hack" waere alternativ noch, dass in der plugin.xml die Versionsanforderungen der benoetigten Plugins runtergeschraubt werden. Heisst:

In der plugin.xml von "Hibiscus.Mashup" werden bei den Abhaengigkeiten von "HTMLUnit" und "Finance.Websync" nicht die tatsaechlichen aktuellen Versionen angegeben sondern aeltere, die beim User bereits installiert sind. Unabhaengig davon werden im Repository aber auch die neuen Versionen von "HTMLUnit" und "Finance.Websync" angeboten.
Das bewirkt zum einen, dass Jameica die Installation der neuen "Hibiscus.Mashup"-Version freigibt, da die Abhaengigkeiten augenscheinlich erfuellt sind. Und zum anderen, dass auch "HTMLUnit" und "Finance.Websync" im selben Rutsch aktualisiert werden, da neuere Versionen verfuegbar sind und installiert werden koennen. Der Pferdefuss an der Sache ist halt, dass es damit moeglich waere, "Hibiscus.Mashup" mit zu alten Abhaengigkeiten installieren. Andererseits kann man damit alle 3 Plugins in einem Rutsch aktualisieren.
Benutzer
Avatar
Geschlecht: keine Angabe
Homepage: hibiscus-mashup.de…
Beiträge: 385
Dabei seit: 06 / 2012
Betreff:

Re: Update-Manger von Jameica und mehrere PlugIns zum Update

 · 
Gepostet: 20.03.2017 - 10:28 Uhr  ·  #3
danke für deine Antwort. Ja das war mir klar das die Lösung die du ja auch beschreibst zu lange Dauert für den Moment. Doch die "dirty hack" Lösung gefällt mir gar nicht. Zu viel angesprochenes Fehlerpotenzial zudem muss der User ja dann weiterhin alle einzeln anklicken.
Hast du das gelesen?

Vorschlag für kurze Sofortlösung: ..... Die Update-Suche "bei jedem Jameica-Start durchführen" und eine Einstellung hierzu anbieten und diese aber auch direkt als Standard aktivieren! Zudem wäre eine Art Zwang für einen Neustart von Jameica denke ich sinnvoll wenn Updates automatisch (oder auch manuell) installiert wurden, da dies auch übersehen werden kann.

und wie grad angesprochen vielleicht noch:
Wenigstens bei der Routine "Jetzt nach Updates suchen..." sollte es möglich sein auf einen Button zu klicken wie "Alle Updates herunterladen und installieren".

Zudem wäre es eben bei allen Möglichkeiten denke ich sinnvoll wenn das PopUp oder der Hinweisbalken länger stehen bleiben würden oder am besten so lange bis der User diese manuell von selbst weggeklickt hat. Zu oft schon habe ich in dem Moment nicht auf den Monitor geschaut und hab die Meldung schlicht übersehen.

Gruß und Sorry ;) aber muss irgendwann mal sein, es gibt einfach zu viele Meldungen im Forum die sich dadurch vermeiden ließen ...

PS: Außerdem wenn ich die "dirty hack" Lösung von dir anfange dann kannste die ganze Abhängigkeitsprüfung gleich raus nehmen und die Leute einfach installieren lassen, ist auch nix anderes ;) dann können wir uns das ganze sparen ;)
Gewählte Zitate für Mehrfachzitierung:   0