Administración de zonas horarias en Chamilo 1.8.7

Esta es la traducción al castellano del artículo que escribió Yannick en inglés es 17 de Febrero.

Bueno, era más bien una tarea de prioridad baja (debido a su posible dificultad), pero se ha ido avanzando muy bien en sólo dos días que creo que ya puedo hacer un adelanto sobre este.

En primer lugar, me gustaría dar la bienvenida a Guillaume Viguier-Just, que se juntó a nosotros ayer. Guillaume tiene una experiencia considerable al desarrollo de PHP, por lo que ha sido muy fácil para mí darle algunas tareas básicas en Chamilo y es aparentemente muy fácil para él en su honor. Estoy deseando a todas las cosas buenas que pueda dar a la comunidad Open Source en los próximos meses de su colaboración con nosotros. No hay necesidad de explicar Mercurial, PHP, zonas horarias, Ubuntu o convenciones de codificación: él ha sido llegar al trabajo recto. Gran ahorro de tiempo!

Entonces vamos a explicar el problema de las zonas horarias …

Hemos tenido un problema en Chamilo, que todas las instancias de Chamilo portales instalados en el mismo servidor que tiene que compartir la misma zona horaria (a saber, porque no había gestión de zona horaria en Chamilo o sus antepasados). Esto efectivamente significa que nosotros, como proveedores de hosting, había que tener 1 servidor para cada zona horaria está disponible en el mundo, si queremos tener clientes en todo el mundo, lo que hubiera significado mucho más los gastos de alojamiento y los precios se dispara.

Así que decidí seguir adelante y crear requisito # 599, que es de hecho un grupo de 3 tareas:

* Identificar y analizar lo que el actual proceso de gestión del tiempo genera (en términos de los tiempos registrados en el sistema) y, en consecuencia todos los campos de marca de tiempo se convirtieron en fecha y hora (para tener un momento único de base de todo Chamilo)
* Implementar un portal basado en función de zona horaria (que permite a diversos portales en el mismo servidor para servir a zonas horarias distintas)
* Aplicar un usuario función de zona horaria basada en (que permite a los usuarios desde el mismo portal, pero que viven en zonas con distintas zonas horarias para ver todas las horas basada en las referencias de tiempo en su propio tiempo-base)

Mi estimación es que sería un “20 puntos”, tarea en nuestra SCRUM propia estimación basada, y parece que he estado a la derecha (que tomará unos días para poner en práctica).

Hemos descubierto que el tipo de campo TIMESTAMP MySQL está basado en UTC (Universal Time), mientras que DATETIME no lo es. DATETIME se basa en un parámetro de MySQL, llamado time_zone, que mantiene la diferencia entre la hora local y UTC. Teniendo en cuenta el hecho de que TIMESTAMP también tiene un límite lógico en 2038-01-19 (que ya nos da problemas en Chamilo), mientras que DATETIME tiene un límite en 9999-12-31, se decidió cambiar todo a DATETIME en el Chamilo base de datos. Por supuesto, todo esto es atendida por los scripts de migración, y comprobamos que la diferencia entre UTC y la hora local no se había perdido.

Con esta base el análisis y los cambios de tipo, Guillaume estaba dispuesto a aplicar una función global (api_get_local_time ()), que se utilizará de ahora en adelante para mostrar la hora en el huso horario establecido dentro de la configuración del portal, y más tarde para mostrar en el propio usuario zona horaria. Así que, finalmente, tendremos la gestión de zonas horarias (al mismo tiempo, como UTF-8 de gestión) en Chamilo. Un gran salto adelante para el software y nuestra comunidad. Voy a discutir el cambio a UTF-8 más adelante, en este blog.

Esto significa que, a partir de la próxima semana, vamos a actualizar nuestro portal de desarrollo (pendiente de ser trasladado a otra dirección) y usted será capaz de probar la característica de zona horaria para usted a través de su perfil de usuario! Manténgase sintonizado para una actualización a este post …

Permítanme mencionar que no sería capaz de hacer todo esto sin las inversiones financieras de nuestros clientes y miembros de la comunidad que nos ayudan a hacer Chamilo un software mucho mejor que su antecesor, el “D” del proyecto, que solía ser.

Comments

Enlace permanente

Buenas tardes.
Instale chamilo en un servidor privado se ejecuta bien pero cuando creo un curso y entro a el mire lo que sale.

Extraviado
La URL solicitada /courses/181401/index.php no se encontró en este servidor.

Además, se encontró un error 404 No encontrado al intentar utilizar un ErrorDocument para gestionar la solicitud.

No soy programador .
Me pueden indicar los pasos a seguir por favor gracias