- Chisimba
Chisimba is a Web 2.0 enabled rapid application development framework for creating web applications that are platform independent, browser independent, XHTML compliant, and can use a number of common databases. The framework is written in PHP5 using the model-view-controller paradigm, implemented via a modular architecture. Chisimba has an API that can be used by other applications over the Web, and it is Free Software licensed under the GNU GPL.
Background
Chisimba is the product of a collaboration of the 13 African universities involved in the African Virtual Open Initiatives and Resources (AVOIR) project. Its main purpose is to foster capacity building in Software Engineering among African universities through the collaborative development of Free Software. The framework includes contributions from others outside AVOIR as well. Its physical home, and the location of the highest concentration of developers is in the Free Software Innovation Unit at the University of the Western Cape (UWC).
The word "Chisimba" is the Chichewa (Malawi) word for the framework used to build a traditional African house.
History
Chisimba has been around for about one and a half years, although the application it was derived from was started in 2004 (KEWL.NextGen, a PHP4 application the core framework of which was named KINKY). Both Chisimba and KINKY were initiated by Prof Derek Keats at the University of the Western Cape in South Africa, with architecture initially by Sean Legassick and later adapted and extended by Paul Scott.
Functionality
Over 100 modules of functionality are already available and these can be used to create a Content Management System, a Web 2.0 enabled e-learning platform, a group-based collaboration platform, a blogging system that allows posting from mobile phones, and many other applications.
For developers
Chisimba includes a modest code generation engine that can use XML templates to generate code for common purposes such as accessing data, creating or consuming web services, wrapping foreign classes, etc.
Chisimba allows full internationalisation and localization using commonly available translation facilities, thus allowing interface elements to be presented in different languages without having to modify any core code.
Simple and extended help capability is built in, and allows for the presentation of simple textual help, extended help, or extended help via Flash files in multiple languages.
Configuration
Chisimba modules are configured at install time from a simple text-based configuration file that contains common setting, and automates permissions and menu entries. Most settings are configurable from a dynamic configuration editor, including menu entries, permissions, and even the type of site. The module catalogue includes some common configurations, allowing you to install an e-learning platform, a Content Management System, an organizational portal, or any of several other configurations from the same code base. Modules can also be installed individually or combined in different ways to create entirely new application types without any programming.
Chisimba uses a group/role based access control system that is underpinned by an ACL system that allows permissions to be as fine or as corse grained as you like. Groups and roles can be edited in a GUI editor, and can be changed on a per module basis if necessary. Developers can use this to assign module, page, or within-page permissions.
The framework uses an online package management system, similar in approach to the Debian apt package management system, with packages downloadable and installable from within Module Catalogue without the need for accessing the file system.
Criticism
Chisimba has been criticized because it replicates functionality found in other application frameworks. It has been argued that the time of African developers would be better spent improving existing applications.
External links
* [http://avoir.uwc.ac.za/ avoir.uwc.ac.za] - The AVOIR project site where most things related to Chisimba can be found
* [http://fsiu.uwc.ac.za/ fsiu.uwc.ac.za] - The Free Software Innovation Unit, custodians of the Chisimba architecture, and the UWC node in the AVOIR network. The site is running Chisimba in a simple content management configuration.
Wikimedia Foundation. 2010.