Durante la estadía de Julio en Guatemala, Gustavo Reyes de Interactiva Web grabó un podcast con Julio sobre Dokeos y sus objetivos futuros. Su presentación del tema me sorprendió bastante (no sabía que iba a grabar algo así, ni creo que lo sabía el), pero esta interesante
Here are some more of my reference sheets (one on plugins/tools development and one on security).
I think with that I cover all basic questions a new developer might have, except the system to install/upgrade a Dokeos install (changing SQL queries) and the way to actually query the database using the Database class. After that, some other sheet to explain how sessions work (and how to use them fully on the coding side) would be nice. This would make a set of 5 sheets that would explain almost all the intricacies of Dokeos… nice!
To avoid looking for the other post, here is a link to the first Quick Reference Guide.
Acabo de escribir un post por mi blog en Inglés, que creo que sera de mucha utilidad aquí también. Hace mucho tiempo que quería escribir una hoja de ayuda de referencia para desarrolladores de Dokeos. Ya esta! Esta en Inglés, pero hay poco texto de toda forma. Descargenla desde el blog en Inglés: http://dokeoslead.wordpress.com/2008/09/29/dokeos-185-quick-reference-sheet/
It’s been ages since I first thought I should publish a quick reference sheet for Dokeos developers. It’s now done. It’s a first version but I think it will be really useful to new Dokeos developers. It is already useful for me (particularly for $httpHeadXtra and $htmlHeadXtra), so I don’t doubt that bit.
It is published under the Creative Commons BY-SA license (Paternity, Share-Alike) and I have the SVG format locally, so just ask me for it if you want to extend it. I might pretty well extend this sheet to specific class methods (like Database and Security) in the near future, but this is a good start.
I thought I’ll write a short update on what we are doing at Dokeos at the moment, so you don’t think we’re just sleeping through the summer holidays…
Eric and Julian, of the French team, are currently working on a project for a specific hospital management school in France, and on a large and long-time review project before the migration of portals to version 1.8.5 for an important Belgian client. They have a few weeks of holiday here and there, so they’re pretty much busy full-time on these ones when they’re not gone.
The team of university developers (of whom Sven is half working for Dokeos now) is working on the development of Dokeos 2.0. They are expected to provide a first usable product for the Dokeos User’s Day in December, so I they seem to be putting a lot of efforts into this.
Thomas is busy providing course-building training to a few important medical and pharmaceutical clients.
Arnaud, our system administrator and occasionally developer of the videoconference tool, is pretty busy with new installations and the migration of portals from 1.8.4 to 1.8.5.
As for Daniel and Julio, they work under my supervision on several important projects, including a the development of a few new features for the quiz tool for a local (peruvian) client and the development of a new survey type for a belgian client.
I’ve been giving training for Dokeos administrators and teachers over the last three days of last week, and preparing a long development of new extensions to the quiz and learning path tools (with possible little steps towards SCORM 2004 implementation), and the review and finish of the new survey type development. I’ve also been studying web services quite deeply, and on my spare time I reviewed the possibilities of an integration with Drupal 5 or 6 as well as a few ideas for the SCORM 2.0 white papers call.
As you can see, we’re quite busy. We hope you enjoy your holidays though, if any!
In Dokeos 1.8.5, in the admin screen that allows to add users to a session, we have implemented an AJAX search, or in human words, a search box that dynamically generates a short list of the users which contain the search string.
This feature is only enabled when you have more than 100 users, because the users list would otherwise be very long to load.
If you don’t like this feature, and would like to keep to a straight, classical, 5000 users list, just change the main/admin/add_users_to_session.php, line 232, change “100″ to “5000″ to put the limit at 5000, or just remove the option by setting $ajax_search = false; directly.
A bunch of Dokeos users have reported problems with FCKeditor in Dokeos 1.8.5.
The other ones are all related to the management of special resources (flv, sounds, swf) which seem to be a little bit less reliable than in Dokeos 1.8.4.
Be reassured that we are working on this right now. Julio is in charge of upgrading FCKeditor to the latest stable version and re-applying our customisations, so the next version of Dokeos (which might be just a bug-fixes release to come soon) will fix all that.
Tenemos más y más pedidas para informaciones sobre las soluciones de Dokeos desde que hemos salido la versión 1.8.5. Parece que esta versión tiene mucho que darles, y estamos satisfechos de ver que los esfuerzos de 18 meses desde la primera versión de Dokeos 1.8, y de 24 meses desde la última versión de Dokeos 1.6 esta finalmente brindando retornos positivos, sino ultra-positivos.
En Europa, empezamos trabajando con mega-corporativas y empresas largas, que nos dan su confianza para ayudarles a proveer cursos de una forma muy eficiente. Ahora estamos llegando a un rítmo de más de 4 nuevos clientes mensuales para soluciones completas (Dokeos + Oogie + Videoconferencia).
La semana que viene estaremos instalando la herramienta de video-conferencia en San Isidro, más visitando 3 clientes que nos han pedido demos de nuestra solución.
El servicio de instalación de Dokeos no solo les brinda tranquilidad, sino que les provee con un servidor que estamos capaz de arreglar muy rapidamente si tienen cualquier tipo de problema, y incluímos 10 horas de soporte en cada contrato, para que tengan tranquilidad por un año completo.
Como parece que los gustos de America Latina son diferentes de los de Europa, hemos revizado nuestra oferta para empujar las instalaciones locales, por sus servidores, en su empreza o colegio. Aunque pidemos que el servidor sea Debian o Ubuntu (funciona bajo otros sistemas pero esos son los que nos brindan más seguridad, celeridad y estabilidad), estamos ahí si aparece algún tipo de problema, y les ayudamos para entender el sistema Linux.
Un servidor completo instalado por nosotros es un servidor que no necesita ninguna intervencion por años.
Nos quedamos en Miraflores, Lima, y si nos quieren contactar, por favor revisa la pestaña “Sobre nosotros”.
I’ve had to review the SCORM content migration from 1.6 to 1.8 just today, and really, this is not something I’m enjoying. The complexity of migrating the old structure is enormous due to the lack of structure we had in 1.6, that lead many to launch a SCORM content through a simple link, rather than importing the SCORM content through the SCORM tool (yes, 1.6 allowed that and no, we are not going to allow this again because it makes a mess of the internal structure).
So basically, what have I done?
First, I made sure the links from the course introductions *and* the course links were both treated as possible sources of learning paths. There was something checking those links before, but they were only treated if there was a corresponding correctly-added learning path in the tool.
Second, I realised that, when checking if one of these links really pointed to a SCORM file, I didn’t actually take into account the fact that the old repository was placed, for the time of the migration, into another directory. So I was checking into the receiving courses directory (which at this point of the migration process is still empty) for a file that was in the old courses directory. This, of course, prevented the migration of such SCORM contents to be succesful. This has now been fixed.
These change comes a bit later than the official 1.8.5 stable release, so you won’t benefit from them if you download a stable version from the website now. However, you can still download the file and apply it on the main/install/ directory of the 1.8.5 package *before* you upgrade from 1.6.5 to 1.8.5.
Et voilà, I hope this helps the million of people out there still having held on before migrating from 1.6 to 1.8.
While doing all this, I also realised that some of the courses tools were not correctly moved from the Production section to the Interaction section, but I didn’t find how to fix it. The SQL query is there, it is apparently not working. This is just a matter of executing a little script afterwards though, or updating the database (I’ve seen the problem for the forum and the announcements tools).
You can fix it (in every course database) by issuing:
mysql> update tool set category=’interaction’ where name = ‘announcement’;
You can check out the script itself by clicking the “download” link in our subversion repository
Yes, we have our first annoying bug in Dokeos 1.8.5. It has a very restricted scope, and only happens once you voluntarily activate a new function, but it is there…
When you *upgrade* your portal from anything to a 1.8.5, there is a missing bit of SQL in the upgrade process that mean you will not have a column called “theme” inside your courses’ lp tables.
First, let me tell you that you can fix it pretty easily before upgrading, by adding this line to the end of main/install/migrate-db-1.8.4-1.8.5.pre.sql:
ALTER TABLE lp ADD theme varchar(255) not null default ”;
And the conditions to reproduce the bug are these:
- upgrade to 1.8.5 (the bug doesn’t appear on fresh installs)
- in a course that existed before the upgrade, go to the course settings
- activate the option to set a CSS theme by learning path
- go to the learning paths page
- edit a learning path’s properties by clicking the pencil icon
- change the theme used for this learning path
- click ok
That will display a horrible SQL error (that is, if you left your PHP settings on display_errors=on) that will tell you that the field “theme” does not exist in that table.
You can fix it by manually updating the database (using the field definition above) or writing a script that will update all courses databases to add the field. The writing of this script is left to the reader as an exercise ;-)