Gestión de documentos en una aplicación de Oracle Visual Builder

La API de REST de Oracle Content and Experience para Documentos proporciona un rango de puntos finales que puede utilizar para realizar tareas como descargar, ver y suprimir archivos en el almacenamiento de documentos de Oracle Content and Experience mediante la interfaz de una aplicación Oracle Visual Builder.

El contenido que aparece a continuación es un ejemplo ilustrativo que describe cómo utilizar los puntos finales adecuados con los componentes de la interfaz de usuario de Oracle Visual Builder, las variables y las cadenas de acciones para descargar un documento desde Oracle Content and Experience. Con este patrón, puede implantar funciones en la aplicación Oracle Visual Builder para realizar otras tareas con los documentos, como ver o suprimir.

Para descargar un documento, como una foto u otro tipo de archivo, necesita:

  1. Una conexión de servicio que expone los puntos finales Obtener Información de Archivo y Descargar Archivo proporcionados por la API de REST de Oracle Content and Experience para Documentos.
  2. Página de la aplicación Oracle Visual Builder que:
    1. Incluye una variable de tipo Object para hacer referencia a un archivo seleccionado (selectedFile) y una variable de tipo String para hacer referencia al identificador del archivo seleccionado (selectedFileId).
    2. Utiliza el componente de vista de lista que ha agregado anteriormente para recuperar la lista de documentos de Oracle Content and Experience. Configurará este componente de vista de lista para llamar a una cadena de acción que incluya una acción de llamada de punto final de REST para llamar al punto final Obtener Información de Archivo cuando un usuario seleccione un archivo en la lista de documentos.
    3. Componente de botón que llama a una cadena de acción que incluye una acción de llamada al punto final de REST para llamar al punto final de descarga de archivo para descargar el archivo seleccionado en la lista de documentos.
    4. Función del módulo de llamada para descargar el objeto que devuelve el punto final Descargar Archivo.

Crear un punto final para descargar documentos

Puede crear puntos finales para descargar archivos de Oracle Content and Experience mediante el URI base de la instancia de Oracle Content and Experience a la que se conecta y los parámetros de consulta para acceder a los puntos finales Obtener Información de Archivo y Descargar Archivo expuestos por la API de REST para Documentos.

Se supone que ya ha creado una conexión de servicio y un punto final que recupera documentos de Oracle Content and Experience. Complete esta última tarea, si aún no la ha hecho. En los siguientes pasos se describe cómo agregar los puntos finales Obtener Información de Archivo y Descargar Archivo a la conexión de servicio creada para recuperar documentos.

