Updateserver

Beispiel-Code

XML
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <section name="packages" xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com https://www.woltlab.com/XSD/tornado/packageUpdateServer.xsd">
  3.     <package name="com.woltlab.blog">
  4.         <packageinformation>
  5.             <packagename><![CDATA[WoltLab Suite Blog]]></packagename>
  6.             <packagedescription><![CDATA[Mit WoltLab Suite Blog können Sie noch heute Ihren eigenen Blog starten oder den Mitgliedern Ihrer Community das Bloggen zum Austausch von Ideen, Tipps und Tricks, Erfahrungsberichten etc. erlauben.]]></packagedescription>
  7.             <isapplication>1</isapplication>
  8.         </packageinformation>
  9.         <authorinformation>
  10.              <author><![CDATA[WoltLab GmbH]]></author>
  11.              <authorurl><![CDATA[http://www.woltlab.com]]></authorurl>
  12.         </authorinformation>
  13.         <versions>
  14.            <version name="3.0.0" accessible="true" requireAuth="true">
  15.                 <fromversions>
  16.                     <fromversion><![CDATA[3.0.0 RC 3]]></fromversion>
  17.                     <fromversion><![CDATA[2.1.6]]></fromversion>
  18.                 </fromversions>
  19.                 <compatibility>
  20.                     <api version="2018" />
  21.                 </compatibility>
  22.                 <requiredpackages>
  23.                     <requiredpackage minversion="3.0.0"><![CDATA[com.woltlab.wcf]]></requiredpackage>
  24.                     <requiredpackage minversion="3.0.0"><![CDATA[com.woltlab.wcf.conversation]]></requiredpackage>
  25.                     <requiredpackage minversion="3.0.0"><![CDATA[com.woltlab.wcf.infraction]]></requiredpackage>
  26.                 </requiredpackages>
  27.                 <excludedpackages>
  28.                     <excludedpackage version="3.1.0 Alpha 1"><![CDATA[com.woltlab.wcf]]></excludedpackage>
  29.                 </excludedpackages>
  30.                 <updatetype><![CDATA[update]]></updatetype>
  31.                 <timestamp><![CDATA[1484149586]]></timestamp>
  32.                 <versiontype><![CDATA[stable]]></versiontype>
  33.                 <license url="https://www.woltlab.com/de/license-agreement/"><![CDATA[commercial]]></license>
  34.             </version>
  35.         </versions>
  36.     </package>
  37. </section>

Mögliche Elemente und deren Attribute

  • section: name, xmlns, xmlns:xsi, xsi:schemaLocation
    • package**: name
      • packageinformation
        • packagename
        • packagedescription
        • isapplication
        • standalone*,*****
        • isunique*
        • plugin*
        • pluginStoreFileID****
      • authorinformation


        • author
        • authorurl
      • versions
        • version**: name, accessible, requireAuth***, critical*
          • fromversions
            • fromversion**
          • compatibility
            • api**: version
          • requiredpackages
            • requiredpackage**: minversion
          • excludedpackages
            • excludedpackage**,****: version
          • updatetype
          • timestamp
          • versiontype
          • license: url
          • changelog
          • optionals
            • optional



* obsolete seit WCF 2.0

** kann mehrfach enthalten sein

*** Von WoltLab benutzter Parameter, der von Drittanbietern nicht genutzt werden kann

**** Seit WCF 2.0 ist für eine Veröffentlichung im Pluginstore ein Exclude einer neueren WSC-Version erforderlich

***** Das Element ist äquivalent zu isapplication, das seit WCF 2.0 stattdessen verwendet wird.


rot erfordert

orange optional

blau nicht vom WSC unterstützt

Erklärung der einzelnen Elemente und Attribute

package

Dieses Element stellt ein auf dem Updateserver verfügbares Paket dar. Das bedeutet, dass dieser Tag je Paket ein Mal - und damit insgesamt 0 bis unendlich Mal vorkommen darf.


Verfügbare Attribute:

  • name
    Dieses Attribut muss vorhanden sein. Es enthält den Identifier des Pakets.
    Der Inhalt des Attributs darf maximal 191 Zeichen lang sein.
    In unserem Beispiel des Blogs ist das com.woltlab.blog

packageinformation

Dieses Element beinhaltet alle paketspezifischen Angaben wie den Titel, die Beschreibung oder auch die Information, ob das Paket eine Endanwendung ist.

Dieser Tag ist für jedes Paket erforderlich.

packagename

Dieses Element stellt den lesbaren (humanreadable) Titel des Pakets dar.

Dieser Tag ist für jedes Paket erforderlich und darf mehrfach enthalten sein, sofern sich das language-Attribut stets unterscheidet.

Der Inhalt des Tags darf maximal 255 Zeichen lang sein.


Verfügbare Attribute:

  • language
    Dieses Attribut ist optional. Der Inhalt ist der Sprachcode in Kleinbuchstaben.
    Wird dieses Attribut nicht mitgeliefert, wird der Inhalt des Elements als Standardwert verwendet, wenn kein anderes Element mit der Sprache des Benutzers/Administrators vorhanden ist.

isapplication | standalone

Dieses Element beschreibt die Art des Pakets. Ist der Wert 0, so ist das Paket ein normales Plugin, ist der Wert 1, so ist das Paket eine eigenständige Anwendung.

Dieser Tag ist ausschließlich erforderlich, wenn das Paket eine Endanwendung darstellt.

Mögliche Werte: 0 (falsch), 1 (wahr)

Bei WCF 1.1 und kleiner wird standalone verwendet, ab WCF 2.0 wird isapplication verwendet.

isunique

Dieses Element beschreibt die Anzahl möglicher Installationen des Pakets innerhalb einer WCF-Instanz. Ist der Wert 0, so ist das Paket mehrfach installierbar, ist der Wert 1, so ist das Paket ausschließlich ein Mal je WCF-Instanz installierbar.

Dieser Tag ist ausschließlich erforderlich, wenn das Paket eine Endanwendung darstellt.

Mögliche Werte: 0 (falsch), 1 (wahr)

Dieser Tag ist nur für WCF 1.1 und kleiner relevant und wird ab WCF 2.0 nicht mehr ausgewertet.

plugin

Dieses Element beschreibt das dem Paket übergeordnete Paket. Sprich der Wert ist der Identifier des Pakets, das durch dieses Paket erweitert wird.

Der Inhalt des Tags darf maximal 255 Zeichen lang sein.

Dieser Tag ist nur für WCF 1.1 und kleiner relevant und wird ab WCF 2.0 nicht mehr ausgewertet.

pluginStoreFileID

Dieses Element enthält die ID der Datei im Pluginstore. Das Element wird ausschließlich bei Servern von WoltLab ausgewertet.

Mögliche Werte: 1 bis 4294967295 - entsprechend der ID im Pluginstore.

Beispiel: https://pluginstore.woltlab.com/file/2439-benutzerdefiniertes-scss/ => 2439

Dieser Parameter wird seit WSC 3.1 ausgewertet und in älteren Versionen nicht beachtet.

authorinformation

Dieses Element beinhaltet alle Angaben zum Entwickler des Pakets.

Dieser Tag ist nicht erforderlich.

author

Dieses Element enthält den Namen des Entwicklers - optimalerweise ohne Sonderzeichen wie " oder &.

Beim Beispiel des Blogs wäre das die WoltLab GmbH.

Der Inhalt des Attributs darf maximal 255 Zeichen lang sein.

authorurl

Dieses Element enthält die Adresse zur Website des Entwicklers inklusive Protokoll.

Beim Beispiel des Blogs wäre das http://www.woltlab.com.

Der Inhalt des Attributs darf maximal 255 Zeichen lang sein.

versions

Dieses Element stellt enthält eine Liste verfügbarer Versionen des Pakets.

version

Dieses Element stellt eine auf dem Updateserver verfügbare Version des Pakets dar. Das bedeutet, dass dieser Tag je Version ein Mal - und damit insgesamt 0 bis unendlich Mal pro Paket vorkommen darf.


Verfügbare Attribute:

  • name
    Dieses Attribut muss vorhanden sein. Es enthält die Versionsnummer der Version.
    In unserem Beispiel des Blogs ist das 3.0.0
  • accessible
    Dieses Attribut ist optional und beschreibt, ob die Version dem Benutzer zugänglich ist.
    Mögliche Werte: false (falsch), true (wahr)
  • requireAuth
    Dieses Attribut wird ausschließlich bei WoltLab-Updateservern ausgewertet. Ist der Wert auf true gesetzt, so sind für den Zugang zu diesem Paket Daten auf WoltLab Suite 3.1 - Forum, CMS and more - WoltLab® erforderlich (für offizielle Pakete die Lizenzdaten; für Pakete aus dem Pluginstore die Zugangsdaten zum Forum).
    Mögliche Werte: false (falsch), true (wahr)
  • critical
    Dieses Attribut legt fest, ob diese Version kritische Fehler behebt und wird in der Regel bei Patchlevel-Updates verwendet.
    Mögliche Werte: 0 (falsch), 1 (wahr)
    Dieses Attribut ist nur für WCF 1.1 und kleiner relevant, es wird seit Version 2.0 nicht mehr ausgewertet.

fromversions

Dieses Element stellt eine Liste von Versionen dar, von denen aus auf diese Version aktualisiert werden kann.

fromversion

Dieses Element stellt enthält die Versionsnummer einer Version, von der aus auf diese Version aktualisiert werden kann.

Dieses Element darf je Version mehrfach vorhanden sein.

compatibility

Dieses Element stellt eine Liste von kompatiblen WSC-API-Versionen dar.

api

Dieses Element stellt enthält die Versionsnummer einer Version, von der aus auf diese Version aktualisiert werden kann.

Dieses Element darf je Version mehrfach vorhanden sein.


Verfügbare Attribute:

  • version
    Der Wert dieses Attributs ist die WSC-API, auf deren Basis das Paket entwickelt wurde und ist geschuldet der Tatsache, dass WoltLab jährlich ein Funktionsupgrade veröffentlichen will, in der Regel das Jahr der Veröffentlichung der WSC-Version.
    Für WSC 3.0 ist der Wert beispielsweise 2017, für WSC 3.1 hingegen 2018.
    Dieses Attribut ist erforderlich, sofern ein api-Tag verwendet wird.

requiredpackages

Dieses Element stellt eine Liste Paketen dar, die für die Installation und den Betrieb dieses Pakets bzw. dieser Version erforderlich sind.

requiredpackage

Dieses Element enthält den Identifier eines Pakets, das für die Installation bzw. den Betrieb dieser Version erforderlich sind.


Mögliche Attribute:

  • minversion
    Dieses Attribut enthält die Versionsnummer, in der das erforderliche Paket mindestens installiert sein muss.
    Dieses Attribut ist nicht erforderlich, außer die Version erfordert mindestens eine bestimmte Version wie z.B. das WCF 3.0.0.


Hinweis: Es ist ratsam hier immer die entsprechende WSC-Version zu erfordern, damit ein WSC 3.0-Plugin beispielsweise nicht in einem WCF 2.0 installiert werden kann, was zu großen Problemen (bereits während der Installation) führen könnte.

excludedpackages

Dieses Element stellt eine Liste Paketen dar, die für die Installation und den Betrieb dieses Pakets bzw. dieser Version nicht installiert sein dürfen, da es sonst zu Problemen kommen könnte.

excludedpackage

Dieses Element enthält den Identifier eines Pakets, das nicht mit dieser Version zusammen betrieben werden kann/darf.


Mögliche Attribute:

  • version
    Dieses Attribut enthält die Versionsnummer, ab der das ausgeschlossene Paket inkompatibel ist.
    Dieses Attribut ist nicht erforderlich, wenn sämtliche Versionen eines Pakets ausgeschlossen werden sollen.
    Hinweis: Um den kompletten Versionsstrang 3.0.x auszuschließen, schließt man normal die erste mögliche Version aus, also 3.0.0 Alpha 1


Hinweis: Für eine Veröffentlichung im Pluginstore ist ein Ausschluss der nächst inkompatiblen oder noch nicht veröffentlichten WSC-Version erforderlich. So kann beispielsweise ein WCF 2.0-Plugin gar nicht erst in einem WSC 3.0 installiert werden.

updatetype

Dieses Element beschreibt, ob die Version ein Update darstellt. Ist dies eine Version, die kein Update zur Verfügung stellt und sich ausschließlich neu installieren lässt, ist hier install gesetzt, anderenfalls update.

Mögliche Werte: install, update

Dieser Tag wird vom WSC nicht ausgewertet und ist daher nicht erforderlich. Standardmäßig ist der Wert auf update gesetzt.

timestamp

Dieses Element enthält das Veröffentlichungsdatum der Version als Timestamp.

Mögliche Werte: integer (UNIX-Timestamp; sekundengenau)

versiontype

Dieses Element beschreibt das Staging der Version.

Mögliche Werte: stable, unstable, testing

Dieser Tag wird vom WSC nicht ausgewertet und ist daher nicht erforderlich.

license

Dieses Element enthält den Namen der Lizenz, unter der diese Version veröffentlicht ist.

Der Inhalt des Elements darf maximal 255 Zeichen lang sein.


Mögliche Attribute:

  • url
    Dieses Attribut enthält den Link zur Lizenz inklusive Protokoll.
    Dieses Attribut ist nicht erforderlich.