Aufbau der Datei 'config'

Aus
(Weitergeleitet von Aufbau der Datei 'config.conf')

Einleitung

Mit dem DSM 3 wurde neben der Datei application.cfg eine weitere Methode für das Einbinden von Anwendungen eingeführt. Die neue Methode wird über eine Datei config im JSON-Format gesteuert, die auch für die eingebauten Anwendungen und Konfigurationstools verwendet wird. Die Datei befindet sich im Root-Verzeichnis der Anwendung.

Vorteile

  • es kann die Größe des Fensters (height/width) beim Aufruf angegeben werden
  • auf System < DSM 3 wird eine vorhandene application.cfg anstelle der config benutzt. Für DSM ≥ 3 wird application.cfg nur dann gelesen, wenn keine config vorhanden ist
  • Für den Desktop in DSM 3 kann man ein 48 Pixel Icon benutzen

Aufbau

Für die Einbindung von 3rdparty Anwendungen wird dieser Aufbau benutzt (Beispiel):

{
    ".url": {
        "<unique_name>": {
            "type": "legacy",
            "allUsers": false,
            "allowMultiInstance": false,
            "title": "DDNS updater",
            "icon": "images/ddnsupdater_{0}.png",
            "appWindow": "<unique_name>",
            "width": 960,
            "height": 550,
            "url": "/webman/3rdparty/ddnsupdater/ddnsupdater.php"
        }
    }
}

Liste von Schlüsselwörtern

Parameter Beschreibung notwendig dokumentiert Wert/Typ/Beispiel
<unique_name>: eindeutiger Name, z.B. SYNO.SDS._ThirdParty.App.<Anwendungsname>, ohne minus Zeichen, da der legacy type sonst nicht funktioniert. alphanumerisch (ohne das Zeichen -)
type: Für die Fenster (embedded) Lösung, wird das Schlüsselwört "legacy" benutzt. Soll die Anwendung in einem neuen Fenster aufgerufen werden muss "url" eingetragen werden. legacy, url (es existieren noch mehr Werte, diese sind aber für die Verwendung mit 3rdparty Anwendungen nicht geeignet)
allUsers: legt fest, wer die Applikation aufrufen darf nur für Admin (false), für alle User (true)
allowMultiInstance: ermöglichst das mehrfache Öffnen der Anwendung, es liegen aber noch keine Erfahrungswerte vor false, true
grantPrivilege: Mit dieser Einstellung kann die Berechtigung zum Start der Anwendung geregelt werden. Bei aktivierter Option erscheint die Anwendung unter "Systemsteuerung - Benutzer - Applikationen" oder "Systemsteuerung - Berechtigungen". Wichtig: Damit dies auch für 3rdparty Apps funktioniert, zuvor bitte diesen Post lesen! all, local, ldap, domain
title: der Titel der Anwendung alphanumerisch
desc: Text, der bei einem mouse-over über dem Icon im DSM erscheint alphanumerisch, evtl. auch UTF–8-Text
texts: Bestimmt den Ordner innerhalb des Anwendungsverzeichnisses, in welchem die Dateien mit den Texten der entsprechenden Sprachen liegen. Bei vorhandener Option kann auf den gewünschten Text mit <Abschnitt>:<Variable> zugegriffen werden. (z.B. für title oder desc) alphanumerisch
icon: das Icon der Anwendung für die 4 Auflösungen (16,24,32,48 Pixel), die Variable {0} wird automatisch mit einer der 4 Auflösungen gefüllt 16, 24, 32, 48
appWindow: hier muss unbedingt der Name der Anwendung, wie im Parameter <unique_name> oben, eingetragen werden alphanumerisch, nötig für type legacy?
width/height: die Breite/Höhe des Anwendungsfensters beim Aufruf in Pixel numerisch
url: die Aufrufadresse der Anwendung, absolute URL oder relativ zum DocumentRoot des auf port lauschenden Webservers (i.d.R. /usr/syno/synoman oder /var/services/web) relativer Pfad (muss dann mit einem / beginnen) oder absolute URL
protocol: URL-Protokoll zur Applikation. Wird dieser Parameter nicht angegeben, wird das aktuelle Protokoll des DSM benutzt. protocol und port müssen immer zusammen angegeben werden Werte sind z.B. "http", "https", "ftp". Ist bei url eine absolute Adresse eingetragen, wird dieser Wert ignoriert
port: Der Port des aufzurufenden Links auf der DS. Wird dieser Parameter nicht angegeben, wird default der aktuelle Port vom DSM benutzt numerisch mit Anführungszeichen, z.B. "port": "80" (für http), "port": "443" (https), "port": "21" (ftp)
*** Neu ab DSM 5.1.4977 beta ***
advanceGrantPrivilege: Eine erweiterte Möglichkeit die Benutzer, welche diese Anwendung aufrufen dürfen, zu beschränken (zusätzlich zu "grantPrivilege" können auch Gruppen und IP's definiert werden) false, true
configablePrivilege: Zum Sperren der Möglichkeit zur Einstellung der Berechtigung trotz aktivierter Option "grantPrivilege". false, true

Links

3rd-Party Apps Developer Guide