Para agregar puntos finales a archivos de descarga desde Oracle Content and Experience:

  1. Abra Conexiones de servicio en el navegador y seleccione la conexión de servicio que ha creado anteriormente para recuperar documentos de Oracle Content and Experience.
  2. En el separador Puntos Finales, haga clic en + Punto Final para agregar el punto final Obtener Información de Archivo.
  3. En el cuadro de diálogo Agregar Punto Final, seleccione GET en la lista desplegable Método, introduzca files/{fileID} en el campo de entrada URI y seleccione Get One en la lista desplegable Indicación de Acción.
    Opcionalmente, haga clic en el botón de puntos suspensivos (…) junto al campo de entrada URI para verificar que la dirección URL de punto final completa es https://cec-instance-url.com/documents/api/1.2/files/{fileID}, donde https://cec-instance-url.com es el URI base de la instancia de Oracle Content and Experience a la que se conecta y /documents/api/1.2/files/{fileID} son los parámetros de consulta para llamar al punto final.
  4. En el separador Respuesta del cuadro de diálogo Agregar Punto Final, introduzca un cuerpo de respuesta de ejemplo para el punto final.

    El separador Respuesta contiene un área de texto en la que puede pegar un ejemplo del cuerpo de la respuesta. El ejemplo de la respuesta es la definición de la estructura del objeto devuelto. Introduzca el siguiente ejemplo de un objeto devuelto en respuesta a una llamada a la API Get File Information.

    {
        "count":"13",
        "createdBy":{
            "displayName":"Tenant1 UserB",
            "id":"Service1.UserB",
            "loginName":"Service1.UserB",
            "type":"user"
        },
        "createdTime":"2018-02-28T20:00:22Z",
        "errorCode":"0",
        "id":"DFB10CF19A743BF1338CFF01AB7008277F375F0158F1",
        "mimeType":"image/jpeg",
        "modifiedBy":{
            "displayName":"Tenant1 UserB",
            "id":"Service1.UserB",
            "loginName":"Service1.UserB",
            "type":"user"
        },
        "modifiedTime":"2018-02-28T20:00:22Z",
        "name":"BlueSquare.jpg",
        "ownedBy":{
            "displayName":"Tenant1 UserB",
            "id":"Service1.UserB",
            "loginName":"Service1.UserB",
            "type":"user"
        },
        "parentID":"F26D598E507E96F9B41C98BA36219C7DA83E60B83105",
        "size":"24205",
        "type":"file",
        "version":"1",
        "items":[
            {
                "type":"uithumbnail",
                "name":"thumbnail",
                "format":"png",
                "exists":"true",
                "link":"http://service1-tenant1:8080/documents/api/1.2/files/DFB10CF19A743BF1338CFF01AB7008277F375F0158F1/data/thumbnail?version=1",
                "size":"2478",
                "width":"300",
                "height":"180"
            },
            {
                "type":"imagepreview",
                "name":"page1",
                "format":"jpg",
                "exists":"false",
                "link":"http://service1-tenant1:8080/documents/api/1.2/files/DFB10CF19A743BF1338CFF01AB7008277F375F0158F1/data/rendition?rendition=page1&version=1",
                "size":"0",
                "width":"0",
                "height":"0"
            },
            {
                "type":"imagepreview",
                "name":"thumbnail1",
                "format":"png",
                "exists":"false",
                "link":"http://service1-tenant1:8080/documents/api/1.2/files/DFB10CF19A743BF1338CFF01AB7008277F375F0158F1/data/rendition?rendition=thumbnail1&version=1",
                "size":"0",
                "width":"0",
                "height":"0"
            },
            {
                "type":"native",
                "name":"asset",
                "format":"jpg",
                "exists":"true",
                "link":"http://service1-tenant1:8080/documents/api/1.2/files/DFB10CF19A743BF1338CFF01AB7008277F375F0158F1/data?version=1",
                "size":"24205",
                "width":"360",
                "height":"216"
            },
            {
                "type":"responsiveimage",
                "name":"ImageThumbnailjpg",
                "format":"jpg",
                "exists":"true",
                "link":"http://service1-tenant1:8080/documents/api/1.2/files/DFB10CF19A743BF1338CFF01AB7008277F375F0158F1/data/thumbnailImage?version=1",
                "size":"2275",
                "width":"150",
                "height":"90"
            },
            {
                "type":"responsiveimage",
                "name":"ImageThumbnailwebp",
                "format":"webp",
                "exists":"false",
                "link":"http://service1-tenant1:8080/documents/api/1.2/files/DFB10CF19A743BF1338CFF01AB7008277F375F0158F1/data/thumbnailImage?format=webp&version=1",
                "size":"0",
                "width":"150",
                "height":"90"
            },
            {
                "type":"responsiveimage",
                "name":"ImageSmalljpg",
                "format":"jpg",
                "exists":"false",
                "link":"http://service1-tenant1:8080/documents/api/1.2/files/DFB10CF19A743BF1338CFF01AB7008277F375F0158F1/data/smallImage?version=1",
                "size":"0",
                "width":"300",
                "height":"180"
            },
            {
                "type":"responsiveimage",
                "name":"ImageSmallwebp",
                "format":"webp",
                "exists":"true",
                "link":"http://service1-tenant1:8080/documents/api/1.2/files/DFB10CF19A743BF1338CFF01AB7008277F375F0158F1/data/smallImage?format=webp&version=1",
                "size":"380",
                "width":"300",
                "height":"180"
            },
            {
                "type":"responsiveimage",
                "name":"ImageMediumjpg",
                "format":"jpg",
                "exists":"true",
                "link":"http://service1-tenant1:8080/documents/api/1.2/files/DFB10CF19A743BF1338CFF01AB7008277F375F0158F1/data/mediumImage?version=1",
                "size":"24205",
                "width":"360",
                "height":"216"
            },
            {
                "type":"responsiveimage",
                "name":"ImageMediumwebp",
                "format":"webp",
                "exists":"false",
                "link":"http://service1-tenant1:8080/documents/api/1.2/files/DFB10CF19A743BF1338CFF01AB7008277F375F0158F1/data/mediumImage?format=webp&version=1",
                "size":"0",
                "width":"360",
                "height":"216"
            },
            {
                "type":"responsiveimage",
                "name":"ImageLargejpg",
                "format":"jpg",
                "exists":"true",
                "link":"http://service1-tenant1:8080/documents/api/1.2/files/DFB10CF19A743BF1338CFF01AB7008277F375F0158F1/data/largeImage?version=1",
                "size":"24205",
                "width":"360",
                "height":"216"
            },
            {
                "type":"responsiveimage",
                "name":"ImageLargewebp",
                "format":"webp",
                "exists":"false",
                "link":"http://service1-tenant1:8080/documents/api/1.2/files/DFB10CF19A743BF1338CFF01AB7008277F375F0158F1/data/largeImage?format=webp&version=1",
                "size":"0",
                "width":"360",
                "height":"216"
            },
            {
                "type":"customrendition",
                "name":"Desert",
                "format":"jpeg",
                "exists":"true",
                "link":"http://service1-tenant1:8080/documents/api/1.2/files/DFB10CF19A743BF1338CFF01AB7008277F375F0158F1/data/rendition?rendition=Desert&renditionType=uploaded&version=1",
                "size":"845941",
                "width":"1024",
                "height":"768"
            }
        ]
    }
    
  5. Haga clic en Agregar.
    Agrega un punto final con el ID de punto final getFilesFileID a la conexión de servicio.
  6. En el separador Puntos Finales, haga clic en + Punto Final para agregar el punto final de descarga de archivo.
  7. En el cuadro de diálogo Agregar Punto Final, seleccione GET en la lista desplegable Método, introduzca /files/{fileID}/data en el campo de entrada URI y seleccione Get One en la lista desplegable Indicación de Acción.

    Al igual que con el último punto final, opcionalmente, haga clic en el botón de puntos suspensivos (…) junto al campo de entrada URI para verificar que la dirección URL de punto final completa es https://cec-instance-url.com/documents/api/1.2/files/{fileID}/data.

  8. En el separador Respuesta del cuadro de diálogo Agregar punto final, edite el tipo de medio soportado del cuerpo de la respuesta como application/octet-stream y elimine el valor rellenado previamente de application/json.
  9. Haga clic en Agregar.
    Agrega un punto final con el ID de punto final getFilesFileIDData a la conexión de servicio.

