Formularios

AEM ofrece un servicio de formularios que incorpora datos enviados en un documento de Microsoft Excel o Google Sheet.

El hecho de que los datos enviados a través de formularios en su sitio web se transfieran directamente a hojas de cálculo facilita el acceso a los usuarios empresariales. Estos datos también pueden interactuar con flujos de trabajo automatizados más complejos, ya que tanto las hojas de cálculo de Google como Microsoft Excel y Sharepoint ofrecen acceso a un ecosistema dinámico y a API sólidas.

Preparación de una hoja para la ingesta de datos

  1. Cree un libro de Excel o una hoja de Google en cualquier lugar del directorio del proyecto. Este documento utiliza una hoja de OneDrive llamada email-form.xlsx AEM en la raíz de un proyecto de.

  2. AEM Asegúrese de que el usuario de la (por ejemplo, helix@adobe.com) que está configurado para su proyecto tiene editar permiso en la hoja.

  3. Abra el libro creado y cambie el nombre de la hoja predeterminada a incoming.


    Nota: AEM No se enviará ningún dato a este libro si la variable incoming la hoja no existe.

  4. Previsualice la hoja en la barra de tareas.
    Nota: Incluso si una hoja se ha previsualizado anteriormente, debe volver a previsualizarse después de crear la hoja incoming por primera vez.

  5. Configure la hoja con los encabezados que coincidan con los datos que se están ingiriendo. Puede hacerlo manualmente o enviando una solicitud de POST AEM a la ruta del formulario en el servicio de administración de. El servicio de administración examinará los datos del cuerpo del POST y creará los encabezados, tablas y hojas necesarios para introducir los datos y sacar el máximo partido del servicio de Forms.
    Para obtener más información sobre el formato de la solicitud del POST para configurar la hoja, consulte la API de administración así como el siguiente ejemplo:

    Solicitud:

    code language-none
    POST /form/{owner}/{repo}/{ref}/en/email-form.json HTTP/1.1
    {"data":{"firstName":"test"}}
    

    Respuesta:

    code language-none
    HTTP/1.1 200 OK
    {"rowCount":2,"columns":["firstName"]}
    

    Puede utilizar una herramienta como curl o Postman para realizar esta solicitud de POST. Por ejemplo:

    code language-none
    curl -s -i -X POST 'https://admin.hlx.page/form/{owner}/{repo}/{ref}/en/email-form.json' \
    --header 'Content-Type: application/json' \
    --data '{"data":{"firstName":"test"}}'
    

    A través de la solicitud del POST anterior, proporcionamos datos de ejemplo, es decir, los campos y valores de ejemplo del formulario que el servicio de administración utilizará para configurar el formulario.
    Se recomienda el servicio de administración para configurar la hoja, pero si desea crear los encabezados manualmente, consulte el documento Configuración manual de hojas de Forms.

  6. Después de enviar el POST al servicio de administración verá los siguientes cambios en su libro de trabajo.

    1. Una hoja denominada helix-default se ha creado. Los datos de esta hoja son los que se devuelven cuando se GET se realiza una solicitud a la hoja. Este es un buen lugar para utilizar fórmulas de hoja de cálculo para resumir los datos de la incoming hoja para consumo en otros lugares.

      Nota: El helix-default Esta hoja de datos nunca debe contener información personal identificable u otros datos que usted no esté de acuerdo con ser de acceso público.

    2. Una hoja denominada slack se ha creado. Aquí puede configurar las notificaciones automáticas a un canal de Slack cada vez que se introduzcan datos en la hoja de cálculo. AEM AEM Actualmente, solo admite notificaciones a la organización de Slack de ingeniería de la, así como a la organización de soporte Enterprise de Adobe.

      1. Para configurar las notificaciones del Slack, introduzca la teamId del espacio de trabajo del Slack y de channel nombre o ID. También puedes preguntar al slack-bot (con el debug ) para el teamId y el channel ID. Uso del channel Es preferible el ID en lugar del nombre, ya que sobrevive a los cambios de nombre de canal.

        Nota: Los formularios más antiguos no tenían teamId columna. El teamId se incluyó en la channel columna, separada por una # o /.
      2. Introduzca cualquiera title que desee y en campos introduzca los nombres de los campos que desea ver en la notificación al Slack. Cada encabezado debe separarse con una coma (p. ej., name, email).

Envío de datos a la hoja

La hoja ya está lista para la ingesta de datos y puede enviar POST solicitudes directamente a la hoja en hlx.page, hlx.live o su dominio de producción.

POST https://ref–repo–owner.hlx.(page|live)/email-form
POST https://my-domain.com/email-form

Nota: La dirección URL no debe incluir .json extensión. La hoja debe publicarse para POST operaciones en las que trabajar .live o en el dominio de producción.

Hay varias formas de dar formato a los datos del formulario en la POST cuerpo.

  • Como una matriz de pares de nombre/valor
    https://gist.github.com/dylandepass/9ba6b83700dfce1fa90a47bde62c2e9
  • Como un objeto con pares clave/valor
    <script src=“https://gist.github.com/dylandepass/2b5f694723dfdb3d304fcafc613d6595.js”></script>
  • Como x-www-form-urlencoded cuerpo (content-type el encabezado debe establecerse en application/x-www-form-urlencoded)
    <script src=“https://gist.github.com/dylandepass/b72b2e30313bc80beb02e12b1d7201ff.js”></script>

¡Eso es todo! El servicio Forms se ejecuta cada minuto para que pueda ver rápidamente los datos introducidos en la hoja.

Forms creado por el autor

En muchos casos, es deseable que los autores creen formularios y decidan qué campos de formulario se deben presentar al visitante del sitio web. Es común utilizar el helix-default hoja de la misma hoja de cálculo que se utiliza para el envío del formulario como lugar para permitir que el autor defina sus formularios.

Normalmente, hay un bloque de formularios que toma una referencia a la hoja de cálculo y procesa el formulario y administra el flujo del usuario durante el envío.

Un ejemplo sencillo de un form se puede encontrar el bloque aquí y el bloque de Forms adaptable está disponible aquí.

Cuando necesite formularios con funciones como reCAPTCHA, accesibilidad, cargas de archivos, validaciones de campos, firma electrónica, monitorización del rendimiento, reglas basadas en hojas de cálculo, documento de registro (DoR) y más, utilice el 🔗 Bloque de Forms adaptable. Admite una amplia gama de formularios, desde formularios simples que recopilan información básica (como formularios de contacto o solicitudes de servicio) hasta formularios complejos con varias secciones, reglas e integraciones con Adobe Sign, Adobe Workfront y sistemas externos. Incluso puede utilizarlo para enviar datos a hojas de cálculo o conectarse con sistemas externos para formularios de nivel empresarial. Para obtener más información, consulte 🔗 Documentación de AEM Forms Edge Delivery Services.

Consulte el siguiente ejemplo del aspecto que podría tener la hoja de cálculo para la definición del formulario.

Los campos de formulario admitidos son extensibles y el form debe verse como un ejemplo que le proporcione un punto de partida.

Por ejemplo, se ha añadido un formulario completamente funcional a esta página, utilizando la base de código enumerada anteriormente simplemente añadiendo el siguiente bloque en el documento de Google:

No dude en probarlo y ver el flujo de datos de formulario en hoja entrante. Puede tardar un minuto en pasar del servicio de formularios a la hoja de cálculo.

recommendation-more-help
10a6ce9d-c5c5-48d9-8ce1-9797d2f0f3ec