FrontAccounting a esta bajo desarrollo durante mas de diez años, y tiene una traducción razonablemente buena al castellano. Ay una breve historia del proyecto aquí en SourceForge y en mi experiencia es una buena plataforma con código abierto para uso por PYMES.
Pero, siempre aproximo las actualizaciones con algo de cuidado, aunque nunca han sido excepcionalmente difícil o con muchos riesgos. Es mas porque las instrucciones que dan las paginas del proyecto en su guía de actualización no tiene traducción al Español, y aparenta ser un poco datado. Peor aun, el paquete para la version 2.3.11 contiene un archivo update.html file que aun menciona que es para version 2.5.
No hay mucha razón para temor, y el proceso de actualización es bastante simple. La descripción abajo es mas una lista de chequeo, donde incluyo algunos trucos útiles que me han servido esta vez. La lista aplica para una actualización en un servidor Ubuntu, con la aplicación corriendo bajo Apache.
1. Crea una copia de seguridad de la base de datos para cada empresa desde la interfaz
Si es posible para tu instalación y con tu base de usuarios, entra en la aplicación con los credenciales de cada empresa y has una copia de seguridad de los bases de datos. Si tienes múltiples usuarios bajo una sola instalación, entonces mándales un mensaje recordando los administradores locales que ellos mismos tienen que crear una copia de seguridad. Usa el mensaje para anunciar que la aplicación va a estar off-line por un tiempo durante la actualización.
2. Pon los temas en los temas por defecto (EN: default themes)
Como uso esta funcionalidad pocas veces al año siempre me confundo entre:”Installar/Activar Temas” y “Company Setup”. Necesitaras poner el tema de la empresa principal al tema por defecto bajo Company setup (o ../admin/display_prefs.php?). Esto es un paso estándar en actualizaciones porque si algo sale mal, tienes mayor oportunidad de poder acceder tu aplicación con el usuario de administración.
3. Asegúrate de que no hay usuarios activos
Si eres el único usuario, entonces cierra tu sesión (EN: log-off) y cierra la ventana del navegador y entra al servidor. Cerrar la sesión es importante, porque es fácil olvidar que tu mismo eres uno de los usuarios que puede ser activo. Si tienes múltiples usuarios, entonces saca la aplicación fuera de linea usando el método que prefieras (consulta estos métodos por ejemplo) y espero hasta que el tiempo de session-expiry pasa. De esta forma estarás seguro que también los usuarios que han ignorado tu advertencia en paso 1 han cerrado la sesión.
4. Crea una copia de seguridad de la base de datos completa
Ya se que hemos hecho una copia de cada empresa en paso 1, pero siempre es bueno tener la base de datos completa por si necesitas reinstalar la aplicación desde cero. Esto se hace con una linea estándar usando mysqldump:
$ mysqldump -u DATABASENAME -pPASSWORD USERNAME > /home/apache/FA_backupDate.sql
5. Controla que la última versión ha sido añadida a tu control de versiones
Si has puesto todo, o parte de la aplicación bajo algún sistema de versiones (como subversion) entonces asegúrate de que has hecho un “commit” de la ultima versión. Puede ser muy útil poner por lo menos los archivos de configuración bajo un sistema de control de versiones.
6. Has un copia de tu carpeta con la aplicación a una carpeta temporal
Si haces un copia directa como root (o mejor: sudo) perderás toda la información de derechos de los archivos. Hay una forma muy fácil de evitar esto usando la -p del comando de copiar (cp):
$cp -rp /var/www/FOLDERNAME/ FOLDERNAME.backup
La instruccion -p es la forma de asegurar que todos los derechos de los archivos son preservado y están tal cual los tienes en tu instalación actual. Esto es util porque hay muy poca documentación sobre los niveles de permisos necesarios para correr FrontAccounting de forma segura en tu servidor.
7. Sobrescribe los archivos de la nueva version
Como lo indica el manual de instalación, sobrescribe los archivos nuevos sobre los archivos existentes. Notaras que las fechas de las carpetas no cambia, así que cuando revisas la copia con ls -l notaras que solo los archivos tienen una nueva fecha.
8. Revisas los permisos de carpetas y archivos
Asegúrate que tu servidor (Apache of NGINX) puede acceder los archivos. En mi caso todos los permisos quedaron iguales a lo que estaban, y no tuve que hacer ningún cambio.
9. Revisa tu archivo de configuración
Compara tu archivo de configuración actual con el que tenias: estas incluido el nombre de la base de datos, usuario y clave correcta?
10. Revisa si se necesita hacer una actualización a través de la interfaz
Inicia una sesión como administrador en la empresa principal y anda a setup>Software Upgrade para ver la opciones que se indican. No debería haber ninguno aplicable a la actualización de 2.3.9 a 2.3.11 (esto se usa en casos cuando se requiere una actualización de bases de datos).
Cambia el tema otra vez a tu tema favorito (lo cambiamos al tema por defecto en los primeros pasos)
11. Revisa si hay archivos que ya no están en uso
Como copiamos los archivos nuevos, archivos que ya no están incluidos en la nueva versión permanecerán en su lugar. La forma mas fácil de ver si hay archivos que ya no se usan es hacer un diff (comparación de versiones) sobre las carpetas de las dos versiones. Para la actualización de 2.3.9 a 2.3.11 esto no aplica.
Eso es todo! Probablemente hay pasos que no aplican para la instalación que tu estas manejando. Haz una copia, y borra lo que no necesite, y cambia los pasos para lo que si aplica a tu caso. Si añades todo lo que encuentres durante esta actualización tendrás una lista de revisión lista para la siguiente vez.