Get ( InstalledFMPluginsAsJSON )

Devuelve un objeto JSON con los atributos de los plug-ins instalados.

Formato 

Get ( InstalledFMPluginsAsJSON )

Parámetros 

Ninguno

Tipo de datos devuelto 

texto

Se origina en 

19.2.2

Descripción 

Esta función devuelve la misma información que la función Get ( InstalledFMPlugins ), excepto que se trata de un objeto JSON e incluye información adicional.

En el siguiente ejemplo del objeto JSON devuelto, hay dos plug-ins instalados en la matriz plugins.

Copiar
{
    "APIVers": 2,
    "environment"
    {
        "architecture" : "arm64",
        "platform" : 1,
        "version" : "11.3"
    },
    "plugins"
    [
        {
            "name": "MiPlugin1",
            "id": "XM32",
            "version": "1.0",
            "state": "Enabled",
            "filepath": "filemac:/HD/Users/user1/Library/Application Support/FileMaker/Extensions/MyPlugin1.fmplugin/",
            "description": "Este es un plug-in de FileMaker de ejemplo."
        },
        {
            "name": "MiPlugin2",
            "id": "BO3B",
            "version": "1.1.6x3422",
            "state": "Disabled",
            "filepath": "filemac:/HD/Users/user1/Library/Application Support/FileMaker/FileMaker Pro/20.0/Extensions/MyPlugin2.fmplugin/",
            "description": "Este es otro plug-in de FileMaker."
        }
    ]
}

En la siguiente tabla, se describen los elementos del objeto JSON devuelto.

Elemento JSON

Descripción

APIVers

Valor numérico de la versión de la estructura de este objeto JSON. Si la estructura de este objeto JSON cambia en una versión posterior, este número cambiará.

Versión 2: environment añadido.

environment

Objeto que describe el sistema en el que se ejecutan los plug-ins. Se devuelve aunque no haya ningún plug-in instalado. Incluye las siguientes claves:

plugins

Matriz que contiene un objeto para cada plug-in instalado. Si no se ha instalado ningún plug-in, este valor es nulo.

name

El nombre del plug-in.

id

ID del plug-in de cuatro caracteres (consulte Controlar el acceso a plug-ins entre archivos).

version

El número de versión del plug-in como cadena.

state

Determina si el plug-in está activado actualmente en Preferencias y si se ha cargado.

  • Enabled: está activado y se puede cargar.
  • Disabled: está desactivado y no se puede cargar.
  • Ignored: no se ha podido cargar, lo que puede deberse a una incompatibilidad de software.
filepath

Ruta del archivo de plug-in con el formato de FileMaker (consulte Crear rutas de archivo).

description

La descripción del plug-in.

El nombre, la versión y la descripción son los valores proporcionados por el desarrollador del plug-in en el archivo de recursos del plug-in (Windows) o en el archivo info.plist (macOS).

Ejemplo 1 

Devuelve el número de plug-ins instalados.

Copiar
ValueCount ( JSONListKeys ( Get ( InstalledFMPluginsAsJSON ) ; "plugins" ) )

Ejemplo 2 

Devuelve el número de versión del plug-in con el ID especificado por la variable $$id. Para el sistema que devuelve el objeto JSON de ejemplo anterior, el siguiente cálculo devuelve 1.0 si $$id es "XM32".

Copiar
While ( 
    [ 
    plugin_json = Get ( InstalledFMPluginsAsJSON ) ;
    total = ValueCount ( JSONListKeys ( plugin_json ; "plugins" ) ) ;
    index = 0 ;
    version = "" 
    ] ; 

    index < total ;

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

    version
)

Ejemplo 3 

Consulte el Ejemplo 2 en Instalar archivo plug-in.