Ergebnis 1 bis 2 von 2
  1. #1

    Standard Init_3rdpartyHelp Skript

    Vorwort
    Als ich die Beta des DSM 3 installiert hatte, sah ich mir aus Neugier per ssh den webman-Zweig an. Ich erforschte die Verzeichnisse, um mehr über die neue Struktur zu erfahren. Dann bog ich in das Verzeichnis "Indexer" ein, in diesem ich mehrere PHP-Dateien vorfand. "Hm, PHP" dachte ich..."cool, da kann man ja ein wenig weiter suchen und sich den Quelltext reinziehen". Zum Glück entdeckte ich ein paar Kommentare der Entwickler und die Experimente begannen. Die Idee für eigene, im DSM 3 vollständig integrierte Hilfedateien war geboren. Nach ein paar Wochen wurde dann die erste eigene Hilfe in den DDNS updater integriert, ich übersah allerdings eine Sache, weswegen ich diese Modifikation geschrieben habe.

    Erklärung/Interna
    Damit in 3rdparty Apps eine eigene Hilfe benutzt werden kann, müsste man in den "strings"-Dateien seine Texte für die diversen Sprachen unterbringen. Diese Texte werden vom Indexer benutzt, um den Hilfebaum für die Sprachen zu erstellen. Ein Bearbeiten der "strings"-Dateien ist zwar möglich, aber nicht die feine Art. Deshalb habe ich nach ein wenig Testen eine kleine Modifikation entwickelt, die den Indexer befähigt, auch andere Dateien für die Übersetzungen zu benutzen.

    Benutzung:
    Es existieren 2 Möglichkeiten dem Indexer einen anderen Ort für die Sprachdateien mitzuteilen.

    1. über einen weiteren Schalter -s <Pfad-zu-den-Texten>
    2. über eine Datei /tmp/3PHELPENABLED, die als quasi Schalter fungiert.

    Zu 1.
    Der manuelle Aufruf des Indexers zum Hinzufügen einer Hilfe ist folgender:
    /usr/bin/php -n -d safe_mode_exec_dir=/usr/syno/bin /usr/syno/synoman/webman/modules/Indexer/indexer.php -a /volume1/@appstore/<Anwendungsverzeichnis>/helptoc.conf -s /volume1/@appstore/<Anwendungsverzeichnis>/help
    Diese Variante kann man zu Testzwecken bzw. beim Erstellen der Hilfe benutzen.

    Zu 2.
    Die 2. Möglichkeit ist für das automatische Erzeugen der Hilfedateien während einer Paketinstallation gedacht. Man muss dafür nur eine Datei /tmp/3PHELPENABLED anlegen. Wird diese Datei beim Start vom Indexer vorgefunden, wird als rootpfad das gleiche Verzeichnis, wie das der helptoc.conf benutzt und zusätzlich /help drangehangen. Die darunterliegende Verzeichnisstruktur entspricht dann der Originalen, damit der Indexer seine Dateien auch findet. Das Erstellen der Datei sollte möglichst früh durchgeführt werden, am Besten ein /bin/touch /tmp/3PHELPENABLED in den preinst-Teil des Paketes. Das Löschen der Datei übernimmt der Indexer am Ende selbst.

    Sind beide Varianten aktiv, es existiert die Datei /tmp/3PHELPENABLED und man übergibt mit -s den Pfad, dann hat die Option -s die höhere Priorität.

    Installation:
    Die Installation der Modifikation ist leicht; einfach das Paket Init_3rdpartyHelp_1.0.spk im Anhang herunterladen und installieren. Start und Stop aktivieren oder deaktivieren die Modifikation.
    Das Paket wird nur bei 3rdparty Apps mit integrierter DSM-Hilfe benötigt, stört aber nicht bei anderen Paketen.
    Die Installation auf System mit DSM < 3 ist nicht möglich und wird mit einer Meldung abgefangen.

    Mehr Informationen über die DSM-Hilfe, deren Erweiterung und das Einbinden in SPK's im Zusammenspiel mit dem Indexer kann man im Workshop: DSM 3 - eigene Hilfe integrieren nachlesen.

    Hier die Modifikation
    original:
    PHP-Code:
    $cmdOpts getopt('rnuh:d:a:'); 
    modifiziert:
    PHP-Code:
    // Patch for use with a user-defined texts location.
    // Use cmdline option -s <path-to-texts> or create a file /tmp/3PHELPENABLED.
    // QTip 25/10/2010
    // patch begin >>>
    $cmdOpts getopt('rnuh:d:a:s:');
    if (
    array_key_exists('a'$cmdOpts)) {
            if (
    file_exists("/tmp/3PHELPENABLED") && ! array_key_exists('s'$cmdOpts)) {;
                    
    define("DEFAULT_STORE_STRINGS"dirname($cmdOpts['a'])."/help");
            } elseif (
    array_key_exists('s'$cmdOpts)) {
                
    define("DEFAULT_STORE_STRINGS"$cmdOpts['s']);
        }
        @
    unlink("/tmp/3PHELPENABLED");
    }
    // <<< patch end 
    Geändert von QTip (02.08.2011 um 15:31 Uhr) Grund: Anpassungen an Version 1.1
    Diskstation: DS916+ 6.1.7-15284-2 8GB 15TB|DS1512+ 3GB 5.2-5967 12TB|DS214play 6.2.1-23824 2TB
    Workstation: i7-6700 32GB|34" IPS|Windows 10 64bit Pro
    UPS: APC Back CS 650
    Netzwerk: RT1900ac 1.1.7-6941-3 SD 64GB|2x TP-Link SG1008D|TP-Link SG2008|VKBD 100Mbit
    Smartclients: BQ Aquaris A4.5|ASUS TF101
    Mediaclients: EasyVDR 2.5/Kodi 16.1|Sony KDL-60W855|Samsung BD-C5500
    Projekte: CPH DDNS Updater RK Hunter Notification Forwarder Notification Messenger Growler iPKGui EBI

  2. #2

    Ausrufezeichen

    Neue Version 1.1
    ab DSM 3.1.17xx gab es eine kleine Änderung bei den Aufrufkommandos seitens Synology, was eine Integration einer 3rdparty-Hilfe verhinderte bzw. der Patch nicht durchgeführt werden konnte. Die neue Init_3rdpartyHelp wurde entsprechend aktualisiert. Desweiteren wurde eine Anpassung an das neue Paket-Zentrum ab DSM 3.2 beta durchgeführt und ein Icon integriert. Es wird nun auch ein DSM Update erkannt und verhindert, dass beim Neustart durch das Update das alte Backup der indexer.php zurückgespielt wird.

    Init_3rdpartyHelp_1.1 kann für alle DSM-Versionen ab 3.0 und höher inkl. DSM 3.2 beta benutzt werden! Wer noch DSM < 3.1.17xx benutzt braucht nicht zwingend diese Version zu installieren.
    Angehängte Dateien Angehängte Dateien
    Geändert von QTip (03.08.2011 um 08:53 Uhr) Grund: DSM Version korrigiert, Text ergämzt
    Diskstation: DS916+ 6.1.7-15284-2 8GB 15TB|DS1512+ 3GB 5.2-5967 12TB|DS214play 6.2.1-23824 2TB
    Workstation: i7-6700 32GB|34" IPS|Windows 10 64bit Pro
    UPS: APC Back CS 650
    Netzwerk: RT1900ac 1.1.7-6941-3 SD 64GB|2x TP-Link SG1008D|TP-Link SG2008|VKBD 100Mbit
    Smartclients: BQ Aquaris A4.5|ASUS TF101
    Mediaclients: EasyVDR 2.5/Kodi 16.1|Sony KDL-60W855|Samsung BD-C5500
    Projekte: CPH DDNS Updater RK Hunter Notification Forwarder Notification Messenger Growler iPKGui EBI

Ähnliche Themen

  1. Skript per Cron --> Festplatten fahren hoch?
    Von onasco im Forum Konfigurationsänderungen
    Antworten: 15
    Letzter Beitrag: 19.11.2017, 18:49
  2. mount Skript Problem
    Von Hannibal7777 im Forum Sonstiges
    Antworten: 6
    Letzter Beitrag: 19.02.2010, 19:42
  3. Problem mit mount-skript
    Von [wEm] im Forum Konfigurationsänderungen
    Antworten: 10
    Letzter Beitrag: 09.01.2010, 15:38
  4. putty funktioniert, Skript nicht
    Von sowosamma im Forum Sonstiges
    Antworten: 10
    Letzter Beitrag: 07.01.2010, 11:33
  5. DS106 PHP Skript so schreiben
    Von oliver im Forum Webserver
    Antworten: 3
    Letzter Beitrag: 03.04.2008, 14:21

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •