Joomla is a popular Content Management System (CMS). It is written in PHP and is open source, which means that any developer can contribute extensions to expand its functions and capacity. By default, Joomla enables administrators to cache pages, configure RSS feeds, create blogs, and implement site search functions. There are five types of extensions that developers can create for Joomla to increase its core capabilities: components, plug-ins, templates, languages, and modules. Through these extensions, a Joomla website can be programmed to meet a wide range of needs and perform a variety of complex functions.