Remember me

Forgot your password?
Chisimba blog
The site blog for chisimba.com is used to display posts from users who wish to contribute to the site content. Anyone with blogging rights can post to the site blog.
Search blogs

Add a Block

Login, accounts & passwords
Login in with OpenId as follows:
  1. Click on the Google (or Yahoo) icon and login with your google (or Yahoo) account (or use a URL to another provider).
  2. Click on the User menu, then my profile. Set your Full name and password there.

Thereafter login with your gmail, yahoo or other site account as the username, and the password that you set as the password. Otherwise, OpenId will create another account (this is a bug, being attended to - the OpenId code is new).

Note: There is no password recovery facility for openid logins for obvious reasons.

Mailing list

Add a Block

Temporary notice

We are in the process of restoring a new chisimba.com after it was moved from our old infrastructure. Please bear with us a week or so as this is a community activity of volunteers. We are currently working on a new skin for the new site, this is just the vanilla skin and will change as soon as we are done.

About Chisimba

Chisimba is a PHP framework for building web applications and applications that need a web API. It implements a model-view-controller (MVC) design pattern, implemented on a modular architecture. There is a core framework, and numerous modules that implement functionality ranging from blogs through CMS to a eLearning system. The interface design is flexible and implemented via canvases (skins, or themes). There is an online package management system, and developers can build modules rapidly by generating a working module from which to code.

  • Free Software (Open Source, GPL licensed) framework for building cutting edge web applications
  • Enterprise content management, eLearning, blogging, social, etc platform
  • Highly flexible, customizable, and extendable software framework and applications
  • Scalable architecture, suitable for individuals to enterprises
  • Cloud ready, deploy new cloud sites in minutes with a single command
  • User friendly, with team who can customize and build your unique interface
  • Helping to create idea capital in Africa
  • You don't have to be human to use it
Site posts

Some improvements have been made to email sending in Chisimba, and more are planned for the next couple of weeks. All code has been switched to the new email object (called 'mailer'), and here is what you need to do to make it work. Please note that for some developers, you might find that there were two mail modules, one in core_modules and one in modules. The one in modules should be removed, I have no idea how it got there but probably it was me doing something stupid.

This is particularly important to anyone running production sites....

Before you start, go to system configuration | mail and write down your SMTP Server settings.

1. Uninstall the mail module ("Email support in Chisimba"), even if you do not have the duplicate module.
2. svn update the modules directory
3. Make sure that the duplicate mail directory is gone from modules, if not, delete it. If it stays there empty, your Chisimba installation will be broken.
4. Run all patches.
5. Go to framework and git pull the core_modules
6. Run module catalogue and click on update packages
7. Find and install the mail module (now just called 'Email support')
8. Go to the mail module in system configuration and re-enter your SMTP server details, including the port.

Make sure that framework is up-to-date from the master git repository, and that modules are up-to-date from the subversion repository. It is highly recommended that you stage this change before pushing to any production sites.


Since we moved the Chisimba framework core to git, and some people (me included) are struggling with Git, this video might be worth watching. 


I took a busman's holiday today to combine my photography, biology (birds in this case) and programming hobbies. What fun! The idea was to see what could be done with open data and some basic programing skills. While there is a lot of data about birds on the Web, most of it is copyright or tied up in forms that can only be accessed by humans using a web browser. Scraping can be done, but that probably violates copyright in most cases, so I looked for open APIs or open data sets. Whole organism biologists are way behind the curve when it comes to making data available to non-human access.

So, to see what could be done with open data, I wrote an application for mashing up species (of anything as long as there is information available online) with information on them from Wikipedia, images from Flickr, and other data from the Internet. I tested it with South African birds, and although it is still crude, it makes a pretty cool alternative way to get bird info on a computer or tablet - provided there is Internet of course. Will have it up on dkeats.com in the next day or so. It just goes to show how fast you can build appications with Chisimba, since having it working took about 4 hours - of which one was spent converting the bird list to XML format. I generated the skeleton for it using Module builder a few weeks ago and then forgot about it. The database class took 7 minutes to write, with most of the functionality being in an ops class that took about 2 hours. It uses JSON blocks, so adding ops functionality to a block and putting it in the interface literally takes seconds to do.

