Aufbau der Datei 'config'

Aus
Version vom 15. Mai 2013, 20:37 Uhr von EL Duderino (Diskussion | Beiträge) (→‎Liste von Schlüsselwörtern: port, protocol: Beschreibung von application.cfg übernommen)

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
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
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 (muß 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)

Links

3rd-Party Apps Developer Guide