Berke Özyaşar
Blog

Panel de administración sin base de datos: edición sobre la página en HATKO Solar

En la web de HATKO Solar el contenido está en archivos JSON y el equipo lo edita haciendo clic en el texto de la página. ¿Cuándo conviene este enfoque y cuándo es mejor un panel clásico?

·
Página de inicio del sitio web de HATKO Solar

Cuando se habla de un panel de administración para una web corporativa, lo que suele venir a la cabeza es una base de datos, una pantalla de inicio de sesión y largos formularios. Para nuestro cliente HATKO Solar elegí otro camino: el contenido del sitio no está en una base de datos, sino en archivos JSON, y el equipo lo modifica haciendo clic en el texto correspondiente dentro de la vista previa del sitio. Soy Berke Özyaşar; en este artículo explico cómo funciona el panel de HATKO Solar y en qué casos este enfoque es la elección acertada.

El proyecto en pocas palabras

HATKO Solar es la marca de energía solar de HATKO A.Ş.; en su planta de Elazığ fabrica cajas de conexión fotovoltaicas (PV junction box) y conectores. El sitio está publicado en turco, inglés, chino y alemán. Tiene páginas de producto, certificados, un centro de documentación en PDF, noticias, páginas de producción y tecnología y un formulario de presupuesto. La mayor parte del contenido no cambia a menudo, pero sí con regularidad: un certificado nuevo, un folleto actualizado, una noticia.

Edición sobre la página

En un panel clásico, quien edita tiene que adivinar dónde aparecerá en el sitio cada campo del formulario. En el panel de HATKO, en cambio, se abre la vista previa del sitio; se hace clic en el texto o el elemento que se quiere cambiar y se edita ahí mismo. Los colores, las tipografías y las secciones de la página principal también se ajustan desde el panel. Los productos, las noticias, los certificados, los documentos, las diapositivas y las referencias, como son contenidos que se repiten, se gestionan en listas separadas. La subida de imágenes, los mensajes de los formularios y el cambio de contraseña también forman parte de las secciones del panel.

Por qué el contenido está en archivos JSON

En el servidor, PHP lee los archivos de contenido y genera las páginas; en la interfaz funciona JavaScript sin frameworks. Las consecuencias prácticas de esta elección son estas:

  • El sitio funciona en un hosting compartido sin instalaciones adicionales; no hay un servidor de base de datos aparte que instalar, gestionar o actualizar.
  • Hacer una copia de seguridad es tan sencillo como copiar los archivos.
  • La estructura del contenido es legible; añadir un campo nuevo no exige cambiar el esquema de una base de datos.
  • En contenidos con un número limitado de registros, como el catálogo de productos y la lista de certificados, el almacenamiento en archivos es lo bastante rápido.

Publicar y deshacer

Los cambios hechos en el panel llegan a todos los visitantes cuando se pulsa «Publicar»; si algo sale mal, se puede volver al último estado publicado. Que la edición y la publicación sean pasos distintos evita que un texto a medio terminar quede a la vista del visitante. La posibilidad de deshacer, por su parte, permite que el equipo haga cambios en el panel sin miedo.

Cuatro idiomas en un solo panel

Los textos en turco, inglés, chino y alemán se gestionan desde la sección de traducciones del panel, y cada página tiene sus etiquetas hreflang. Un problema habitual en los sitios multilingües es que se actualiza un idioma y se olvidan los demás. Gestionar las traducciones desde una única sección facilita ver qué texto falta en qué idioma.

Acceso a certificados: captar solicitudes a partir del contenido

Los fabricantes de paneles se fijan en los certificados cuando evalúan a un proveedor. En la web de HATKO, los certificados se ven desenfocados en la vista previa; para verlos completos se pide al visitante su empresa, su nombre y su correo. Así, el visitante que quiere revisar un certificado se convierte en un contacto al que el equipo comercial puede responder. Qué contenido se pone detrás de un formulario así debe ser una decisión consciente; bloquear todos los documentos cansa al visitante.

HATKO Asistan: las preguntas sin respuesta llegan al panel

El sitio tiene una ventana de chat llamada HATKO Asistan que responde a preguntas sobre productos, certificados y presupuestos con una base de conocimiento basada en palabras clave. El asistente responde a partir del contenido que prepara el equipo. Las preguntas que no sabe responder aparecen en el panel como sugerencias; esto muestra al equipo lo que los visitantes preguntan realmente y permite ampliar la base de conocimiento con esas preguntas.

Fundamentos de seguridad

Que no haya base de datos no significa que la seguridad importe menos. El panel de HATKO tiene gestión de sesiones, protección con token CSRF y límite de intentos de inicio de sesión. En una estructura de este tipo hay que cuidar, además, que los archivos de contenido estén en un lugar al que no se pueda acceder directamente desde la web y que se compruebe el tipo de los archivos subidos.

Los límites de este enfoque

Un panel basado en archivos también tiene sus costes, y conviene conocerlos desde el principio. Si varias personas editan el mismo contenido a la vez, la última en escribir en el archivo puede sobrescribir el cambio de la otra; por eso es mejor poner en cola las escrituras y usarlo con equipos pequeños. Cuando el contenido llega a miles de registros, operaciones como la búsqueda, el filtrado y la paginación son mucho más sencillas con una base de datos. Lo mismo ocurre con los informes: un resumen que en una base de datos se obtiene con una sola consulta, con archivos hay que programarlo aparte. En una web corporativa como la de HATKO, con contenido estructurado que cambia poco, estos límites no son determinantes.

Comparación con un panel clásico

Para nuestro cliente Hekimoğlu Lojistik monté, en cambio, otra estructura: un panel de administración clásico sobre PHP y MySQL, con pantalla de estadísticas. Las noticias se redactan con el editor TinyMCE; hay campos de SEO, opción de destacar y estados de publicado, borrador o archivado. Las visualizaciones y descargas de los documentos y los mensajes recibidos desde los formularios de presupuesto y de contacto se guardan en la base de datos. En un sitio cuyo archivo de noticias crece con el tiempo y que tiene datos que se escriben continuamente, como los contadores, la base de datos es la elección correcta.

Cuándo usar cada uno

  • Sin base de datos, con edición sobre la página: si el contenido es limitado y estructurado, los cambios son poco frecuentes, quienes lo van a editar no son técnicos y se quiere que el sitio funcione en un hosting sencillo.
  • Base de datos y panel clásico: si hay contenido que crece sin parar, como un archivo de noticias, si hacen falta paginación, búsqueda y filtrado, si hay datos que se escriben continuamente, como contadores y registros de formularios, o si varias personas introducen contenido a la vez.

Ambos enfoques se escriben a medida para el sitio, sin instalar un CMS prefabricado; la diferencia está en dónde se guardan los datos y en cómo trabaja el equipo con el contenido. Podemos decidir juntos cuál conviene a la web de tu empresa al inicio del proceso de desarrollo de webs corporativas.

Más artículos

Publiquemos tu app juntos.

Cuéntame en pocas frases lo que quieres hacer. Respondo el mismo día.

↑ ↓ para navegar, Enter para abrir, Esc para cerrar