Archive

Archive for March, 2010

Installing Squid on ZFS

March 24, 2010 1 comment

The recommended filesystem for Squid on OpenSolaris is ZFS: http://wiki.squid-cache.org/BestOsForSquid

It is also recommended to disable the atime property on the filesystem holding the cache, and you may want to avoid using any type of RAID.

To achieve this on Nexenta (or OpenSolaris, whatever), first create the ZFS filesystem:

# zfs create -o atime=off -o mountpoint=/var/spool/squid3 syspool/squidcache

Then install Squid (here for version 3.x, as you might have noticed from the command). On Nexenta Core Platform 3 (NCP3):

# apt-get install squid3

To further improve the setup, use the aufs storage. To do this, just enable and update option cache_dir in /etc/squid3/squid.conf to read aufs instead of ufs (and further modify that line to best suit your real cache usage).

Yahoo! Pipes in JQuery: jsPlumb

March 23, 2010 5 comments

Those of you who have been following me will know that I’ve been looking a lot into JS libraries that can manage visual boxes and links between them. Well, it looks like there’s a new kid on the block! Thanks to Marco for passing me a link to the jsPlumb demo site, where you can see three different demos of how blocks and their relations would look like.

The scripts don’t take too long to load, which is great (in comparison to previous libraries I had tried). Apparently, the structure doesn’t need to be tree-based (although I might be wrong here), which means it could enable the implementation of several types of links between elements. Finally, every link and every block can take a different color, which means it can be even clearer to present the elements.

Of course, there are a few drawbacks, like the fact that it doesn’t have a kind of “natural reordering” effect when dropping one of the draggable boxes. But that’s a minor problem for now.

Categories: English, Misc, open-source Tags: , , ,

Chamilo 1.8.7: exceeding e-learning users expectations

March 16, 2010 4 comments

As we are closing in on the first Alpha release of Chamilo, we can already see the first glance of the large e-learning machine being built here. In only 3 months, we’ll have passed from a first, timid, release of Chamilo 1.8.6.2, to a much more stable and complete 1.8.7.

In order to improve it, we have listened to our users. But not only that… we have extended further the requirements we’ve been given. I’ll try to explain this below…

Five corporate power users reported at the end of last year that they had problems managing several portals on the same server where some portals had a different timezones: we’ve added timezones management to Chamilo, but not *only* timezone at the portal level, but also at user level. This was something missing in our features list in comparison to our more popular LMS competitor.

One of our customers asked us to develop attendance sheets, so we did (a first, very limited, draft of this had been available in the latest versions of Dokeos Pro – a much better implementation will now be included in Chamilo free).

A series of Asiatic countries users reported they had a lot of problems with non-European characters, and so did a series of Eastern Europe countries (one of which is the home of Ivan Tcholakov, who’s undertaken most of the migration work to support UTF-8), so here it is… Chamilo 1.8.7 will support that. Not only that, but it will also allow different courses to exist in different encodings.

Other users reported the sessions weren’t clear and some tools should offer a different view between a session context and a pure-course context… we did that as well. We’ve also extended that and made more tools available through sessions, and made sure the reporting from inside the sessions was improved.

Finally, a lot of people have been asking for clearer statistics, so we implemented a set of nice charts that will let you see, in just one look, what is going on inside your course, your session or for your students. But we wanted to make more than just that, so this feature is extensible. It shows under the “control panel” of any admin or HR Director, and works with little building “blocks”. You can add your own statistics block there. We don’t expect all users to be able to do that, but we hope a lot of people will contact us with their needs and a little bit of financial input, so the next version can be even better.

There are a lot of additional things that we have or will add in 1.8.7, and none of them results from a unilateral decision. We have discussed every feature first with the users or the customers, then we have analyzed the need in a group of minimum 3 developers each time, then we have returned to the user and asked for feedback on the idea. Finally, a new feature was undertaken. This is how we work in Chamilo!

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.

Top projects of February 2010

February has been a planning and sales month. We’ve been very busy answering an enormous quantity of requests for quotes, one of them being to embed Chamilo into a Joomla site (which we have already done in the past, but not the same way), another one being the building of a multi-sources collaboration system built on Drupal.

Here are a few projects that we would like to present to you:

Advanced PHP Course

We had been very busy preparing an advanced PHP course for Perú, with the idea of uniting the 5 only Zend certified engineers in Peru to teach a 120 hours curriculum. However, even the incredible value, a Flash game and a lot of e-mails sent didn’t help us reach our limit of a minimum of 15 participants. This has taken a very hard toll on us as we expected to be able to play a major role in the improvement of the PHP software engineering quality in this country. Nevermind… we’ll try again later.

National Education Organization

Although we aren’t allowed to give the name here, we built a web application for an education organization that wants to control the progress of the national regions in the implementation of common procedures. The project is not finished yet, but they can already input their values through a pre-mashed Excel spreadsheet that we parse and of which we use the data to print beautiful dynamic graphics of which they can control the access and the additional information. We hope we’ll be able to show that online at some point.

Installing PHP apps remotely through NetViewer, and connecting to Oracle

We hate working on Windows, so we had a particular chill when we learnt we would have to install a PHP, Apache and MySQL server through NetViewer, but in the end everything went well and it was just a matter of hours before the whole stuff was setup. We had a few bugs due to our application using JQuery stuff that weren’t well supported by IE7, but then (even if it wasn’t related) we fixed that as well. The whole system also had to connect to Oracle for GIS features that we implemented, so we learnt that Oracle Spatial 9 and Oracle Locator XE 11 bear a few differences in terms of declaring the MDSYS.SDO_GEOMETRY fields (i.e. you have to put MDSYS in Spatial)

Chamilo project progress

The Chamilo association organization hasn’t been progressing much this month, mostly due to administrative decisions taking some time. However, we have gathered candidates for the first board of directors and delegates for various functions. The software project, on the other side, has been leaping forward. We have set up a development site at http://chamilodev.beeznest.com where you can try out the latest features. These include full UTF-8, timezones, dashboard for the HR director and attendance sheets. Stay tuned. First alpha released planned for March…

Contributing to FLOSS

As usual, we have hosted local communities meetings in the Lima offices this month, with also the first local meeting for Chamilo planned for the 27th of March. Our team participated, as spectators this time, to the first MAOW (Mozilla Add-Ons Workshop) in Lima. It was great and we learnt a few nice tricks to get Firefox extensions up and running. Thanks to Mozilla Perú for this great opportunity!

Categories: English, News Tags:
%d bloggers like this: