DataLife Engine v21.0 Final Release
DataLife Engine 21.0 ya está disponible en su versión final. Esta actualización incorpora cambios importantes en las plantillas incluidas con el CMS, el sistema de boletines por correo electrónico, la autenticación mediante Telegram, los campos adicionales dinámicos, el editor visual, el reproductor multimedia, la seguridad y el rendimiento general del sistema.
En DLEZona hemos preparado esta versión en español tomando como referencia la publicación oficial, reorganizando y adaptando el texto para que resulte más claro y natural, pero manteniendo el orden y el sentido técnico de cada una de las novedades anunciadas.

Principales novedades de DataLife Engine 21.0
Estos son los cambios desarrollados e incorporados en esta versión:

1. Nuevas plantillas incluidas con DataLife Engine
Las plantillas de demostración incluidas con DataLife Engine han sido reemplazadas por diseños completamente nuevos, desarrollados siguiendo principios modernos de maquetación HTML.
Los nuevos templates son ligeros y no dependen de frameworks externos que aumenten innecesariamente el peso de las páginas. Se ha buscado un estilo lo más neutral posible para que puedan servir como base en sitios de distintas temáticas.
Además, las nuevas plantillas integran ampliamente las funciones de DLE con fines demostrativos e incluyen distintas formas de mostrar publicaciones en varias columnas. Todas ofrecen:
- Diseño completamente adaptable a móviles, tablets y pantallas de escritorio.
- Modo claro y modo oscuro.
- Cambio manual entre ambos modos.
- Varias opciones de color de acento.
- Una estructura ligera y moderna sin frameworks de terceros.

2. Nuevo sistema de boletines por correo electrónico
El módulo de envío de boletines desde el panel de administración fue completamente reescrito. Ahora deja de ser una simple herramienta para enviar correos y se convierte en un sistema completo para administrar campañas de correo electrónico.
Es posible crear múltiples boletines y administrarlos de forma independiente. Cada boletín puede tener una fecha de inicio programada para comenzar automáticamente cuando llegue el momento establecido.
También puede elegirse cómo se realizará el envío:
- Automáticamente mediante las visitas al sitio: los correos se envían progresivamente a medida que se reciben solicitudes en la web.
- Mediante una tarea Cron: el servidor procesa los envíos sin afectar los tiempos de respuesta que perciben los visitantes.
Los boletines pueden activarse, pausarse, editarse y administrarse mediante acciones masivas.

3. Inicio de sesión mediante Telegram
DataLife Engine 21.0 añade compatibilidad con la autorización de usuarios mediante Telegram. La función puede activarse desde la configuración del CMS, donde también se introducen los parámetros necesarios de la aplicación.
Para integrar esta opción en las plantillas main.tpl y login.tpl se incorporan las siguientes etiquetas:
[telegram] texto [/telegram]
{telegram_url}
[telegram]...[/telegram] muestra su contenido cuando el inicio de sesión mediante Telegram está habilitado, mientras que {telegram_url} devuelve la dirección utilizada para realizar la autorización.
En userinfo.tpl también se añaden:
[attached-telegram] texto [/attached-telegram]
[detach-telegram] texto [/detach-telegram]
Estas etiquetas permiten detectar si la cuenta está vinculada a Telegram y mostrar un enlace para desvincularla.

4. Campos adicionales dinámicos para publicaciones
El sistema de campos adicionales incorpora ahora campos dinámicos. Este tipo de campo permite crear nuevas instancias directamente mientras se agrega o edita una publicación.
Desde las opciones del campo se puede indicar que será dinámico, definir el separador utilizado al mostrar sus valores y establecer el número máximo de elementos que un usuario podrá añadir en una publicación.
Valores generales:
[xfvalue_field_name item="X"]
[xfvalue_field_name limit="X2" item="X"]
La primera devuelve el valor del elemento dinámico número X. La segunda limpia el HTML y limita el resultado a X2 caracteres.
Campos de tipo imagen:
[xfvalue_thumb_url_field_name item="X"]
[xfvalue_image_url_field_name item="X"]
[xfvalue_image_description_field_name item="X"]
Campos de tipo galería:
[xfvalue_field_name image="Nr" item="X"]
[xfvalue_field_name image-url="Nr" item="X"]
[xfvalue_field_name image-thumb-url="Nr" item="X"]
[xfvalue_field_name image-description="Nr" item="X"]
Estas etiquetas permiten obtener una imagen concreta de una galería, su URL completa, la miniatura o su descripción.
Campos de tipo video:
[xfvalue_field_name video="Nr" item="X"]
[xfvalue_field_name video-url="Nr" item="X"]
[xfvalue_field_name video-description="Nr" item="X"]
Campos de tipo audio:
[xfvalue_field_name audio="Nr" item="X"]
[xfvalue_field_name audio-url="Nr" item="X"]
[xfvalue_field_name audio-description="Nr" item="X"]
Fecha y hora:
[xfvalue_field_name format="Format" item="X"]
El parámetro format utiliza el formato de fecha y hora de PHP, por ejemplo format="j F Y H:i".
Comprobaciones condicionales:
[xfgiven_field_name item="X"] texto [/xfgiven_field_name]
[xfnotgiven_field_name item="X"] texto [/xfnotgiven_field_name]
[ifxfset fields="field_name" item="X"] texto [/ifxfset]
[ifxfnotset fields="field_name" item="X"] texto [/ifxfnotset]
[ifxfvalue field_name="value" item="X"] texto [/ifxfvalue]
[ifxfvalue field_name!="value" item="X"] texto [/ifxfvalue]
Con estas etiquetas es posible comprobar si un elemento dinámico tiene valor, si está definido o si coincide —o no— con un valor determinado.
5. Campos dinámicos en los perfiles de usuario
El mismo sistema de campos dinámicos también está disponible para los campos adicionales de perfiles de usuario.
En plantillas de perfil como userinfo.tpl, profile_popup.tpl y comments.tpl:
[xfvalue_field_name item="X"]
[xfvalue_field_name format="Y-m-d" item="X"]
[xfgiven_field_name item="X"]Texto[/xfgiven_field_name]
[xfnotgiven_field_name item="X"]Texto[/xfnotgiven_field_name]
[ifxfvalue field_name="value" item="X"]Texto[/ifxfvalue]
[ifxfset fields="field_name" item="X"]Texto[/ifxfset]
[ifxfnotset fields="field_name" item="X"]Texto[/ifxfnotset]
En plantillas globales como login.tpl, main.tpl, shortstory.tpl y fullstory.tpl:
[profile_xfvalue_field_name item="X"]
[profile_xfvalue_field_name format="Y-m-d" item="X"]
[profile_xfgiven_field_name item="X"]Texto[/profile_xfgiven_field_name]
[profile_xfnotgiven_field_name item="X"]Texto[/profile_xfnotgiven_field_name]
[ifprofilexfset fields="field_name" item="X"]Texto[/ifprofilexfset]
[ifprofilexfnotset fields="field_name" item="X"]Texto[/ifprofilexfnotset]
Estas etiquetas permiten utilizar de forma mucho más flexible la información almacenada en los perfiles de los autores y usuarios.
6. Nueva función para compartir publicaciones
Se incorpora una función nativa para compartir publicaciones utilizando las capacidades del navegador y del sistema operativo del visitante.
En un dispositivo móvil, por ejemplo, puede abrir directamente el menú del sistema con las aplicaciones de mensajería o redes sociales instaladas.
Para implementarla se añade en shortstory.tpl y fullstory.tpl:
[share] texto [/share]
El contenido encerrado entre estas etiquetas se convierte en el control utilizado para compartir la publicación.
Importante: esta función requiere que el sitio utilice HTTPS, ya que la API del navegador utilizada para compartir contenido solo funciona en contextos seguros.
Base de datos, seguridad, IA y contenido embebido
7. Nuevos índices para optimizar MySQL
Se realizó una auditoría extensa de los índices utilizados por las tablas de la base de datos y se añadieron nuevos índices compuestos. El objetivo es reducir la carga sobre MySQL al mostrar publicaciones y acelerar consultas que, en determinadas configuraciones, podían resultar costosas.
Información importante para sitios con bases de datos muy grandes
Realiza la actualización durante las horas de menor tráfico. Antes de comenzar, elimina o amplía temporalmente los límites de tiempo de respuesta del servidor y de ejecución de scripts, ya que la creación de nuevos índices en tablas muy grandes puede tardar bastante tiempo en MySQL.

8. Administración de proveedores oEmbed
El panel de administración incorpora una nueva sección dedicada a gestionar los proveedores oEmbed utilizados para insertar contenido multimedia dentro de las publicaciones.
- Editar proveedores existentes.
- Actualizar sus endpoints si cambian.
- Eliminar proveedores que no se utilizan.
- Agregar proveedores personalizados.
9. Nueva base de datos de geolocalización por IP
DataLife Engine incorpora una nueva base de datos para determinar el país correspondiente a una dirección IP. La base es compilada por los desarrolladores de DLE combinando datos de cuatro fuentes independientes y priorizando la información más reciente y relevante.
- IPLocate.io
- IP2Location
- MaxMind GeoLite2
- db-ip.com
10. Identificación más precisa de bots de buscadores
Se introduce un nuevo sistema para identificar bots de motores de búsqueda mediante ASN (Autonomous System Number). Esto permite verificar que una IP pertenece realmente a la organización que afirma representar.
Cuando existen restricciones por país pero se permite el acceso a buscadores, la detección resulta más precisa y se evita que un scraper malicioso pueda hacerse pasar por un bot legítimo simplemente falsificando el User Agent.
11. Moderación con IA más completa
La moderación automática de comentarios mediante inteligencia artificial amplía sus capacidades. Además de detectar insultos, ahora puede identificar:
- Publicidad explícita o disimulada.
- Spam evidente.
- Flood o mensajes repetitivos.
- Contenido sin sentido formado por cadenas aleatorias de caracteres.

Editor visual y multimedia
12. Menú rápido para comenzar nuevos bloques
El editor visual añade una forma más rápida de comenzar un nuevo párrafo utilizando el tipo de bloque que necesites. Cuando el cursor se encuentra en una línea nueva aparece un botón de acciones rápidas.
- Encabezados.
- Listas.
- Imágenes.
- Videos.
- Otros bloques compatibles con el editor.
Esto evita buscar continuamente las opciones en la barra principal y hace más ágil la creación de publicaciones.

13. Inserción de texto antes o después de bloques
Los bloques propios de DataLife Engine utilizados dentro del editor ahora permiten colocar rápidamente el cursor antes o después de ellos para continuar escribiendo. La mejora resulta especialmente útil cuando un bloque está al final del contenido o cuando varios bloques aparecen uno junto a otro.
14. Gestión visual de contenido obtenido desde servicios multimedia
El contenido obtenido desde servicios multimedia puede administrarse directamente de forma visual dentro del editor. Ya no es necesario trabajar con las antiguas etiquetas BBCode de medios: al pegar la dirección de una página compatible, el editor muestra inmediatamente el resultado devuelto por el servicio.
- Cambiar el tamaño del bloque.
- Moverlo a otra posición.
- Eliminarlo con un clic.
- Editar su enlace haciendo doble clic.
15. Lista de proveedores oEmbed actualizada
La lista de proveedores compatibles con el protocolo oEmbed fue actualizada por completo y ahora utiliza la lista completa publicada por oembed.com.
16. Compatibilidad con VK Video
Se añade compatibilidad para insertar videos alojados en VK Video. Aunque el servicio no ofrece un oEmbed público, DLE puede convertir automáticamente el enlace al formato necesario para incrustar el video en el sitio.

17. Control visual completo de videos
El editor de publicaciones permite ahora administrar visualmente la inserción y edición de videos. Las antiguas etiquetas BBCode dejan de ser necesarias para esta tarea.
- Cambiar las dimensiones del reproductor.
- Modificar la alineación.
- Mover el bloque.
- Eliminarlo con un clic.
- Abrir la lista de reproducción haciendo doble clic.
- Agregar o eliminar elementos de la lista rápidamente.
18. Controles visuales para audio
El reproductor de audio recibe el mismo sistema de administración visual disponible para los videos, incluyendo las opciones necesarias para gestionar sus elementos directamente desde el editor.
19. Miniaturas automáticas generadas desde el video
El reproductor puede generar automáticamente una imagen de portada utilizando un fotograma del propio archivo de video cuando no se haya definido un póster manualmente. De esta manera, el reproductor ya no tiene por qué aparecer como un rectángulo negro antes de iniciar la reproducción.
Esta generación automática funciona cuando la precarga de metadatos de video se encuentra habilitada en la configuración del reproductor.

20. Reproductor de video rediseñado y optimizado
El reproductor de DataLife Engine ha recibido una importante renovación visual para mejorar su apariencia y aprovechar mejor el espacio disponible.
- Un diseño actualizado y más moderno.
- Visualización de la duración total durante la reproducción.
- Mejor detección automática de enlaces de YouTube.
- Mejoras importantes de rendimiento.
- Correcciones de errores detectados durante su funcionamiento.
21. Selección manual de calidad en HLS
Cuando se reproducen transmisiones HLS, el usuario puede seleccionar manualmente la calidad del video. Esto puede ser útil cuando la selección automática no funciona correctamente o cuando se desea controlar directamente la calidad utilizada.
22. Selección de pista de audio en HLS
El reproductor permite seleccionar la pista de audio de una transmisión HLS cuando el flujo contiene varias pistas, por ejemplo, diferentes idiomas, doblajes o comentarios de audio.
23. Compatibilidad con subtítulos
Se añade compatibilidad con subtítulos dentro del reproductor de DataLife Engine. Cuando la transmisión proporciona pistas de subtítulos, el usuario puede activarlas y seleccionar la que desea utilizar directamente desde el reproductor.
24. Reproducción mediante enlaces indirectos
El reproductor admite transmisiones obtenidas desde direcciones que no incluyen directamente una extensión de archivo como .mp4 o .m3u8. Mientras la URL entregue realmente un flujo de video, DataLife Engine intentará determinar automáticamente su tipo.
Esto permite trabajar, por ejemplo, con transmisiones en vivo o servicios que utilizan sus propios formatos de URL.

25. Gestión visual de etiquetas iframe
Los iframe provenientes de fuentes permitidas también pueden administrarse visualmente dentro del editor. El bloque puede seleccionarse, moverse, alinearse, cambiar de tamaño arrastrando sus esquinas y eliminarse directamente desde el editor.

