Editant

Descripción

Editant is a content review and approval plugin for WordPress. Generate a secure preview link for any post, page, or custom post type and share it with reviewers – clients, stakeholders, internal teams, regulators – who can read the rendered content, leave threaded feedback, and approve or request changes. No WordPress login required for reviewers.

Everything runs on your own WordPress instance. There is no SaaS backend, no per-seat fee, and no reviewer data leaves your server.

Qué incluye

  • Enlaces de vista previa con token para cualquier tipo de contenido público, con caducidad configurable y revocación con un solo clic.
  • Acceso de revisores sin inicio de sesión mediante tokens seguros de 256 bits, almacenados con hash.
  • Comentarios en hilos – los revisores y los autores pueden responder dentro de los hilos.
  • Captura opcional de la identidad del revisor: anónima, solo nombre o nombre más correo electrónico.
  • Barra lateral del editor de bloques que muestra hilos de comentarios en vivo junto al contenido que está editando, con actualización automática y manual.
  • Admin dashboard listing every active link with reviewer counts, decisions, and last activity.
  • Approve and Request Changes decisions, recorded with full history.
  • Email notifications for new comments, replies, and decisions.
  • Configurable defaults for new links, email sender, and rate limits via the Settings page.
  • Compatibilidad con tipos de contenido personalizados desde el primer momento.
  • Compatibilidad completa con idiomas RTL en la página del revisor, la barra lateral y el panel.
  • Listo para traducir, con un archivo .pot incluido.
  • Exportador y borrador de datos conforme al RGPD, integrado en las herramientas de privacidad del núcleo de WordPress.

Próximamente (Pro)

Editant Pro añadirá comentarios en línea (anclados al texto), sugerencias al estilo del control de cambios, aprobaciones por quórum de varios revisores, registros de auditoría firmados, fechas límite y recordatorios, control de acceso por enlace (contraseñas, listas de IP permitidas, enlaces de un solo uso), marca blanca y personalización de marca para la página del revisor, y funciones de revisión asistida por IA usando sus propias claves de proveedor.

Privacidad

Editant almacena los comentarios y las decisiones de los revisores en su propia base de datos. Las direcciones IP y los agentes de usuario se cifran mediante hash con un salt específico del sitio antes de almacenarse. El plugin gratuito no envía ningún dato a ningún servicio externo. Las funciones de IA (Pro) requieren que aporte su propia clave de proveedor (OpenAI, Anthropic, Azure OpenAI o modelos locales mediante Ollama) – Editant nunca actúa como intermediario en las llamadas de IA.

Desarrollo

Editant es de código abierto bajo la GPL. El código fuente completo de las interfaces de administración y de revisor (React/JSX y SCSS) se incluye en este plugin en assets/src/. Ejecutar la compilación siguiente produce los archivos de assets/build/ que se distribuyen con el plugin.

Para recompilar desde el código fuente:

  1. Install Node.js 22 or later and PHP 8.1 or later.
  2. From the plugin directory, run composer install and npm install.
  3. Run npm run build.

Archivos de configuración incluidos en el plugin: webpack.config.js, package.json, composer.json. Las dependencias de terceros se declaran en package.json (JavaScript) y composer.json (PHP). La cadena de compilación usa @wordpress/scripts.

Capturas

Instalación

  1. Upload the plugin to your /wp-content/plugins/ directory, or install via Plugins -> Add New.
  2. Activate Editant through the Plugins menu.
  3. Open any post, page, or supported custom post type in the block editor, click the Editant icon in the sidebar, and generate a review link.
  4. Copie el enlace y envíelo a su revisor.

Requisitos:

  • WordPress 6.6 o posterior
  • PHP 8.1 o posterior
  • MySQL 5.7+ o MariaDB 10.4+
  • Enlaces permanentes descriptivos activados (Ajustes -> Enlaces permanentes configurado en cualquier opción distinta de «Simple»)
  • El editor de bloques de WordPress (Gutenberg). El plugin Classic Editor no es compatible.

FAQ

¿Necesitan los revisores una cuenta de WordPress?

No. Reviewers click the link you send them and access the preview directly. You can optionally require them to enter a name, or a name plus email, before they can comment.

¿Qué contenido puedo enviar para revisión?

Entradas, páginas y cualquier tipo de contenido personalizado público. Todos se tratan de la misma manera – generar un enlace, compartirlo, recopilar opiniones y decisiones.

¿Puedo revocar un enlace después de compartirlo?

Yes. From the dashboard, open the link and click Revoke. The token is invalidated immediately and any subsequent access returns a 404.

¿Qué ocurre cuando un enlace caduca?

The link returns a 404. You can regenerate it (which produces a fresh token and soft-revokes the old one) or extend the expiry from the dashboard.

My reviewer link returns «Page not found». What’s wrong?

This is almost always a WordPress rewrite-rules cache that has not picked up Editant’s review URLs yet. Go to Settings -> Permalinks, do not change anything, and click Save Changes. That regenerates the rewrite rules and the review URLs become routable.

Esto puede ocurrir la primera vez que activa Editant, o después de cambiar la estructura de sus enlaces permanentes. Editant intenta actualizar las reglas de reescritura automáticamente al activarse, pero en algunos alojamientos la actualización no siempre se mantiene. La misma solución se aplica si el síntoma vuelve a aparecer más tarde.

Also confirm that Settings -> Permalinks is not set to «Plain». Editant requires pretty permalinks; any of the other settings (Post name, Day and name, etc.) is fine.

¿Funciona esto con los tipos de contenido personalizados?

Sí. Editant admite cualquier tipo de contenido personalizado público registrado con show_in_rest y public establecidos en true.

¿Se envían los datos de los revisores a algún lugar fuera de mi sitio?

No. Los comentarios, las decisiones y los datos de los revisores se almacenan en su base de datos de WordPress. Las direcciones IP y los agentes de usuario se cifran mediante hash antes de almacenarse con un salt específico del sitio.

¿Puedo personalizar el estilo de la página de vista previa?

La página de vista previa del revisor se distribuye con estilos neutros y autónomos. La personalización de marca, los colores de marca, los logotipos y los controles de estilo basados en la interfaz para la página del revisor están previstos como parte de Editant Pro.

For developers, the preview renderer also exposes filter hooks (editant_template_path for full template overrides, and editant_preview_html_head / editant_preview_html_footer for injecting custom markup into the page head and footer) that allow theme-side customisation. See the plugin source for usage.

¿Funciona Editant con el Classic Editor?

No. Editant is a block editor plugin. The sidebar where you create and manage review links registers against the WordPress block editor (Gutenberg). If you use the Classic Editor plugin, or have classic mode enabled on a per-post basis, the Editant sidebar will not appear on those posts.

¿Cómo desinstalo por completo?

Deactivate and delete the plugin from the Plugins page. Editant’s uninstall.php removes the four custom database tables (editant_links, editant_reviewers, editant_comments, editant_approvals), the per-site hash salt, the plugin settings, and the registered capabilities.

¿Es esto compatible con multisitio?

Sí. Cada subsitio obtiene su propio conjunto de tablas y enlaces. Se admite la activación en red.

Reseñas

No hay valoraciones para este plugin.

Colaboradores y desarrolladores

«Editant» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

Traduce «Editant» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

1.2.1

  • Novedad: Un punto de extensión por comentario en la barra lateral de revisión del editor, para que Editant Pro pueda añadir una acción por comentario; los datos de comentarios de administración ahora indican si un comentario está anclado a un rango de texto. Un punto de extensión sin rellenar no muestra nada, por lo que el flujo de revisión independiente no cambia.
  • Corrección: Los valores del límite de frecuencia de revisores establecidos a través del punto de acceso REST de ajustes ahora se aplican – antes se almacenaban con claves que el limitador de frecuencia no leía. Los controles de la página de ajustes no se vieron afectados. Sin cambios en la base de datos.

1.2.0

  • Novedad: La barra lateral de revisión del editor se ha reorganizado en pestañas con secciones plegables, agrupando el flujo de trabajo de revisión (comentarios, decisiones) y los enlaces de revisión en sus propias pestañas para que cada uno sea más fácil de manejar. Editant Pro añade sus propias secciones en las pestañas correspondientes.
  • Novedad: Las insignias de no leído señalan la actividad de los revisores – nuevos comentarios y decisiones que aún no ha abierto – en las secciones de la barra lateral y en la pestaña Revisión. El estado de visto es por usuario y se mantiene entre recargas. Sin cambios en el flujo de revisión independiente ni en la base de datos.

