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
-
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. -
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.
-
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 variableincoming
la hoja no existe. -
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 hojaincoming
por primera vez. -
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. -
Después de enviar el
POST
al servicio de administración verá los siguientes cambios en su libro de trabajo.-
Una hoja denominada
helix-default
se ha creado. Los datos de esta hoja son los que se devuelven cuando seGET
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 laincoming
hoja para consumo en otros lugares.
Nota: Elhelix-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. -
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.- Para configurar las notificaciones del Slack, introduzca la
teamId
del espacio de trabajo del Slack y dechannel
nombre o ID. También puedes preguntar al slack-bot (con eldebug
) para elteamId
y elchannel
ID. Uso delchannel
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íanteamId
columna. ElteamId
se incluyó en lachannel
columna, separada por una#
o/
. - 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
).
- Para configurar las notificaciones del Slack, introduzca la
-
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 enapplication/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.