In the beginning of 2000 we started the writing of SAGU, using the same ER (Entity-Relationship) model used by the old system. From the beginning, SAGU was conceived to have a web-based (browser) user interface, so the user would be platform independent - we already had a plan to migrate the user desktop to Linux. We started the development using the MySQL database server, and as in that time, MySQL didn't have transaction support, we migrated the development to PostgreSQL. As we didn't have previous experience with MySQL or PostgreSQL we decided SAGU should also be database independent, so we created a structure (actually, a PHP program) called common.php, which would handle database connections - if we ever needed to change to another database, the only program we would change was common.php. Later, after a visit by Mr. Rasmus Lerdorf to our University, we decided we would stick to PostgreSQL and created a new transactional/presentation base for SAGU and all of our free software projects, called MIOLO, but this is another article...
SAGU stands for Sistema Aberto de Gestão Unificada, which translates into English to Open Unified Management System. In a nutshell, SAGU automates all the relationships between the students and their educational institution, from the moment the student enrolls for the entrance exam until after he/she graduates.
SAGU went live on July 2000. The first production version was developed in less than six months by a group of three developers. SAGU subsystems try to mimic the functions of the educational institution, so, it has modules that handle the entrance exam (optical reading of the student answers, classification, classroom assignment) the enrollment process (which courses the student may choose for a given term, prerequisites), the academic data (grades, academic history), financial and accounting data (payments, credits, scholarship, interface with the banks and other accounting/ERP systems) and reporting tools.
Now, SAGU is being rewritten using Object Orientation techniques, and all of the database transactions and presentation logic is going to be handled by MIOLO (MIOLO is the Portuguese word for the inside part of a bread).
More information on SAGU, along with the source code, can be obtained at http://sagu.codigoaberto.org.br . Unfortunately, for English readers (most of you, I believe) most of the information is in Portuguese. There is an effort on porting it to English, being coordinated by Kaziro in Sweden, in order to have SAGU working for some schools in South Africa - isn't it the true beauty of Free Software? Kaziro can be contacted at kaziro@spray.se . If you are in the educational area, you may also be interested in knowing our GNUTECA project, which is being alpha-tested in one of our libraries. GNUTECA is a free software for library administration, including materials catalog, loan and collaboration system. It is compatible with library standards (MARC) and provides a good migration path for users of the CDS/ISIS system to the free software world. GNUTECA info can be found at http://gnuteca.codigoaberto.org.br.
Cesar will be giving a talk about SAGU at the Linux Showcase, 5 November 2001, at 1:30pm. At 8pm, he will be hosting a BoF session on Brazilian free software. See http://www.linuxshowcase.org/