Archive

Posts Tagged ‘web services’

Adding user-based API keys in Dokeos 1.8.6

January 15, 2009 1 comment

As the beta draws closer (it should have been released last week but we had to add some last minute stuff to avoid waiting 6 months before being able to integrate them), we just happened to organise the January Drupal Perú reunion here in Lima, and… well, let’s say we got a bit crazy and considerably extended the possibilities of the Drupal-Dokeos module, but got blocked by security issues regarding access to specific users’ data inside the portal.

So we thought that a user should, really, have a proper API key in order to let his Drupal portal access his own data and complete his account details.

The problem that appeared was that we didn’t really know what an API key should be… in the end, after discussing it for a while and looking around at the current offering, we decided that an MD5 string built randomly wasn’t too bad for a start, and I’ve taken the responsibility to add a new user_api_key table into the Dokeos main database to be able to store these keys, for users who want to generate one (and only them). Offering the possibility for one user to generate or delete a key improves the security and allow us not to bother people with a lengthy upgrade procedures (which would have to generate the MD5 strings for every single user, thus also using at least 32 bytes * the number of users of disk space). Another field, of type char(10), has been added to qualify the API key, for example in the case it’s actually an external API key (like to access Picasa, Hi5, LinkedIn or Facebook by using ‘picasa’,’hi5′, etc in this field). This could later be used by Dokeos plugins to implement specific features that connect to these external sites.

I could have used the new extra_user_fields stuff, but it seemed to me like a whole lot more complicated to deal with because of the visibility features of these fields.

Anyway, the table is in there, and there are a bunch of functions in main/inc/lib/usermanager.lib.php, but there’s still no interface (might be added in the beta).

First web service in Dokeos

I just integrated the first web service implementation for Dokeos. Developed by Eric, the first web service, ultra-simple (and not flexible at all yet), will provide the possibility to trigger the import of users from a CSV file into Dokeos.

As is, it’s not *really* a web service, mostly because it depends on a file being present on the server to work, but it does provide the root implementation of web services and security control (we are using a random hash generated at each Dokeos installation and kept into the configuration file) we needed to get started with web services.

But with these little commits into SVN, we also added (while we were at it) the structure to start cron processes in Dokeos, just by having one script started by the operating system, at regular intervals.

This also opens the door to possible “profesional pack” features (providing a set of web services or cron tasks that are not free as in beer) for us, that will help your favorite e-learning software to grow, by providing large companies with what they want for more money and infusing that money into more developments, and giving the free users what they need for free.

I’m sure I’ll come around again in the future to talk about how great this is, but for now I’m done.

End of July update on Dokeos development

July 29, 2008 1 comment

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!

%d bloggers like this: