Especificar acciones para los controladores de archivos 2.0

Al registrar un controlador de archivos, especifica un conjunto de acciones permitidas mediante el controlador de archivos.

Existen tres acciones integradas que un controlador de archivos puede admitir:

  • newFile: El tipo de archivo aparece en el menú Nuevo de OneDrive y SharePoint.
  • open: Los archivos pueden abrirse con el controlador de archivos, que aparece en el menú Abrir de OneDrive y SharePoint. Las acciones de apertura se inician en una nueva pestaña del explorador.
  • preview: Los archivos pueden previsualizarse con el controlador de archivos. La vista previa se produce cuando el usuario hace clic con el botón izquierdo en un archivo de OneDrive y SharePoint. Las acciones de vista previa se cargan en un elemento <IFRAME> dentro de los sitios web de OneDrive y SharePoint.

Los controladores de archivos adicionales admiten un tipo de acción custom que permite que un controlador de archivos cree acciones definidas por la aplicación. Estas acciones adicionales aparecen en la barra de herramientas de OneDrive y SharePoint, y pueden agregarse en cualquier extensión de archivo.

Definir acciones en el manifiesto del controlador de archivos

Las acciones se definen en el manifiesto del controlador de archivos dentro del par clave-valor actions, que contiene una matriz de acciones que admite el controlador de archivos.

Un ejemplo de la definición de las tres acciones integradas y una única acción personalizada:

[
    {
        "type": "newFile",
        "url": "https://url/for/endpoint",
        "availableOn": {
            "file": { "extensions": [".bin"] },
            "web": { }
        }
    },
    {
        "type": "open",
        "url": "https://url/for/endpoint",
        "availableOn": {
            "file": { "extensions": [".bin"] },
            "web": { }
        }
    },
    {
        "type": "preview",
        "url": "https://url/for/endpoint",
        "availableOn": {
            "file": { "extensions": [".bin"] },
            "web": { }
        }
    },
    {
        "type": "custom",
        "url": "https://url/for/endpoint",
        "displayName": "Add Signature with Contoso",
        "shortDisplayName": "Add Signature",
        "icon": {
            "png1x": "https://url/for/icon.png"
        },
        "availableOn": {
            "file": { "extensions": ["*"] },
            "folder": { },
            "allowMultiSelect": true,
            "web": { }
        }
    }
]

Debido a las limitaciones en las extensiones de complemento de Azure Active Directory, estas acciones se almacenan serializadas en una cadena. Se recomienda que JSON minimice la matriz antes de convertirla en un valor de cadena para el almacenamiento en el manifiesto.

Por ejemplo, las acciones definidas anteriormente se almacenarían en el manifiesto del controlador de archivos de la siguiente manera:

{
    "type": "FileHandler",
    "properties": [
        {
            "key": "version",
            "value": "2"
        },
        {
            "key": "actions",
            "value": "[{\"type\":\"newFile\",\"url\":\"https://url/for/endpoint\",\"availableOn\":{\"file\":{\"extensions\":[\".bin\"]},\"web\":{}}},{\"type\":\"open\",\"url\":\"https://url/for/endpoint\",\"availableOn\":{\"file\":{\"extensions\":[\".bin\"]},\"web\":{}}},{\"type\":\"preview\",\"url\":\"https://url/for/endpoint\",\"availableOn\":{\"file\":{\"extensions\":[\".bin\"]},\"web\":{}}},{\"type\":\"custom\",\"url\":\"https://url/for/endpoint\",\"displayName\":\"Add Signature with Contoso\",\"shortDisplayName\":\"Add Signature\",\"icon\":{\"png1x\":\"https://url/for/icon.png\"},\"availableOn\":{\"file\":{\"extensions\":[\"*\"]},\"folder\":{},\"allowMultiSelect\":true,\"web\":{}}}]"
        }
    ]
}

Parámetros de acción

Cada acción que se ha declarado en el parámetro de acción tiene la forma siguiente:

{
    "type": "newFile | open | preview | custom",
    "url": "url",
    "displayName": "string",
    "shortDisplayName": "string",
    "icon": { 
        "@odata.type": "microsoft.graph.displayIcon",
        "svg": "url",
        "png1x": "url",
        "png1_5x": "url",
        "png2x": "url"
    },
    "availableOn": {
        "@odata.type": "microsoft.graph.availableOn",
        "file": {
            "@odata.type": "microsoft.graph.availableOnFile",
            "extensions": [ ".pdf", ".png", ".psd" ]
        },
        "folder": {
            "@odata.type": "microsoft.graph.availableOnFolder"
        },
        "allowMultiSelect": false,
        "web": { "@odata.type": "microsoft.graph.availableOnWeb" }
    }
}

Propiedades

No todas las propiedades son necesarias, varían en función del tipo de acción que se especifica.

Nombre del parámetro Tipo Descripción
tipo string Un valor de newFile, open o preview. Necesario.
url URL Una dirección URL https:// para el punto de conexión que controla la acción del controlador de archivos. Necesario.
displayName string Una cadena de configuración regional predeterminada que se ha usado en type: "custom" para representar la acción. Opcional.
shortDisplayName string Una cadena de configuración regional predeterminada usada por type: "custom" para representar la acción en la barra de herramientas o el menú de acción contraído. Opcional.
availableOn object Una colección de propiedades que definen dónde está disponible esta acción. Necesario.
icono displayIcon Objeto que contiene las direcciones URL a las imágenes de icono de este tipo de archivo. Opcional.
  • La propiedad displayName solo se puede aplicar a las acciones de tipo custom y se ignora para las acciones de cualquier otro tipo.

Propiedades availableOn

Al establecer las propiedades dentro de la propiedad availableOn , puede personalizar dónde está disponible la acción:

Nombre del parámetro Tipo Descripción
file.extensions matriz de cadenas Una matriz de las extensiones de archivo en las que está disponible la acción. Las extensiones de archivo deben comenzar con un punto (.). Un carácter comodín * puede usarse para indicar todas las extensiones de archivo de las acciones personalizadas.
folder object Un objeto sin parámetros indica que el controlador de archivos está disponible cuando una carpeta está seleccionada o cuando ningún archivo está seleccionado. Un valor NULL o la propiedad que no se define indica que la acción no está disponible para las carpetas.
allowMultiSelect boolean Si true, pueden seleccionarse archivos múltiples y la acción seguirá mostrándose. Si es false o no se encuentra, la acción solo se muestra cuando un elemento único está seleccionado.
web object Un objeto sin parámetros indica que el controlador de archivos está disponible al explorar el sitio web.
  • Solo puede especificarse una extensión de archivo para las acciones de tipo newFile. Esta es la extensión que tendrá el archivo recién creado. Si se muestran varias extensiones de archivo, solo se usará la primera extensión de archivo.
  • Las propiedades folder y allowMultiSelect solo se pueden aplicar en acciones de tipo custom. Estos valores se ignoran para las acciones de cualquier otro tipo.