WSC 3.0 WSC 5.2 WSC 5.3 Umbenennung von Optionen

  • Eine Erklärung zum Thema, wie man Optionen, die mittels des Options-PiP im WSC installiert wurden, umbenennen kann.

    1 Erklärung

    Es gibt verschiedene Ursachen, wieso es vorkommen kann, dass man eine Option, die mittels des Options-PiP angelegt wurde, umbenennen möchte. Direkt vorweg möchte ich sagen, dass es hierfür keinen direkten Weg gibt, sondern man diesen Effekt nur durch einen einfachen aber effektiven Trick nachbilden kann. Zuerst benötigen wir eine Update Anweisung in der package.xml. Mit dieser legen wir die Reihenfolge der Arbeiten fest. Als Erstes werden die neuen Optionen angelegt, als Zweites werden mittels eines Scripts die alten Werte übernommen und im dritten Schritt werden die alten Werte gelöscht.


    2 Komplettes Beispiel

    XML: package.xml
    <instructions type="update" fromversion="*">
    <instruction type="option" />
    <instruction type="script" application="wcf">acp/update_de.yourecom.package_updateOptions.php</instruction>
    <instruction type="option">option_delete.xml</instruction>
    </instructions>




    XML: option_delete.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/2019/option.xsd">
    <delete>
    <option name="app_option_old" />
    </delete>
    </data>

    Durch dieses Verfahren ist es möglich, z.B. Rechtschreibfehler bei der Vergabe einer Option zu korrigieren und dennoch die Einstellungen in einer Installation beizubehalten. Durch die Verwendung der foreach Schleife innerhalb des Update Scripts, ist es auch möglich, gleichzeitig mehrehre Optionen auf einmal zu sichern.


    3 Gut zu wissen

    Unter Umständen kann bei der Vergabe eines Optionsnamens wie z.B. appName zu Fehlern führen, weswegen WoltLab die Namensvergabe nach dem Schema app_name empfiehlt. Optionsnamen werden also komplett kleingeschrieben und neue Wörter werden durch einen Unterstrich getrennt.


    Ihr habt Fragen oder Anregungen? Lob oder Kritik? Lasst es mich doch durch einen Kommentar von euch wissen!

Share