Trabajando con Xataface – Gestores de Contenidos
Introducción
A la hora de realizar una aplicación web con su gestor de contenidos, normalmente contamos con las opciones de usar un framework de desarrollo que nos ayude en la generación del backend, como pueden ser:
- Symfony
- CakePHP
- CodeIgniter
- etc
Utilizar un cms en el que integrar el frontend con una parametrización del backend utilizando:
- WordPress
- Joomla
- Modx
- Drupal
- etc
Y también podemos utilizar Xataface, un potente sistema de gestión de de bases de datos.
Siguiendo unos pequeños pasos podemos generar un backend que nos va a permitir realizar todas las operaciones básicas (altas, bajas y modificaciones) sobre nuestra base de datos.
Hace unos años conocí el producto pero no lo tomé como una opción a tener en cuenta a la hora de realizar un backend para una Web.
Uno de mis clientes me lo propuso como opción para realizar la administración de los contenidos de su web hace unos meses y después de estudiarlo comprobé que era una solución viable.
Para empezar a trabajar tan solo debemos editar el fichero de configuración general, conf.ini y empezar a customizar:
En conf.ini
[_database]
host=localhost
name=mydb
user=me
password=mypass
[_tables]
; Listamos las tablas que serán accesibles vía menú
usuario=NombreTablaUsuarios
news=NombreTableContenidos
Con estos datos ya nos mostrará un backend con un ABM completo
Características
Con tan sólo 4 líneas de código PHP, podremos disponer de una aplicación web que permita la gestión de tu base de datos.
Ofrece una intuitiva interfaz de usuario – la aplicación por defecto es consistente y fácil de usar.
Hay un menú “tablas”, para seleccionar una tabla y cada tabla tiene accesos de menu a “detalles”, “lista”, y “encontrar”.
Ofrece potentes opciones de configuración – Puedes configurar los detalles de la aplicación (como tipos widget) usando archivos de configuración.
Extensible – Puedes modificar tu aplicación según tus necesidades utilizando los archivos de configuración y las clases PHP “delegated”.
Triggers – Puedes agregar una función que se llame después se inserta un registro desde PHP.
Permisos – Dispone de un potente sistema de permisos.
Autenticación – Integrada y de facil puesta en funcionamiento, gestiona login y cierre de sesión.
Relaciones – Indicando a Xataface cómo están relacionadas las tablas entre sí obtendrás una mayor funcionalidad lógica para la gestión de los datos.
Customizable – Xataface utiliza el motor de plantillas Smarty como base y lo amplía con algunas nuevas características tales como plantillas extensibles y apoyo temático.
Modular – Dispone de varios módulos que permiten extender las características de Xataface y una API simple para escribir sus propios módulos.
Edición
Generación automatica de Formularios permitiendo agregar nuevos registros y editar los registros existentes.
Widgets – Dispone de soporte, incluyendo widgets para campos de texto, áreas de texto, casillas de verificación, listas de selección, editores de html, redes,
carga de archivos, y mucho más.
Permite personalizar formularios – utilizando archivos de configuración y las clases “delegated”.
Personalizable – Permite mostrar diferentes vistas a usuarios en función de sus permisos y preferencias.
Añadir registros relacionados – Insertar registros y seguimiento automático de sus relaciones con otras tablas.
Data Grid Editable- Administra tus datos como una hoja de cálculo utilizando el módulo de DataGrid.
Copiar – Copia conjuntos de registros.
Actualización conjunto encontrado – Actualización de múltiples registros con un click.
Subir archivos – Soporte para subida de archivos, ya sea en un campo BLOB o en el sistema de archivos.
Eliminar – Permite borrar un registro o eliminar el conjunto de registros encontrado actual.
Búsqueda
Buscar de Forma automática – Busca en todos los campos de todas las tablas
Búsquedas por rango – Búsqueda de registros que coincidan con los valores de un rango determinado (por ejemplo, encontrar todas las personas entre las edades de 20 y 30).
Búsqueda exactas – Búsqueda de coincidencias exactas.
Partial Matching – Búsqueda por campos que contienen una frase de palabras clave.
Búsqueda en varios campos – Siempre hay un campo de búsqueda simple y accesible que busca en todos los campos de la tabla actual.
Por ejemplo una búsqueda de “Tom” que coincide con algún registro de la tabla actual que contiene la palabra “Tom” en cualquiera de sus columnas.
Registro relacionado Proveedores – Encuentra registros que contienen los registros relacionados que coinciden con un término de búsqueda.
(Por ejemplo, encontrar personas que recibieron una “A” en un curso particular).
Exportar datos
RSS – Soporte para RSS 1.0, 2.0 y Atom de cualquier conjunto encontrado.
XML – Exportar cualquier conjunto encontrado como XML para que los datos se puedan intercambiar con otros productos (por ejemplo, las suites de edición electrónica).
CSV – Exportar cualquier conjunto encontrado a CSV (valores separados por comas de valor) para abrir en una aplicación de hoja de cálculo como Excel.
JSON – Exportar cualquier conjunto encontrado a JSON. Esta característica hace Xataface una buena opción para servir a la próxima generación de aplicaciones Web 2.0 AJAX.
Internacionalización I18N
Proporciona los archivos de idioma para la traducción de todas las cadenas y las etiquetas en la aplicación.
Traducción de datos dinámicos – Xataface permite internacionalizar sus datos de bases de datos existentes sin tener que cambiar la estructura de su base de datos.
Plantillas – Incluye una traducción () Smarty etiqueta para plantillas para traducir fácilmente plantillas de texto.
Importando datos
Filtro de importación API – Utilizando clases “delegated”, es fácil definir un filtro de importación para importar cualquier tipo de datos en la base de datos.
Vista previa del usuario – El usuario puede ver los datos importados antes de confirmar que quiere importar.
Historico
Historico Opcional – Si habilitas el histórico de movimientos, todos los cambios realizados sobre los datos se registran.
Deshacer / Rehacer – Permite volver fácilmente a una versión anterior de un registro.
Ver Diffs – Ver las diferencias y cambios entre las versiones de archivos, similar a un wiki.
El almacenamiento en caché
memoria caché de salida – Soporta memoria caché de salida de las páginas para mejorar el rendimiento. La caché se actualiza automáticamente cada vez que se realizan cambios en las tablas que se utilizan para generar una página.
Apoyo de APC – Si está instalado APC (Cache PHP alternativa) , Xataface automáticamente la utilizará para almacenar la información de configuración de caché de la tabla. Esto tiende a aumentar el rendimiento en un 20%.
Seguridad
Los permisos están perfectamente delimitados – Permite definir permisos sobre toda la aplicación, a nivel de tabla, de registro, o por campo.
permisos basada en roles – Permite la definición de roles (conjuntos de permisos que se pueden asignar a los usuarios).
Permisos en modo extensible – Podemos definir nuestros propios permisos y roles, ampliando las funciones existentes para nuestra aplicación.
Basadp en la Autenticación – Es fácil de configurar el inicio de sesión / cierre de sesión para la aplicación.
Cifrado de contraseñas – Es compatible con la mayoría de los cifrados contraseña estándar, como MD5, SHA1, y la contraseña de MySQL.
Autenticación extensible – Facil creación de plugins de autenticación en caso de que se quiera implementar una autenticación personalizada.
LDAP – módulo de autenticación LDAP disponible.
Relaciones
Potentes Relaciones con los Modelos – Es fácil definir las relaciones entre las tablas usando archivos de configuración. Sintaxis simple y resultados de gran alcance.
Añadir un nuevo registro relacionado – Crear un nuevo registro y agregarlo a la relación de un registro de los padres, al mismo tiempo.
(Por ejemplo, crear un nuevo registro “curso” y agregarlo a la lista de un profesor de los cursos impartidos).
Añadir el registro existente a sus relacionados – Permite añadir un registro existente a la relación de un registro de los padres.
(Por ejemplo, añada el récord del campo a la lista existente de un profesor de los cursos impartidos).
Eliminar registro relacionado – Quitar un registro de una relación.
(Por ejemplo, eliminar un récord del campo de la lista de un profesor de los cursos impartidos).
API
Xataface incluye una potente API que permite trabajar más eficientemente con la base de datos.
Objetos de datos – Proporciona una API sencilla para trabajar con los registros de base de datos. Buscar, cargar, guardar, editar y eliminar registros compatibles.
Plantillas
Template – Xataface utiliza el motor de plantillas Smarty como base.
Herencia de Plantillas – Se pueden crear plantillas que heredan de otras plantillas y reemplazar el contenido especificado en “slots” de la plantilla original.
Esto aumenta drásticamente la reutilización de las plantillas y la productividad de desarrollo.
Asistencia en Cascada – Todo el sistema de plantillas se almacenan en el directorio de plantillas Dataface.
La aplicación puede tener su propio directorio de plantillas donde se pueden colocar plantillas para anular un sistema de plantillas.
Todas las partes del sistema se puede reemplazar sin modificar el template original con plantillas propias.
Todo esto, además de otras características que podéis encontrar en la web del proyecto
Una vez superada la curva de aprendizaje, podéis desarrollar potentes backends con pocas horas de trabajo
