Joomla! Programmers Documentation

Manual Index

Get Started

Welcome to the Joomla Developers Manual

The purpose of this guide is to give developers an up to date guide showing best practice in writing and maintaining Joomla extensions. It's aimed at both developers of core Joomla extensions and those developing extensions either for their own use or for making generally available to others. It also offers a migration path for extensions from older Joomla! versions to the latest standard.

In this section we run through the tools and processes required to set up a local development environment with the ability to get the most out of the guide as a developer.

Quick start

To get started with developing your own extensions for Joomla you'll need to have a local web environment set up - eg using WAMP, Bearsampp or XAMPP.

It's very useful, though not essential, to have git and a PHP IDE installed as well.

Download Joomla from the Joomla download site and install it on your machine. Before you start trying to develop Joomla extensions you should really become familiar with administering a Joomla site - for example publishing articles, using categories and tags, defining menus and menuitems, setting up users, installing extensions and setting configuration parameters. You'll find plenty of information available online.

That's about it! We recommend that you start with developing a basic module. After that you can explore the General Concepts and try some of the sample extensions available in Building Extensions.

You can find an overview of how Joomla works by watching the video How Joomla Works - a guide for extension developers.

If you get stuck then raise a question on the Joomla forum or stack exchange sites.

Enjoy!

Community

Contribute to this documentation

The Joomla Developers Manual is implemented using Docusaurus, a system that can allow all users of Joomla to contribute to the documentation using Markdown language.

A good place to start, if new to Markdown, is the Markdown Guide https://www.markdownguide.org/

The documentation is maintained via the GitHub Joomla manual where you can at anytime create/edit/delete content to improve the documentation. Click the Edit this Page link at the bottom of this page to contribute via a Pull Request.

If you're intending to contribute regularly to the documentation then you'll probably find it helpful to get involved using the Joomla Mattermost community where you can liaise with others producing documentation, learn about the Docusaurus pitfalls to avoid, etc.