1.1.2

  • Novedad: Compatibilidad con marca blanca para la página de vista previa del revisor. Dos filtros, editant/preview/brand_name y editant/preview/brand_logo, permiten que una extensión (Editant Pro) sustituya el nombre de marca de la cabecera y muestre un logotipo; el color de acento y el pie de la página del revisor se pueden personalizar mediante los filtros de cabecera/pie de vista previa existentes y las variables CSS.
  • Corrección: la página de vista previa del revisor ahora envía una declaración de conjunto de caracteres, una dirección de idioma del documento y el nombre del sitio en el título de la página correctos (antes estaban vacíos). Sin cambios en el flujo de revisión independiente ni en la base de datos.

1.1.1

  • Novedad: Puntos de extensión para Editant Pro y otras extensiones. Los ajustes por enlace ahora conservan un espacio de nombres de extensión, de modo que una extensión puede almacenar sus propias opciones por enlace (por ejemplo, controles de acceso) sin un cambio de esquema. Un nuevo filtro editant/preview/access permite que una extensión controle el acceso de los revisores a un enlace. La lista de enlaces de la barra lateral del editor y la vista de detalle de entrada del panel exponen Slots para que las extensiones añadan sus propios controles.
  • Interno: las solicitudes de vista previa pasan por una nueva etapa de middleware de control de acceso que es transparente cuando ninguna extensión se suscribe, por lo que el flujo de revisión independiente no cambia. Sin cambios en la base de datos.

1.1.0

  • Novedad: Base para los comentarios en línea (anclados al texto) y las sugerencias de Editant Pro. Free Core ahora almacena un ancla opcional en los comentarios de los revisores y marca cada bloque de la página de vista previa del revisor con su posición, incluidos los bloques anidados, de modo que las extensiones puedan adjuntar opiniones a un bloque concreto. El flujo de revisión independiente no cambia.
  • Interno: se añadió una columna anchor anulable a la tabla de comentarios, propiedad de Free Core y presente en cada instalación; la versión del esquema se aumentó a 2 y se aplica de forma idempotente en los sitios existentes en la siguiente carga de una página de administración. Se añadieron protecciones ABSPATH defensivas a los puntos de entrada de Ajustes y de la barrera de publicación.

1.0.0

  • Novedad: La página de ajustes ahora expone valores predeterminados configurables para nuevos enlaces de revisión (caducidad, identificación del revisor), remitente de correo electrónico (nombre, dirección) y límites de frecuencia por IP (lectura, escritura). Cada campo incluye una descripción emergente en línea. Los campos de correo electrónico vacíos recurren al valor predeterminado de WordPress.
  • Novedad: La vista previa «Funciones de Editant Pro» en la página de ajustes enumera los controles de acceso, las aprobaciones firmadas, las políticas de retención y las integraciones que llegarán en Editant Pro.
  • Cambiado: Probado hasta WordPress 7.0.
  • Cambiado: Se ha renovado el icono de la barra lateral del editor para usar la silueta de la marca Editant, diferenciándolo de la nueva función Notes de WordPress 7.0.
  • Interno: se ha mejorado la respuesta de validación en la página de ajustes; la sección «Tokens de aplicación» se oculta cuando ninguna extensión se suscribe.

0.10.0

  • Novedad: Ocho hooks de extensión para Editant Pro y otras extensiones de Editant. editant/comment/render_chrome decora el HTML de los comentarios. editant/decision/recorded permite que los suscriptores observen los eventos de aprobación / solicitud de cambios. editant/link/validate_settings amplía la validación de los ajustes del enlace. editant/reviewer/kinds registra nuevos tipos de revisor. editant/admin/token_issuance_panel integra la interfaz en la página de ajustes. editant/event/dispatch es un bus de eventos para el registro de auditoría. editant/publish/gate_check permite que las extensiones veten las publicaciones. editant/activator/setup_blog se ejecuta junto a la configuración por blog de Free Core.
  • Novedad: Página de administración de ajustes (Editant -> Ajustes) como host de slot para la interfaz de tokens de aplicación. Capacidad: manage_options.
  • Interno: el filtro heredado editant_link_settings_validate se ha sustituido por editant/link/validate_settings (contrato de array de errores). Sin cambios visibles para el usuario.
  • Interno: las firmas de los métodos de servicio ganaron un parámetro int $actorUserId donde la identidad del actor no se pasaba ya (LinkService::revoke, LinkService::updateSettings, LinkService::updateExpiry, CommentService::setStatus, CommentService::setThreadStatus). API interna; sin cambios de comportamiento para los usuarios finales.

0.9.3

  • Seguridad: los puntos de acceso REST de administración ahora requieren la capacidad de Editant correspondiente (editant_view_links para lecturas, editant_manage_links para escrituras) además de la comprobación edit_post por entrada existente. Cierra una brecha por la que los usuarios a los que un plugin de terceros o un rol personalizado les había concedido edit_post podían acceder a los datos de enlaces de Editant sin tener las capacidades de Editant. Enviado a WordPress.org directamente a través de SVN en respuesta a los comentarios de la revisión del plugin sobre el envío de la versión 0.9.2.

0.9.2

  • Seguridad: se ha añadido una sanitización explícita de límites en los puntos de acceso públicos que ven los revisores (captura de identidad, comentarios, decisiones).
  • Se ha eliminado la atribución «Powered by Editant» de la página de vista previa del revisor.
  • El código fuente del JavaScript y el CSS empaquetados ahora se distribuye con el plugin en assets/src/, junto con la configuración de compilación (composer.json, package.json, webpack.config.js).
  • Documentación: se ha añadido una sección de Desarrollo al readme que cubre la estructura del código fuente y los pasos de recompilación. Se han aclarado los hooks de filtro para la personalización de la página de vista previa disponibles para los desarrolladores de temas.

0.9.1

  • La barra lateral del editor ahora aparece en Páginas y en cualquier tipo de contenido personalizado público, no solo en Entradas (migrada de @wordpress/edit-post a @wordpress/editor).
  • El menú de administración ha pasado de ser un submenú bajo Entradas a un elemento de menú de nivel superior.
  • El icono del menú ahora se adapta al tema: la silueta SVG cambia de color según el esquema de colores de administración de WordPress.
  • Al eliminar permanentemente una entrada ahora también se eliminan sus enlaces, revisores, comentarios y decisiones de Editant asociados.
  • Las etiquetas visibles para el usuario en el panel de administración se han hecho neutrales respecto al tipo de contenido («elemento», «título», «contenido» en lugar de «entrada»).
  • Documentación: se ha aclarado que Editant requiere el editor de bloques y que el plugin Classic Editor no es compatible.
  • Documentación: se ha añadido una entrada de preguntas frecuentes que cubre la actualización de las reglas de reescritura necesaria cuando los enlaces de revisión devuelven un 404 inmediatamente después de la instalación.
  • Interno: se ha introducido una capa de interfaz de repositorio en los cuatro repositorios de la ruta de datos; despachador de activación compatible con multisitio.

0.9.0

Versión preliminar inicial.

Experiencia del revisor

  • Enlaces de vista previa con token con caducidad, revocación y regeneración configurables.
  • Acceso sin inicio de sesión; captura opcional de identidad por nombre o nombre + correo electrónico.
  • Comentarios en hilos y decisiones de aprobar / solicitar cambios.

Experiencia de autoría

  • Barra lateral del editor de bloques con actualizaciones de hilos en vivo (actualización automática y manual).
  • Responda a los comentarios de los revisores desde dentro del editor.

Panel de administración

  • Vista de lista de administración con recuentos de enlaces, actividad de revisores y resúmenes de decisiones.
  • Vista de detalle por elemento que muestra todos los enlaces, hilos y decisiones en una sola pantalla.

Notificaciones

  • Notificaciones por correo electrónico mediante wp_mail para nuevos comentarios, respuestas y decisiones.

Internacionalización y accesibilidad

  • Compatibilidad completa con RTL en la página del revisor, la barra lateral y el panel.
  • Todas las cadenas visibles para el usuario son traducibles; se incluye un archivo .pot.

Privacidad y seguridad

  • Tokens generados con random_bytes(32); almacenados únicamente como hashes SHA-256.
  • Salt de hash específico del sitio para las huellas de IP, correo electrónico y agente de usuario.
  • Limitación de frecuencia en todos los puntos de acceso públicos.
  • Exportador y borrador de datos personales conforme al RGPD, registrado en las herramientas de privacidad del núcleo de WordPress.
  • X-Robots-Tag: noindex, nofollow, noarchive y Cache-Control: no-store en cada respuesta de vista previa.

Calidad

  • Conjunto de pruebas de PHPUnit que cubre valores de dominio, servicios, repositorios y clases de privacidad.
  • Prueba de extremo a extremo con Playwright para el flujo ideal del revisor.