The module is called species, it is not in the repository yet, I need some permissions to use the species list data before I can commit. It will work for any group of organisms for which there is a reasonable chance of information being available. Just load a species list, and you get instant mashups. The next thing I want to add is the ability to automatically find photographs provided by a user on the Chisimba system. 

UPDATE: You can now take this for a test drive on dkeats.com

UPDATE2: Thanks to the Encyclopedia of Life (to which I have contributed many images) and its open API, I was able to find a way to incorporate birdsongs. Unfortunately, for South Africa species, there are not that many of them available, or at least linked.  You can now check it out on dkeats.com and look for Batis, Cape as an example. Unfortunately, they are all in the MP3 format, and Firefox doesn't play MP3 as HTML 5 audio, so I had to use the Flash player for Firefox. The great thing about Chisimba is that this is three lines of code to build a Flash audio player.

Here is how to build a sound player in Chisimba that will play either HTML5 audio or via Flash depending on the browser:

    private function embedAudio($url)
        if ($this->isFirefox()) {
            // Do a Flash player
            $objSoundPlayerBuilder = $this->newObject('buildsoundplayer', 'files');
            return $objSoundPlayerBuilder->show();
        } else {
            // Do an HTML5 player
            $doc = new DOMDocument('UTF-8');
            $snd = $doc->createElement('audio');
            $snd->setAttribute('controls', 'controls');
            $file = $doc->createElement('source');
            $file->setAttribute('src', $url);
            $file->setAttribute('type', "audio/mpeg");
            return $doc->saveHTML();
Chisimba is so easy to work with for this kind of thing! 

There are three components of Chisimba that you need in order to run a site, and these can be obtained from our Git and Subversion repositories. These are

  • Chisimba core (from Git)
  • Chisimba modules (from Subversion)
  • Chisimba canvases - sometimes referred to as skins or themes (from Subversion)

While you can do a basic install with just Framework, you can't do much without Modules, although you can install modules remotely using the ModuleCatalogue module once you have Framework installed.  The commands below are based on an Ubuntu GNU/Linux terminal checkout, but you can adapt them to other systems and interfaces easily enough as the required information is contained in the command.

To obtain a read-only checkout of Chisimba core, issue the following command:

  • git clone git://github.com/chisimba/chisimba.git

If you don't want to use git directly, you can download a zip archive from Github.

To obtain the modules,   you can issue the following command:

Please note that we do not provide formal releases for modules, each module is tagged in the repository as to its status. Modules tagged stable or beta are generally safe to install using the Chisimba module catalogue.

In addition, you will almost certainly want to obtain the Canvases repository, which contains all the latest canvases or themes, from which you should be able to find one to adapt to your needs. The skins in the Framework itself are deliberately lean and basic. Obtain this by:

You can then proceed to read the post on installing Chisimba, either the developer install, or the production install.


Software Freedom Day was held  on September 15th in Gauteng at the Chamber of Mines Building at Wits University, organised by a group of keen Free Software affictionados. The target of the day was fellow geeks, and about 130 of us turned out, most of them remaining right to the end of the talks.  Chisimba was well represented, and aside from myself, David Wafula and Paul Mungai were on hand, as was intern Monwabisi Sifumba.  Melissa and Frankie also came along for the day, and Melissa was the official photographer. I also did a 10 minute talk on Chisimba, which will be available soon as a video. There was quite a lot of interest in Chisimba, and I got the feeling that if we could keep the momentum going, we would quite easily turn Chisimba into a commercial success.

[1] 2 3
Page 2

Add a Block