Access Keys:
Skip to content (Access Key - 0)
Home (Access Key - 1)
All spaces... (Access Key - 3)
Log in (Access Key - 5)
Sign up (Access Key - 6)
Contributing to Mambo

Mambo Manual is part of the documentation project for the Mambo open source content management system

Toggle Sidebar

Getting Started


Do you want to program Mambo extensions or become a developer of Mambo itself? The following is a brief overview of how you can get started:

Take Your Time!

Mambo is a large project with almost half a million lines of code, numerous libraries and several different technologies so don't rush your journey into Mambo or you will soon be going cross-eyed and becoming frustrated! Mambo did not grow up overnight and is the result of 8 years of coding. We would love to be able to say that the code is all well-commented and coding styles consistent but although we are working on that we are not there yet. Taking time to learn the code will save you hours of frustration later.

Read Up

There is a growing resource of developer documentation here on the wiki and more information to be found on our dedicated Mambo Developer web site. Also, refer to the API and read through the source code itself (but don't swamp yourself - use the source code as a guide and refer to the portions relevant to your work).

Decide What to Develop

Are you thinking about developing a new extension for Mambo?

If so, have you already searched to see if there is something similar around, under a GPL-compatible license? Improving an existing extension is beneficial to the entire Mambo community. Making popular extensions from related CMS's play well with Mambo is also a good choice. There may also be existing extension projects that need additional developers in order to complete the latest, greatest improvement and you may find that joining forces with other developers is a good way to get involved.

Are you thinking about developing code for Mambo itself?

Study the code you want to improve and start small. You may find a Mambo core extension you could improve, or you may find an enhancement request or wishlist task on the tracker that you might like to work on.

Read Contributing to Mambo Code and then continue on to read about how to submit your code to Mambo.

Experiment

Plan your innovative new extension and design (pencil and paper are good tools for this) and let your creative flair guide you. Keep the Mambo API open to refer to and start with a basic application to see how things work. Once you get a greater understanding of Mambo's extensibility you will be able to build your basic application into something more complex. Just don't expect things to work 100% right off. If you get stuck you can always ask for help on IRC or on the developer mailing list (just remember that Mambo developers are very busy people and are coders, not teachers).

Document Your Work

Mambo needs more developer documentation and you can help with this as you code. Using yourself as the target audience, consider what you would like to know from a tutorial on the class, module, component or mambot you are working with. Making notes as you go will help you to gain a greater understanding of Mambo's code and
sharing your notes (even if just in note form that others can pad out later) benefits other developers.

Making sure your code is well commented and suitable for parsing through phpDocumentor is important.

Making your Code Available

If you are developing Mambo extensions and your extension uses a GPL-compatible license you can create a project on the Mambo code forge and utilise all the power of our Gforge Advanced Server free of charge. This saves your bandwidth and also makes it easier for users to find your extensions.

If you are developing for Mambo itself, read Submitting Patches and make sure you sign and send back the Mambo Contributor Agreement.

Toggle Sidebar
Space Navigation
Added by Lynne Pope on 24 Sep, 2008 06:12, last edited by Lynne Pope on 24 Sep, 2008 14:12

Adaptavist Theme Builder Powered by Atlassian Confluence
Free theme builder license