¿Cómo versionar un website joomla?

¿Cómo puedo versionar un website de Joomla?

Cuando hago una aplicación web hecha a mano, pongo el código y el esquema de la database en SVN y agrego un script que actualiza una copy de trabajo, configura una database y restablece un server.

Con Joomla estoy perdido 🙁

Puedes usar el mismo enfoque con joomla también.

  1. Primero, instale joomla donde sea accesible a través de nuestro server web

  2. saque un volcado de la database mysql y póngalo en algún directory también dentro de la carpeta raíz donde se instaló joomla.

  3. crea una secuencia de commands que importe tu volcado de database en mysql.

  4. aleje la carpeta raíz de donde la instaló e importe todo en su scm.

  5. revise la installation de Joomla al lugar exacto donde se instaló originalmente.

  6. ejecuta el script que hiciste en el paso 3 para importar tu database.

Ahora, si trabajas en el sitio, editas tus cosas y te comprometes, puedes consultar los últimos cambios en la carpeta joomla. Y si mezclas twigs como "versiones de lanzamiento" de tu sitio, las cosas son un poco más fáciles. Además, podría crear un script de shell que combine el process de pago y la import de volcados de mysql.

Existe un componente de control de versiones: http://extensions.joomla.org/extensions/authoring/content-submission/6260/details. Esto solo se ocupará del contenido principal y no se enganchará en SVN.

Depende mucho de si quieres controlar la versión:

  1. cambios de código
  2. configuration
  3. contenido

Los puse en order de probabilidad y dificultad; es decir, espero que no quieras que la versión controle el contenido, en parte porque eso es más complicado.

También debe tener en count si desea controlar versiones de componentes de terceros. Si no está solicitando su código, e idealmente no debería hacerlo, hay poco que ganar al hacer eso.

Por lo tanto, la versión que controla sus propias extensiones es sencilla: simplemente agregue los directorys apropiados a SVN y configure los files de ignorar para todo lo demás.

La configuration se almacena parcialmente en configuration.php, pero también en la database. Ciertamente puede controlar la versión del file, pero el lado de la database de las cosas probablemente se maneje mejor con volcados regulares, que también includeán el contenido.

En términos generales, es incómodo utilizar un sistema de control de versiones como mecanismo de respaldo, por lo que le aconsejo que maneje las copys de security mediante las rsync habituales del sistema de files junto con los volcados de bases de datos automatizados. SVN se adapta mejor a su desarrollo diario y mantiene un logging de los cambios de código que ha realizado.

¿Eso suena viable?