Preparar para Descargar Documentos

Puede crear una serie de variables y escribir una función del módulo de llamadas en la página de la aplicación Oracle Visual Builder que descarga documentos de Oracle Content and Experience. También configurará el componente de vista de lista en la página para permitir la selección de archivos y recuperar la información de archivo del archivo seleccionado.

Una vez terminadas estas tareas, puede agregar un componente de interfaz de usuario, como un botón, para que los usuarios puedan llamar a una cadena de acción que incluya una acción de punto final de llamada de REST que invoque el punto final Descargar archivo.

En el editor de variables de la página que contendrá el componente Botón, haga clic en el botón + Variable para agregar las siguientes dos variables que utilizará para hacer referencia al archivo que descargar:

  • selectedFile de tipo Object.
  • selectedFileId de tipo String.
A continuación se muestra la descripción de vb-cec-var-download.png
Descripción de la ilustración vb-cec-var-download.png

Si no se ha creado previamente, agregue también una variable denominada folderId. Especifique su tipo como String, su valor por defecto como self y active la casilla de control Parámetro de Entrada.

La función de módulo de llamadas que escribe descarga el archivo que el usuario seleccionó.

Para escribir una función del módulo de llamadas para descargar el archivo seleccionado:

En el editor de funciones de la página, agregue la siguiente función que aparece entre las líneas de comentario (//).

define(['vb/helpers/rest', 'vb/helpers/rest'], (Rest, RestHookHandler) => {
  'use strict';

  var PageModule = function PageModule() { };
 
// Download the file
  PageModule.prototype.saveFile = function(data, mimeType, filename) {
    const blob = new Blob([data], {
      type: mimeType
    });
    // IE/Edge
    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
      window.navigator.msSaveOrOpenBlob(blob);
      return;
    }
    var link = document.createElement('a');
    link.href = URL.createObjectURL(blob);
    link.download = filename;
    link.click();
    // Firefox: delay revoking the ObjectURL
    setTimeout(function() {
  
      URL.revokeObjectURL(blob);
    }, 100);
  };
  
  // ...
  return PageModule;
});

