Zeige Ergebnis 1 bis 9 von 9

Thema: [Spielzeug] Module Self-Updater

  1. #1
    STARFACE Expert
    Benutzerbild von nucom
    Registriert seit
    11.12.2012
    Ort
    9443 Widnau
    Beiträge
    1.530

    Standard [Spielzeug] Module Self-Updater

    Hallo Miteinander

    Ich habe mich mal der Sache mit dem 3rd. Party Moduleupdating angenommen, da es in diese Richtung von der SF noch keine Lösung gibt. Und weil das kürzlich SF-Update einen so grossen aufwand verursacht hat.

    Wie das ganze konkret Funktioniert:

    Es wird ein Modulbaustein Importiert, den ihr nach belieben (Zb. Tägl./Wöchentl. Timer) auslösen könnt.

    Ihr könnt einen eigenen Update Server definieren, welcher via HTTP(S)-GET zuerst eine meta.xml Datei lädt:
    Ein Beispiel:
    Code:
    <modules>
    	<module id="00b9fa5f-9f02-42a2-9e1c-9c6da7fb4bbf" name="Testmodul" >	
    		<version version="100" sfversion="6.4" file="TestUpdate/6.4/TestUpdate.sfm" hash="42f630fc2e2b10f9b2cf9e692fcc0fc14cde95b5"/>
    		<version version="112" sfversion="6.4.2.11" file="TestUpdate/6.4/Security_Release_TestUpdate.sfm" hash="ea10679e2720b5391c640d6aea3720765c3a10fe"/>
    	</module>
    	<module id="75ad75a3-a423-4c45-b442-9930d2cd7702" name="Testmodul2" >
    		<version version="260" sfversion="6.1" file="TestUpdate2/6.1/Update_v260.sfm" hash="91c640d6aea3720765c3a10feea10679e2720b53" />
    		<version version="276" sfversion="6.4" file="TestUpdate2/6.4/Update_v276.sfm" hash="9e692fcc0fc14cde9542f630fc2e2b10f9b2cfb5" />
    	</module>
    </modules>
    Die Metadatei Enthält Infos über alle Module, die auf diesem Updateserver sind, sowie welche Updates für welche SF-Versionen zur Verfügung stehen.

    Dabei Prüft er zuerst, ob eine Spezifische Version für die SF Vorhanden ist, bevor er immer gröber mit der Suche wird (6.4.2.11, 6.4.2, 6.4, 6)

    Findet er ein Modul, dessen SF-Version mit der von der SF passt, prüft er, ob nicht schon die gleiche Version installiert ist. Falls nicht, lädt er das Update.

    Danach wird noch eine Hashüberprüfung mit dem im meta.xml Hinterlegten Hash durchgeführt, anschliessend wird das Modul Importiert.

    Die Parameter, welche das Modul annimmt:

    • http(s) URL (STRING) Target URL
    • Get-Arguments (MAP) Attaches those values to URL as get arguments [URL]?<Key>=<Value>&<Key>=<Value>...
    • AllowRedirect (BOOLEAN) Allow URL-Redirection (302)
    • Module ID (STRING) Type in your module identifiers from your meta.xml
    • Module ID Auto-detect (BOOLEAN) Uses this module UUID as ID
    • Module Version (STRING) The Module version of this module
    • Module Version Auto-Detect (BOOLEAN) Use the Starface module version
    • Manual Starface Version (STRING) Starface version
    • Starface Version Auto-detect (BOOLEAN) Auto-detects the Starface version
    • Starface Version Fuzzy Search (BOOLEAN) Does Fuzzy Search, if the exact version was not found. Example: 6.1.2.3 = Not found looking for => 6.1.2 = Not found looking for => 6.1 = Not found looking for => 6

    Outputs:
    • hasError (BOOLEAN) Return True when an Error Occured, while Downloading or Updating an Module. Not finding a module on an updateserver is not an error
    • Errormessage (STRING) Returns the Error Message.


    Die Funktion ist so designt, dass ihr auch andere Module (Manuell eine Module_ID eingeben) updaten könnt, ihr könnt also theoretisch ein Installer/Updater Modul bauen welches all eure Module automatisch importiert/updatet.

    Was haltet ihr von diesem Spielzeug? Ich stelle es hier zur Verfügung, nachdem ich noch die letzten Bugs ausgemerzt habe.

    //edit:

    Download: http://module.nucom.ch/metagenerator/Metagenerator.zip
    Target URL ==> GrundURL. Z.b. http://192.168.123.45/update/
    Dann muss das Metafile hier liegen: http://192.168.123.45/update/meta.xml

    Die XML Pfade sind Relativ zum TargetURl: also z.b. "TestUpdate2/6.4/Update_v276.sfm" ==> http:\\192.168.123.45/update/TestUpdate2/6.4/Update_v276.sfm
    Der Hash ist der FileHash vom Typ MD5 (Windows: cmd ==> CertUtil -hashfile [Dateiname], mac: Console ==>MD5 [Dateiname], Linux: md5sum [Dateiname])

    //edit: Ordnerstruktur für den Metagenerator:

    [ROOT]
    Metagenerator.jar
    meta.xml <==(Wird hier von Metagenerator.jar erstellt)
    Modulname1(Ordner)
    ________|_______Starface-Version(Ordner)
    _________________________|___________Modulname1.sfm
    Biespielmodul(Ordner)
    ________|_______6.4.11(Ordner)
    ________|___________|___________Beispielmodul_v12.sfm
    ________|_______6.3(Ordner)
    ________|___________|___________Beispielmodul_v5.sfm
    ________|_______6(Ordner)
    ____________________|___________Beispielmodul_v1.sfm


    MfG

    Fabian
    Geändert von nucom (30.10.2017 um 16:41 Uhr)
    Modulhersteller aus der Schweiz
    __________________________________________________ ________
    STARFACE Excellence Partner: Info | Certified Module Creator Kontakt

  2. #2
    STARFACE Expert
    Benutzerbild von Ulf
    Registriert seit
    06.03.2013
    Ort
    79395 Neuenburg
    Beiträge
    1.616

    Standard

    Hallo Fabian,

    das hört sich sehr interessant an ...
    Beste Grüße,
    Ulf

    Starface Certified Partner | Starface Module Creator | Module für Starface

  3. #3
    STARFACE Expert
    Benutzerbild von fwolf
    Registriert seit
    28.12.2011
    Ort
    72622 Nürtingen
    Beiträge
    2.200

    Standard

    Sehr cool.... wir hatten ebenfalls schon geplant, die Daten direkt aus unserem GIT-Repository zu ziehen
    Nur das Thema STARFACE-Versionskompatibilität war da noch offen.
    Grüße,
    Fabian

    STARFACE Excellence Partnerwww.fluxpunkt.deinfo@fluxpunkt.de

    Informationen über Fluxpunkt Module für STARFACE
    Produktupdates, Neuigkeiten & sonstiges gezwitscher: Fluxpunkt bei Twitter

  4. #4
    STARFACE Expert
    Benutzerbild von nucom
    Registriert seit
    11.12.2012
    Ort
    9443 Widnau
    Beiträge
    1.530

    Standard

    Ich hab Oben einen DL Link zur Verfügung gestellt.

    Noch @SF darf ich den Sourcecode der selbst geschrieben Klasse freigeben? Oder muss ich den zuerst um die SF Funktionen "Abspecken"?

    MfG

    Fabian
    Modulhersteller aus der Schweiz
    __________________________________________________ ________
    STARFACE Excellence Partner: Info | Certified Module Creator Kontakt

  5. #5
    woestmar
    Gast

    Standard

    Finde ich aus Kundensicht auch ganz interessant, wenn es einen nativen Modul-Updater gäbe.
    Wir haben z.B. Module von Fluxpunkt und O-Byte.
    Fluxpunkt hat das offene Wiki mit Downloadmöglichkeit ("Daumen hoch"), bei O-Byte muss ich leider immer den Support anfunken (geht auch, funktioniert auch reibungslos, aber auch wieder Zeitaufwand).
    Vielleicht macht es Sinn, dass die Partner die jeweiligen Modulversionen direkt Richtung Starface pushen (ein gemeinsamer Modulpool) und ein etwaiger Modul-Updater schaut dann täglich nach, ob Updates für installierte Module (auch 3rd Party) verfügbar sind (kennt man ja z.B. von JIRA, Confluence, etc. da ist es im Backend auch möglich alles auf einen Schlag abzudaten).
    Die Idee von Fabian (nucom) weist ja schon in die richtige Richtung.

  6. #6
    STARFACE Expert
    Benutzerbild von nucom
    Registriert seit
    11.12.2012
    Ort
    9443 Widnau
    Beiträge
    1.530

    Standard

    Finde ich aus Kundensicht auch ganz interessant, wenn es einen nativen Modul-Updater gäbe.
    die jeweiligen Modulversionen direkt Richtung Starface pushen (ein gemeinsamer Modulpool) und ein etwaiger Modul-Updater schaut dann täglich nach, ob Updates für installierte Module (auch 3rd Party) verfügbar sind
    Der von mir geschriebene ModulUpdater wurde eben darum geschrieben, weil ich nicht so bald mit einer Möglichkeit Seitens SF-Rechne einen Zentralen Module Store mit implementierter Update-Funktion zu bieten.

    Mit diesem Modulbaustein kann jeder seinen eigenen Updateserver für seine Module einrichten, und diesen auch Managen.

    Ich werde diesen Baustein zukünftig in all meinen Modulen implementieren.

    MfG

    Fabian
    Modulhersteller aus der Schweiz
    __________________________________________________ ________
    STARFACE Excellence Partner: Info | Certified Module Creator Kontakt

  7. #7
    STARFACE Expert
    Benutzerbild von Ulf
    Registriert seit
    06.03.2013
    Ort
    79395 Neuenburg
    Beiträge
    1.616

    Standard

    Hallo Fabian,

    zunächst mal: soviele "Daumen hoch" für Deine Initiative habe ich gar nicht an der Hand

    Mal ganz abgesehen davon, ob das zentral bei Starface zu erwarten oder gut aufgehoben wäre (ich würde das auch als vielleicht interessante Ergänzung ansehen), ist ein Stück Unabhängigkeit und trotzdem mögliche Update-Funktion eine richtig gute Geschichte. Ich denke dabei auch an all die Lösungen, die eben nicht zwangsläufig als "Massenware" verkauft werden, sondern nur als Sonderlösungen an einen kleinen Kundenkreis weitergereicht werden. Inwiefern man auf Seiten Starface tatsächlich die Verantwortung für dort verteilte Updates übernehmen wollte, würde ich mal mit ganz vielen Fragezeichen stehen sehen - immerhin bekäme das damit auch einen scheinbar "offiziellen" Charakter mit "Modul durch Starface abgenommen" - Aufdruck (zumindest ganz sicher in den Köpfen mancher Nutzer). Vermutlich wird sich kein Dritter (SF) irgendwelchen Haftungsdiskussionen stellen wollen ...

    Insofern ist dieser externe Weg wirklich richtig gut und es sollte für die allermeisten Modulersteller kein großes Problem darstellen, einen eigenen kleinen Updateserver zu betreiben, wenn man das nutzen möchte.
    Beste Grüße,
    Ulf

    Starface Certified Partner | Starface Module Creator | Module für Starface

  8. #8
    STARFACE Expert
    Benutzerbild von ITC-B
    Registriert seit
    02.02.2013
    Ort
    Rapperswil-Jona (Schweiz)
    Beiträge
    465

    Standard

    Hallo Fabian,

    Sieht sehr interessant aus. Die Frage ist hat, was in Zukunft noch Möglich ist.
    Wahrscheinlich wird es noch weitere Abstriche gemacht werden im Modulstore.
    Aber cool wäre schon einen "Zentrale" Update Server

    Gruss
    CH
    Besuche den Online Store für Starface Module:
    http://store.itc-b.ch - +41 55 55 2 55 55

  9. #9
    STARFACE Expert
    Benutzerbild von nucom
    Registriert seit
    11.12.2012
    Ort
    9443 Widnau
    Beiträge
    1.530

    Standard

    Hallo Miteinander

    zunächst mal: soviele "Daumen hoch" für Deine Initiative habe ich gar nicht an der Hand
    Dankeschön nach dem Security Release, wurde mir ziemlich schnell klar, dass ich etwas bauen musste, welches mir das manuelle updaten abnimmt, damit ich nicht wie beim Kürzlichen Security Release. plötzlich auf 30-40 Anlagen 3-4 meiner Module mit einem neuen Patch versehen muss. Das ist ziemlich repetitiv, und zeitaufwendig zu tun. Stattdessen einfach n Update speziell für den Release 6.4.12 auf den Updateserver pushen, und am nächsten Tag ist es auf allen anlagen drinn.

    Aber cool wäre schon einen "Zentrale" Update Server
    Vielleicht macht es Sinn, dass die Partner die jeweiligen Modulversionen direkt Richtung Starface pushen (ein gemeinsamer Modulpool)
    Das wäre natürlich das schönste, wenn die SF dort auf uns zukommen würde. Aber es geht auch nicht nur um die Zentralisierung des Modulpools, sondern um eine allgemeine Zentralisierte Plattform, um Module zu vertreiben, lizensieren, und Updates bereitzustellen.

    Die O-Byte ist da mit dem star.place natürlich auf einem guten weg, aber dort ist die Anbindung an das Starface System "begrenzt" auf den Partnerlogin. Wenn sich dieses Hand in Hand mit der SF ausbauen liesse, um die Starface Lizenzierung zu Implementieren, sowie einen weg bereitstellen würde, mit dem man Module auf einem Zentralen Server ablegen könnte, wäre das doch bald perfekt.


    Noch zurück zum Modul, ich stelle bald noch ein Update bereit, welches die meta.xml mithilfe eines Java Runnable automatisch generiert, wenn man die korrekte Struktur einhält:

    meta.xml
    Modulname(Ordner)
    ________|_______Starface-Version(Ordner)
    _________________________|___________Modulname.sfm

    Das Tool nimmt die Starface-Version vom Ordnername unterhalb des Modulnamens, und die Modulversion, sowie ID des Moduls liest er direkt aus der .sfm Datei heraus. Der Hash wird ebenfalls gleich aus dem Modul generiert.

    MfG

    Fabian
    Modulhersteller aus der Schweiz
    __________________________________________________ ________
    STARFACE Excellence Partner: Info | Certified Module Creator Kontakt

Ähnliche Themen

  1. Eigene Module
    Von ohessel im Forum Module
    Antworten: 10
    Letzter Beitrag: 25.05.2018, 07:55
  2. Lizenzmanagement für Module
    Von addprocess im Forum STARFACE Module
    Antworten: 8
    Letzter Beitrag: 11.02.2015, 09:13
  3. Module auf englisch
    Von slu im Forum Modul-Designer
    Antworten: 2
    Letzter Beitrag: 14.12.2009, 12:03
  4. Reihenfolge der Module
    Von da_Peda im Forum Module
    Antworten: 2
    Letzter Beitrag: 08.04.2008, 06:59
  5. Present your own Module
    Von ohessel im Forum Modules
    Antworten: 1
    Letzter Beitrag: 02.04.2008, 13:57

Lesezeichen

Forumregeln

  • Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
  • Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
  • Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
  • Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
  •