|Stable release||0.8.2.5.1 / 2009-12-23|
|Written in||Java, PL/SQL|
Makumba is a query-centric application framework using the model-view-controller pattern and designed to develop data driven web applications. It provides a custom JSP tag-library as a main interface, but leaves API open for advanced access. It is implemented in Java.
Makumba is an open-source infrastructure technology helping its users to put together data-driven web applications for medium and large audiences in a rapid, architecturally-sound and sustainable manner. Makumba is aimed towards communities of programmers of varying competencies, from HTML, through SQL, procedural programming, to object-oriented programming in Java. Many of its users have followed this learning path from simple scripting to professional programming, and later built on this experience, finding jobs in IT consulting companies.
Makumba was designed and partly implemented in the context of a PhD thesis at KTH, as part of a larger project aiming to help amateur and voluntary communities to design and implement their own software . The main setting for use of Makumba is the pan-European voluntary student organisation called BEST (Board of European Students of Technology), present in 83 technical universities across Europe. The organisation runs applications for its members (over 1500 users) and for its student "customers" (around 10000 users every year, a third of whom attend the 1-2 week courses organised by BEST). Applications are of varying natures: document sharing, membership databases, registering and processing applications to internal and external events, shared calendars, virtual job fair, etc. The applications are designed, developed and maintained by the "IT group", a distributed group with no physical premises, meeting several times a year. Like in the rest of the organisation, students come in and out of the group on a regular basis, as people finish studies or run into family or job obligations after finishing studies. In this context, it is a challenge for the IT group to sustain long-term activities such as application design and development, which sometimes span several generations of voluntary members. Attracting new members in itself (i.e. sustaing the whole group) is a challenge.
Since the adoption of Makumba in 2002, the IT group size stayed steadily over 20. A large number of new sub-applications are proposed, prototyped (using e.g. PowerPoint) and implemented on a regular basis, and the common database allows them to be fully integrated with the Makumba-based system of the organisation, which now features around 100 data types, 1500 JSP scripts and 150 Java modules.
Makumba has been designed specifically to answer the needs of groups and communities as the one described previously. Its main design principles are: