miércoles, 7 de julio de 2010

self.showOff(:YAAS)

Yep! It's time for writing again! This time I want to comment about other development work I have been doing since the beginning of this year, mostly for Paraguay Educa OLPC infrastructure and Sugar.



One of the most useful systems I have developed this year (so far) is a web activation management system which can be used for OLPC anti theft system. The OLPC anti theft architecture requires having an special server which generates the activations for the laptops. This special server contains a package called Bios-crypto, which uses private/public keys (very sensible data, that has to be secured).



One "problem" with this system is that there is no way for local deployment technicians to generate custom activations, without the need of accessing the special server for manual generation (security alert!) or having an account into OLPC activation website (which is also open sourced, but not really practical for local deployments). Manual activation generation is a real headache for whoever is in charge (entrusted) of that special server.



Thats why I developed YAAS (Yet Another Activation System). YAAS provides a very easy to install-manage-use environment. It is very simple but has great features. Basically, the system's administrator can create accounts for technicians setting custom limitations for each technician.



The whole idea is that every technician has an activation bucket. This bucket represents the number of laptops that can be activated by the technician. System administrator can "refill" technicians bucket when it runs out. Other important limitation is the maximum activation time. Each technician has a limit in the duration for the activations he creates. This is very useful when you have many different kind of technicians.



The system has an activations log that can be accessed by the administrator or the technicians (only for their own activations, of course). This log can be useful for accessing the activations, so it works like a "key-ring" of technicians activations.



The system provides two different packages, one for the web front end and another for the activation generation back end service. This separation is needed considering the security aspect for the special activation server. This generation service could be isolated from outer world, and let the front end act as a proxy.



The system's front end was written in Ruby on Rails while the back end is pure standard ruby. From what I know Paraguay Educa is the only deployment using it at the moment. But Daniel Drake from OLPC has shown interest in using for other deployments, as he did for Inventario.

Source code is available under GPLv3

yaas-web:
"git clone git://git.paraguayeduca.org/users/mabente/yaas-web.git"

yaas-server:
"git clone git://git.paraguayeduca.org/users/mabente/yaas-server.git"

Official documentation:
http://wiki.paraguayeduca.org/index.php/Yaas_documentation

Many things to improve! Help! :)