Administración, plantillas y sistema de plugins
26. Selector visual de países
Las opciones del panel relacionadas con restricciones o permisos por país incorporan un nuevo selector. Ya no es necesario memorizar o buscar códigos ISO: DLE muestra una lista completa de países con búsqueda rápida.
27. Selector de categorías mejorado
El módulo utilizado para seleccionar categorías al crear o editar publicaciones fue rediseñado. Cuando una búsqueda devuelve una subcategoría, ahora también se muestra la jerarquía completa de categorías superiores, algo especialmente útil cuando varias subcategorías tienen el mismo nombre.
También se han corregido diferentes problemas de selección de categorías en dispositivos móviles.
28. Reordenamiento de acciones de plugins mediante Drag & Drop
El sistema de plugins permite cambiar mediante arrastrar y soltar el orden de las acciones aplicadas a un mismo archivo. Esto facilita controlar el orden en el que deben ejecutarse las modificaciones realizadas por un plugin.
29. Aviso automático cuando se pierde la sesión
Se incorpora un sistema de supervisión que detecta si el usuario pierde la autorización mientras está escribiendo o editando una publicación.
Si una sesión caduca, cambia la dirección IP con el control de IP activado o se produce otra situación que invalide la sesión, DLE mostrará una notificación antes de que el usuario intente guardar. El objetivo es evitar la pérdida del trabajo y permitir copiar o respaldar el contenido.
30. Vista previa renovada en la importación RSS
La vista previa utilizada en la importación de publicaciones mediante RSS fue rediseñada y ahora coincide con la vista previa disponible al crear o editar publicaciones. La interfaz general de esta sección del panel también fue actualizada.
31. Nuevo funcionamiento para el ordenamiento personalizado
Los algoritmos utilizados cuando un visitante cambia el orden de las publicaciones fueron reescritos. La selección se aplica mediante una solicitud AJAX sin enviar datos POST, por lo que cambiar el orden ya no interfiere con el botón Atrás del navegador.
32. Nueva etiqueta {xfsearchtag}
Al visualizar páginas que muestran publicaciones a partir de determinados campos adicionales mediante referencias cruzadas, ahora puede obtenerse en main.tpl el valor utilizado para realizar la búsqueda.
{xfsearchtag}
Esta etiqueta puede ser especialmente útil para generar títulos dinámicos de página.
33. Nuevas etiquetas para detectar televisores
DLE incorpora nuevas etiquetas globales para detectar cuando el sitio se está visualizando desde un televisor:
[tv] Texto [/tv]
[not-tv] Texto [/not-tv]
[tv]...[/tv] muestra el contenido cuando el dispositivo se identifica como televisor, mientras que [not-tv]...[/not-tv] funciona de forma inversa. Estas etiquetas dependen de que el propio dispositivo proporcione información suficiente para realizar la detección.
34. {declination} disponible en categorymenu.tpl
La etiqueta siguiente puede utilizarse ahora dentro de categorymenu.tpl y también en otras plantillas utilizadas mediante los parámetros de la etiqueta que genera el menú de categorías:
[declination=X] texto [/declination]
35. Detección de avatar propio en comments.tpl
El template comments.tpl incorpora:
[has-avatar] Texto [/has-avatar]
[not-has-avatar] Texto [/not-has-avatar]
Estas etiquetas permiten utilizar diseños distintos dependiendo de si el usuario tiene o no un avatar propio. Las nuevas plantillas estándar de DLE utilizan esta posibilidad para generar avatares únicos para quienes todavía no han subido una imagen personalizada.
36. Conversión automática de citas antiguas
Al editar contenido antiguo con el editor visual, las citas creadas mediante las antiguas etiquetas BBCode se convierten automáticamente al formato HTML nativo utilizado actualmente.
37. Menú contextual del editor mejor posicionado
Cuando se selecciona texto dentro del editor, el menú emergente aparece ahora exactamente debajo de la posición donde se detuvo el cursor, independientemente de cuánto texto se haya seleccionado.
38. Citas y spoilers más rápidos de insertar
El funcionamiento de citas y spoilers fue simplificado. Si no existe texto seleccionado, al pulsar los botones correspondientes ya no aparece una ventana emergente: el bloque se inserta directamente y el cursor queda colocado dentro de él.
39. Enlaces a páginas de publicaciones sin BBCode
Los enlaces internos utilizados cuando una publicación se divide en varias páginas dejan de utilizar BBCode dentro del editor visual y pasan a manejarse como enlaces normales.
40. Mejoras al editar código fuente
Se ha realizado un trabajo importante para mejorar la edición del código fuente dentro del editor visual.
- Posicionamiento más preciso al cambiar entre código fuente y vista visual.
- Mejor conservación de la ubicación de distintos bloques.
- Desplazamiento más exacto hacia la posición del cursor.
- Mejor comportamiento con publicaciones de gran tamaño.
- Corrección de situaciones que podían generar bloques vacíos al volver desde el código fuente.
41. Inserción de reglas SEF en posiciones específicas
El sistema de administración de URLs SEF permite que scripts personalizados agreguen reglas en una posición concreta. Esta mejora está especialmente orientada a desarrolladores de plugins, ya que permite insertar reglas antes o después de reglas existentes.
DLEUrl::AddRule('test', '/test/', '/?do=test');
DLEUrl::AddRule('test1', '/test1/', '/?do=test1', 'before showfull.page.news');
DLEUrl::AddRule('test2', '/test2/', '/?do=test2', 'after showfull.page.news');
Sin indicar posición, la regla se añade al final. Los parámetros before y after permiten colocarla antes o después de una regla específica.
42. Protección de archivos del sistema al eliminar plugins
El sistema de plugins incorpora una protección automática para evitar que se eliminen archivos que ahora forman parte de la distribución estándar de DataLife Engine.
Por ejemplo, si un plugin instaló originalmente un archivo que no existía en DLE, pero una versión posterior del CMS incorpora un archivo con ese mismo nombre como parte del sistema, al desinstalar el plugin DLE conservará el archivo en lugar de eliminarlo.

