Aufbau der Datei 'config': Unterschied zwischen den Versionen

Aus
(unique_name nach eigenen Erfahrungen geändert (minus Zeichen wird nicht akzeptiert))
(Ergänzungen)
Zeile 1: Zeile 1:
[[Category:Systemdatei]]
[[Category:Systemdatei]]
[[Kategorie:3rd-Party-Apps]]
==Einleitung==
==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 der Anwendung.
Mit dem DSM 3 wurde neben der Datei [[Aufbau der Datei 'application.cfg'|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==
==Vorteile==


* es kann die Größe des Fensters (height/width) beim Aufruf angegeben werden
* 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 (Priorität 1. config, 2. application.cfg)
* 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
* Für den Desktop in DSM 3 kann man ein 48 Pixel Icon benutzen


Zeile 29: Zeile 30:
</pre>
</pre>


===Erklärung der Schlüsselwörter===
===Liste von Schlüsselwörtern===
{| border="1" cellpadding="6" cellspacing="0" style="text-align:left"
{| border="1" cellpadding="6" cellspacing="0" style="text-align:left"
|-
|-
|'''Parameter'''
|'''Parameter'''
|'''Beschreibnung'''
|'''Beschreibung'''
|notwendig
|dokumentiert
|'''Wert/Typ/Beispiel'''
|'''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 - Zeichen)
|<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)
|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)
|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
|allowMultiInstance:||ermöglichst das mehrfache Öffnen der Anwendung, es liegen aber noch keine Erfahrungswerte vor||–||–||false, true
|-
|-
|title:||der Titel der Anwendung||alphanumerisch
|title:||der Titel der Anwendung||✔||✔||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
|desc:||Text, der bei einem mouse-over über dem Icon im DSM erscheint||–||✔||alphanumerisch, evtl. auch UTF–8-Text
|-
|-
|appWindow:||hier muss unbedingt der Name der Anwendung, wie im Parameter <unique_name> oben, eingetragen werden||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
|-
|-
|width/height:||die Breite/Höhe des Anwendungsfensters beim Aufruf in Pixel||numerisch
|appWindow:||hier muss unbedingt der Name der Anwendung, wie im Parameter <unique_name> oben, eingetragen werden||–||–||alphanumerisch, nötig für type legacy?
|-
|-
|url:||die Aufrufadresse der Anwendung, relativ zu /usr/syno/synoman||Pfad
|width/height:||die Breite/Höhe des Anwendungsfensters beim Aufruf in Pixel||–||–||numerisch
|-
|-
|protocol:||das Protocol des aufzurufenden links (protocol und port müssen immer zusammen verwendet werden, außerdem ist der Link dann relativ zur url/IP im Browser)||"http", "https", "ftp"
|url:||die Aufrufadresse der Anwendung, absolute URL oder relativ zu /usr/syno/synoman bzw. /var/services/web (hängt von port ab)||✔||✔||relativer Pfad oder absolute URL
|-
|-
|port:||der Port des aufzurufenden links (z.B. 80=http, 443=https, 21=FTP); muss in "" stehen also z.B.: "port": "443" ||numerisch
|protocol:||das Protokoll des aufzurufenden links (protocol und port müssen immer zusammen angegeben werden)||–||–||"http", "https", "ftp"
|-
|port:||der Port des aufzurufenden Links auf der DS; muss in Anführungszeichen stehen. Wenn nicht angegeben, wird 5000/5001 verwendet||–||–||numerisch, z.B. "port": "80" (für http), "port": "443" (https), "port": "21" (ftp)
|}
|}


== Links ==
== Links ==
[http://www.synology.com/support/3rd_party_app_int.php 3rd-Party Apps Developer Guide]
[http://www.synology.com/support/3rd_party_app_int.php 3rd-Party Apps Developer Guide]

Version vom 15. Mai 2013, 18:40 Uhr

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 zu /usr/syno/synoman bzw. /var/services/web (hängt von port ab) relativer Pfad oder absolute URL
protocol: das Protokoll des aufzurufenden links (protocol und port müssen immer zusammen angegeben werden) "http", "https", "ftp"
port: der Port des aufzurufenden Links auf der DS; muss in Anführungszeichen stehen. Wenn nicht angegeben, wird 5000/5001 verwendet numerisch, z.B. "port": "80" (für http), "port": "443" (https), "port": "21" (ftp)

Links

3rd-Party Apps Developer Guide