Hole ( InstallierteFMPluginsAlsJSON )

Gibt ein JSON-Objekt mit den Attributen der installierten Plugins zurück.

Format 

Hole ( InstallierteFMPluginsAlsJSON )

Parameter 

Ohne

Zurückgegebener Datentyp 

Text

Ursprung in Version 

19.2.2

Beschreibung 

Diese Funktion gibt dieselben Informationen zurück wie die Funktion „Hole ( InstallierteFMPlugins )“, mit dem Unterschied, dass es sich um ein JSON-Objekt handelt und zusätzliche Informationen enthält.

Im folgenden Beispiel des zurückgegebenen JSON-Objekts befinden sich zwei installierte Plugins im Array plugins.

Kopieren
{
    "APIVers": 2,
    "environment"
    {
        "architecture" : "arm64",
        "platform" : 1,
        "version" : "11.3"
    },
    "plugins"
    [
        {
            "name": "MeinPlugin1",
            "id": "XM32",
            "version": "1.0",
            "state": "Enabled",
            "filepath": "filemac:/HD/Users/user1/Library/Application Support/FileMaker/Extensions/MyPlugin1.fmplugin/",
            "description": "Dies ist ein Beispiel für ein FileMaker-Plugin."
        },
        {
            "name": "MeinPlugin2",
            "id": "BO3B",
            "version": "1.1.6x3422",
            "state": "Disabled",
            "filepath": "filemac:/HD/Users/user1/Library/Application Support/FileMaker/FileMaker Pro/20.0/Extensions/MeinPlugin2.fmplugin/",
            "description": "Dies ist ein anderes FileMaker-Plugin."
        }
    ]
}

Die folgende Tabelle beschreibt die Elemente im zurückgegebenen JSON-Objekt.

JSON-Element

Beschreibung

APIVers

Numerischer Wert für die Version der Struktur dieses JSON-Objekts. Wenn sich die Struktur dieses JSON-Objekts in einem späteren Release ändert, ändert sich diese Nummer.

Version 2: environment hinzugefügt.

environment

Objekt, das das System beschreibt, auf dem Plugins laufen. Wird zurückgegeben, auch wenn derzeit keine Plugins installiert sind. Umfasst diese Schlüssel:

plugins

Array, das ein Objekt für jedes installierte Plugin enthält. Wenn keine Plugins installiert sind, ist der Wert null.

name

Name des Plugins

id

Vierstellige ID des Plugins (siehe Steuern des Plugin-Zugriffs zwischen Dateien)

version

Versionsnummer des Plugins als Zeichenfolge

state

Ob das Plugin aktuell in den Voreinstellungen aktiviert ist und geladen wird:

  • Enabled – Aktiviert und kann geladen werden
  • Disabled – Deaktiviert und kann nicht geladen werden
  • Ignored – Das Plugin konnte nicht geladen werden, möglicherweise aufgrund nicht kompatibler Software
filepath

Pfad der Plugin-Datei im FileMaker-Format (siehe Erstellen von Dateipfaden)

description

Beschreibung des Plugins

Der Name, die Version und die Beschreibung sind die Werte, die der Plugin-Entwickler in der Ressourcendatei des Plugins (Windows) bzw. in der Datei info.plist (macOS) angegeben hat.

Beispiel 1 

Gibt die Anzahl der installierten Plugins zurück.

Kopieren
ElementeAnzahl ( JSONListKeys ( Hole ( InstallierteFMPluginsAlsJSON ) ; "plugins" ) )

Beispiel 2 

Gibt die Versionsnummer des Plugins mit der in der Variablen $$id angegebenen ID zurück. Für das System, das das obige Beispiel-JSON-Objekt zurückgibt, ergibt die folgende Berechnung 1.0, wenn $$id „XM32“ ist.

Kopieren
Solange ( 
    [ 
    plugin_json = Hole ( InstallierteFMPluginsAlsJSON ) ; 
    total = ElementeAnzahl ( JSONListKeys ( plugin_json ; "plugins" ) ) ; 
    index = 0 ;
    version = "" 
    ] ; 

    index < total ; 

    [ 
    version = Wenn ( JSONGetElement ( plugin_json ; "plugins[" & index & "].id" ) = $$id ; 
        JSONGetElement ( plugin_json ; "plugins[" & index & "].version" ) ; "" ) ;
    index = Wenn ( version = "" ; index + 1 ; total )
    ] ; 

    version 
)

Beispiel 3 

Siehe Beispiel 2 unter Plugin-Datei installieren.