Clonación de Formularios en Xperience Community Forms Toolkit (v1.0.0-beta.3)
Tabla de contenidos
En la publicación inicial del toolkit, presenté las funcionalidades de exportación de envíos. En v1.0.0-beta.3, el toolkit también incluye un nuevo flujo de clonación de formularios.
Esta versión agrega una acción de Clone form directamente en el listado de formularios, para que los administradores puedan duplicar un formulario existente sin tener que reconstruirlo manualmente.
Instalar o Actualizar
dotnet add package XperienceCommunity.FormsToolkit --version 1.0.0-beta.3
Luego, asegúrate de registrar el toolkit como siempre:
builder.Services.AddFormsToolkit();
// Más adelante, al mapear endpoints:
app.MapControllers();
Clonar un Formulario
Desde Forms, abre las acciones de una fila y selecciona Clone form.

El diálogo de clonación se abre con un nombre prellenado en formato <nombre original> (copy). Puedes mantenerlo o editarlo antes de confirmar.

Después de clonar correctamente, el listado se refresca y muestra un mensaje de éxito.
Qué se Copia
El clon mantiene la estructura y la configuración soportada del formulario de origen, incluyendo:
- Diseño de Form Builder
- Definición y orden de campos
- Configuración de validación y visibilidad
- Mapeos de contacto
- Acceso de roles autorizados
Qué No se Copia
Por diseño, el clon inicia limpio:
- No se copian envíos
- No se copian referencias de uso en páginas/widgets
- No se copian relaciones de notificaciones, autoresponders ni automatizaciones
Esto mantiene el formulario clonado independiente y seguro para ajustarlo antes de usarlo en producción.
Por Qué se Excluyen Estas Relaciones
Este comportamiento es intencional. Evitamos explícitamente el uso de APIs internas y usamos solo APIs públicas soportadas de Xperience.
En el caso de autoresponders, existe una API pública para crear procesos de autoresponder, pero no existe una API pública soportada para leer la configuración existente de autoresponder de un formulario y clonarla de forma segura. Replicar ese comportamiento requeriría depender de APIs internas, que pueden cambiar sin garantías de compatibilidad.
Por la misma razón, las relaciones de notificaciones y automatización no se clonan automáticamente. Mantener estas relaciones de ejecución solo en el formulario de origen evita efectos secundarios ocultos y hace que el clon sea predecible, compatible y seguro en las versiones soportadas de Xperience.
Permisos y Configuración
Los usuarios necesitan el permiso Create en Forms para clonar formularios.
La clonación está habilitada por defecto. Si lo necesitas, puedes deshabilitar solo la clonación y mantener las exportaciones habilitadas:
builder.Services.AddFormsToolkit(options =>
{
options.EnableFormCloning = false;
});
Para más detalles de instalación y uso, revisa el README y la guía de uso.
Eso es todo por hoy.
¡Hasta la próxima publicación!