Para configurar el componente de vista de lista para activar la selección y recuperar la información del archivo seleccionado:

  1. En la vista Diseñador de la página de la aplicación, seleccione el componente Vista de lista y, a continuación, seleccione Único en la lista desplegable Modo de selección del inspector de propiedades. Descripción de vb-cec-list-single-select.png
    Descripción de la ilustración vb-cec-list-single elect.png
  2. En el separador Eventos del Inspector de Propiedades del componente de vista de lista, haga clic en + Nuevo Evento y, a continuación, en Inicio Rápido: 'selección'.

    Esto crea y abre una nueva cadena de acciones, ListViewSelectionChangeChain, en el lienzo Cadena de acciones.

  3. En el lienzo Cadena de acciones, introduzca If en el campo de entrada Filtro en Acciones y, a continuación, arrastre y suelte la acción Si en la sección Lógica en el lienzo Cadena de acciones.
  4. Con la acción If que acaba de agregar seleccionada, haga clic en la flecha desplegable situada a la derecha del campo de entrada Condición y seleccione el elemento[0] bajo selección en la sección Variables de la cadena de acción. Descripción de vb-cec-list-change-selection.png
    Descripción de la ilustración vb-cec-list-change-selection.png
  5. En el lienzo Cadena de acciones, introduzca Call REST en el campo de entrada Filtro en Acciones y, a continuación, arrastre y suelte la acción Llamar punto final REST al lienzo Cadena de acciones como resultado si la acción Si se evalúa como verdadera.
  6. Con la acción Llamar al Punto Final REST que acaba de agregar seleccionada, haga clic en el botón Seleccionar Punto Final.
  7. En el cuadro de diálogo Seleccionar Punto Final, seleccione el punto final Obtener Información de Archivo (files/{fileID}) y, a continuación, haga clic en Seleccionar. Descripción de vb-cec-add-endpoint-fileinfo.png
    Descripción de la ilustración vb-cec-add-endpoint-fileinfo.png
  8. En el lienzo Cadena de acciones, seleccione la acción de punto final Llamar a REST y, en la sección Parámetros de entrada, haga clic en fileID para llamar al cuadro de diálogo Llamar al punto final REST, donde puede asignar el archivo seleccionado al parámetro de fileID. Descripción de vb-cec-call-endpoint-fileinfo.png
    Descripción de la ilustración vb-cec-call-endpoint-fileinfo.png
  9. Haga clic en Guardar.
  10. En el campo de entrada Filtro en Acciones, introduzca Assign y, a continuación, arrastre y suelte la acción Asignar variables en el lienzo como resultado correcto para la acción Llamar al punto final de REST.
  11. Seleccione la acción Asignar variables que acaba de agregar al lienzo y haga clic en Asignar en la sección Variables.
  12. En el cuadro de diálogo Asignar Variables que aparece, dibuje una conexión entre el elemento[0] con selección en Variables de Cadena de Acción en Orígenes y el nodo selectedFileId en Página en Destino.
  13. Obtenga también una conexión entre el nodo de cuerpo de callRestEndpoint1 en Resultados y el nodo selectedFile en Página en Destino.
  14. Haga clic en Guardar.
  15. Arrastre y suelte otra acción Asignar variables en el lienzo como resultado fallido para la acción Llamar al punto final REST.
  16. Seleccione la acción Asignar variables que acaba de agregar al lienzo y haga clic en Asignar en la sección Variables.
  17. En el cuadro de diálogo Asignar Variables que aparece, dibuje una conexión entre el elemento[0] con selección en Variables de Cadena de Acción en Orígenes y el nodo folderId en Página en Destino.
  18. Haga clic en Save. Descripción de vb-cec-fileinfo-final-action.png
    Descripción de la ilustración vb-cec-fileinfo-final-action.png

Descargar el documento seleccionado

Agregará un componente de botón en el que los usuarios finales hacen clic para llamar a una cadena de acción que incluya la acción Llamar el punto final REST que llama al punto final Descargar Archivo y la acción Función de Módulo de Llamadas que descarga el archivo devuelto por el punto final Descargar Archivo.

Para agregar un componente de botón para que los usuarios descarguen un documento:
  1. En la página de aplicación Oracle Visual Builder, agregue un componente Botón.
  2. En la sección Eventos del Inspector de Propiedades del componente de botón, haga clic en la lista desplegable Nuevo Evento y seleccione Inicio Rápido: 'ojAction'.
  3. En el lienzo Cadena de acciones, introduzca Call REST en el campo de entrada Filtro en Acciones y, a continuación, arrastre y suelte la acción Llamar al punto final REST en el lienzo Cadena de acciones.
  4. Con la acción Llamar al Punto Final REST que acaba de agregar seleccionada, haga clic en el botón Seleccionar Punto Final.
  5. En el cuadro de diálogo Seleccionar Punto Final, seleccione el punto final Descargar Archivo (files/{fileID}/data) que ha agregado anteriormente y, a continuación, haga clic en Seleccionar.
  6. En el lienzo Cadena de acciones, seleccione la acción Llamar punto final REST y, en el inspector de propiedades, haga clic en el enlace Asignar junto a la sección Parámetros de entrada.
  7. En el cuadro de diálogo Llamar al Punto Final REST, realice una conexión desde el nodo selectedFileId en Variables en Orígenes al nodo fileID en Parámetros en Destino y haga clic en Guardar.
  8. En el lienzo Cadena de acción, introduzca Function en el campo de entrada Filtro en Acciones y, a continuación, arrastre y suelte la acción Función de módulo de llamada en el lienzo Cadena de acción como resultado correcto para la acción Llamar al punto final de REST.
  9. Con la acción de función de módulo de llamada que acaba de agregar seleccionada, haga clic en Seleccionar Función de Módulo y, en el cuadro de diálogo Seleccionar Función de Módulo que aparece, seleccione saveFile en Funciones de Página y, a continuación, haga clic en Seleccionar.
  10. En la sección Parámetros de Entrada, haga clic en Asignar y, en el cuadro de diálogo Función de Módulo de Llamada que aparece, dibuje una conexión desde el nodo del cuerpo de callRestEndpoint1 en Resultados de la Cadena de Acción hasta el nodo de datos en Parámetros en Destino.
  11. Para los dos parámetros restantes (mimeType y filename), escriba las siguientes expresiones y, para cada parámetro, active la casilla de control Expresión.
    • $page.variables.selectedFile.mimeType
    • $page.variables.selectedFile.name
    Descripción de vb-cec-call-module-function-savefile.png a continuación
    Descripción de la ilustración vb-cec-call-module-function-savefile.png
  12. Haga clic en Guardar.
La página de la aplicación Oracle Visual Builder ahora presenta una lista de los documentos recuperados del almacenamiento de documentos en Oracle Content and Experience. Los usuarios finales pueden seleccionar estos archivos y hacer clic en Descargar para descargar el archivo seleccionado en su dispositivo. A continuación se muestra la descripción de vb-cec-list-download-rt.png
Descripción de la ilustración vb-cec-list-download-rt.png