43. Eliminación rápida de archivos no pertenecientes a DLE
El antivirus de DataLife Engine permite eliminar con un solo clic, directamente desde el panel de administración, archivos que no pertenecen al paquete oficial de distribución. Puede resultar útil cuando se han acumulado numerosos archivos externos y se desea realizar una limpieza rápida.
44. Antivirus mejorado
Los algoritmos del antivirus fueron actualizados para detectar una mayor cantidad de archivos sospechosos. Además, el snapshot utilizado por el sistema emplea un nuevo formato de almacenamiento y protección mediante firmas para dificultar sustituciones silenciosas de contenido.
45. Sin límite práctico para el nombre de pestañas del editor de plantillas
Se elimina la restricción de longitud que afectaba a las pestañas al editar templates. Esto permite identificar mejor archivos ubicados dentro de estructuras con carpetas anidadas o nombres extensos.
Rendimiento, compatibilidad y correcciones
46. Búsqueda de contenido más rápida
Se han incorporado optimizaciones para mejorar el rendimiento de las búsquedas realizadas por los visitantes dentro del sitio.
47. Optimización de referencias cruzadas
Los algoritmos internos relacionados con las referencias cruzadas fueron optimizados. Dependiendo de la configuración utilizada, estos cambios pueden mejorar el rendimiento y reducir el consumo de memoria.
48. Sitemap más eficiente
Se reduce el uso de memoria durante la creación del Sitemap para motores de búsqueda y, en determinados escenarios, también mejora considerablemente la velocidad del proceso.
49. Redirecciones al importar imágenes externas
La carga de imágenes desde URLs externas mediante HTTP o HTTPS admite ahora redirecciones. Si la dirección proporcionada redirige hacia la ubicación real de la imagen, el cargador puede seguirla y obtener el archivo correctamente.
50. Botones Atrás y Adelante con comentarios AJAX
Cuando la navegación AJAX está habilitada para los comentarios, DLE ahora es compatible con los botones Atrás y Adelante del navegador.
51. Eliminado el antiguo script Masha JS
Se elimina del núcleo la compatibilidad con el antiguo script Masha JS, utilizado para compartir texto seleccionado. Quien todavía necesite esa funcionalidad puede integrarla manualmente dentro de su propia plantilla.
52. Eliminada la plantilla Smartphone independiente
DataLife Engine deja de ofrecer la opción de activar una plantilla independiente denominada Smartphone para teléfonos móviles. Esta tecnología se considera obsoleta: con diseños responsive modernos y las velocidades actuales de conexión, mantener una segunda plantilla móvil aporta pocas ventajas y complica el mantenimiento del sitio.
53. Corregida la precarga excesiva de video y audio
Se corrige un problema que podía provocar una precarga excesiva de archivos multimedia incluso cuando el usuario todavía no había iniciado la reproducción. En páginas con mucho contenido multimedia esto podía generar un consumo de tráfico innecesario.
54. Corregido el cambio entre YouTube y HLS
Se soluciona un problema que impedía cambiar correctamente entre una transmisión de YouTube y una transmisión HLS dentro del reproductor de video.
55. Otras correcciones menores
También se han solucionado otros errores menores detectados y reportados anteriormente durante el uso del CMS.
Una actualización especialmente amplia
DataLife Engine 21.0 combina cambios visibles para usuarios y administradores con numerosas mejoras internas. Las nuevas plantillas, los campos dinámicos, el renovado sistema multimedia y las mejoras en plugins, seguridad y rendimiento convierten esta versión en una actualización importante tanto para proyectos nuevos como para instalaciones existentes.
Si utilizas una plantilla personalizada, recuerda revisar también los cambios de templates entre DLE 20.0 y 21.0 antes de actualizar tu sitio en producción.
Fuente: publicación oficial de DataLife Engine.


Comentarios 0
Agregar comentario
Comparte tu experiencia, duda o sugerencia con la comunidad.