Cargar fotos en Oracle Content and Experience

Cargue fotografías en Oracle Content and Experience desde las aplicaciones que desarrolle en Oracle Visual Builder.

Para cargar una foto del dispositivo o la cámara del dispositivo de un usuario con una aplicación de Oracle Visual Builder, necesita tres cosas:

  1. Una conexión de servicio que expone el punto final Cargar Archivo para cargar la foto devuelta por la acción Hacer Foto. El punto final que utiliza para cargar una foto es el mismo punto final que carga otros tipos de archivo. Para crear este punto final, consulte Creación de un Punto Final para Cargar Archivos.
  2. Componente de interfaz de usuario, como un botón, que el usuario pulsa para llamar a la cadena de acción que incluye la acción Seleccionar Foto que Oracle Visual Builder proporciona para facilitar la implantación de casos de uso en los que los usuarios realizan fotos.
  3. Cadena de acción que carga la foto devuelta por la acción Hacer Foto utilizando el punto final Cargar Archivo.

Necesita una conexión de servicio a la API de REST para los documentos para proporcionar acceso al punto final Cargar archivo. Una vez que haya creado la conexión de servicio y el punto final, utilice cadenas de acción en su aplicación para hacer una foto y cargarla en Oracle Content and Experience.

Prepararse para utilizar la acción Hacer Foto en su aplicación Oracle Visual Builder

Puede utilizar la acción Hacer Foto de Oracle Visual Builder para hacer una foto de una cámara de dispositivo móvil o seleccionar una imagen de una galería de fotos para cargar en Oracle Content and Experience.

Para utilizar la acción Hacer Foto para cargar fotos en Oracle Content and Experience, realice las siguientes tareas avanzadas:

  1. Agregue una variable folderID en la página de su aplicación para identificar la carpeta en el almacenamiento de documentos de Oracle Content and Experience, donde el punto final de carga de archivo cargará la foto.
  2. Escribir una función de módulo de llamada para generar un nombre de archivo aleatorio a fin de asignarlo a la fotografía cargada. Si no asigna un nombre de archivo, la foto cargada aparece como blob en la vista Documentos de Oracle Content and Experience porque la acción Hacer Foto devuelve un objeto de datos binario sin un nombre de archivo asociado.

Una vez realizadas estas tareas, puede agregar un componente de la interfaz de usuario, como un botón, para que los usuarios puedan llamar a una cadena de acción que incluya la acción Hacer Foto y un punto final de llamada de REST que llame al punto final Cargar 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 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.

Esta variable identifica la ubicación de la carpeta en la que el punto final Cargar Archivo carga el archivo. El valor por defecto de self especifica el directorio raíz de Documentos.

Descripción de vb-cec-variable-folderid.png
Descripción de la ilustración vb-cec-variable-folderid.png

Para escribir una función de módulo de llamadas para generar un ID de archivo aleatorio:

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() { };
  
  // Generate  random file name.
  PageModule.prototype.generateRandomID = function () {
    var randomID = Math.floor((Math.random() * 10000000000000) + 1);
    return randomID.toString();;
  };
  // ...
  return PageModule;
});
Descripción de vb-cec-function-call-code.png
Descripción de la ilustración vb-cec-function-call-code.png

Llamar a la acción Hacer Foto y cargar punto final de archivo

Agregará un componente de botón en el que los usuarios deben hacer clic o tocar para llamar una cadena de acción que incluya la acción Realizar Foto que devuelve una foto que el punto final Cargar Archivo carga en Oracle Content and Experience.

Para agregar un componente de botón para que los usuarios puedan llamar al punto final Realizar Foto y Cargar Archivo:
  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 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 acciones.
  4. 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 generateRandomID en Funciones de Página y, a continuación, haga clic en Seleccionar.
  5. En el lienzo Cadena de acciones, introduzca Take en el campo de entrada Filtro en Acciones y, a continuación, arrastre y suelte la acción Seleccionar fotografía en el lienzo Cadena de acciones.
  6. 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.
  7. Con la acción Llamar al Punto Final REST que acaba de agregar seleccionada, haga clic en el botón Seleccionar Punto Final.
  8. En el cuadro de diálogo Seleccionar Punto Final, seleccione el punto final Cargar Archivo que ha agregado al crear la conexión de servicio a Oracle Content and Experience y, a continuación, haga clic en Seleccionar.
  9. En el lienzo Cadena de acciones, seleccione la acción de punto final Llamar a REST y, en el campo de entrada Tipo de contenido, introduzca multipart/form-data.
  10. En Parámetros, haga clic en Cuerpo para llamar al cuadro de diálogo Llamar a Punto Final REST, donde puede escribir la siguiente expresión de contenido estático para el parámetro del cuerpo para cargar el archivo devuelto por la acción Hacer Foto. Una parte de la expresión es un objeto JSON (jsonInputParameters) con la parentID emparejada con una variable de página folderID y la otra parte es la propia foto (primaryFile).
    {
     "jsonInputParameters": "{{ '{ \"parentID\":\"' + $page.variables.folderId + '\"}' }}",
     "primaryFile": "{{ $chain.results.takePhoto1.file }}" 
    }
    
    A continuación se muestra la descripción de vb-cec-takephoto-expression.png
    Descripción de la ilustración vb-cec-takephoto-expression.png
  11. Haga clic en Guardar.
  12. En el editor de metadatos de la página, ubique la entrada para la acción Llamar punto final de REST que carga la foto devuelta por la acción Hacer Foto y agregue la siguiente entrada para que la foto cargada tenga un nombre de archivo y una extensión de nombre de archivo (.png) cuando se cargue en Oracle Content and Experience.
    "CallRestEndpoint1": {
              "module": "vb/action/builtin/restAction",
              "parameters": {
                "endpoint": "documentsApi1_2/postFilesData",
                "body": {
                  "jsonInputParameters": "{{ '{ \"parentID\":\"' + $page.variables.folderId + '\"}' }}",
                  "primaryFile": "{{ $chain.results.takePhoto1.file }}"
                },
                "contentType": "multipart/form-data",
                "uriParams": {
                  "filename": "{{ $chain.results.callModuleFunction1 + \".png\" }}"
                }
              },
              ...
              }
            }
    
    A continuación se muestra la descripción de vb-cec-takephoto-appendfilename.png
    Descripción de la ilustración vb-cec-takephoto-appendfilename.png
La aplicación ahora contiene una página con un componente Botón para permitir a los usuarios finales tomar o seleccionar fotos que se pueden cargar en Oracle Content and Experience.