Joomla is a open source content management system (CMS) for publishing content on the World Wide Web what is ideal for Web site maintenance. Primarily Joomla enables you to build Web sites and powerful online applications, and after that it is just easy to publish and maintain content on the Web site. This is managed by content management system. The emphasis is on simplicity so you just need to put your text, photos, or videos in Joomla administration area and CMS manages all your content to go to the right places on site. Joomla can be used for a variety of web sites for various purposes but mostly for Corporate Web sites, Small business Web sites, Non-profit and organizational Web sites, Personal or family homepages, Online magazines or newspapers, E-commerce and online reservations etc. Other features include:
Web design in Joomla is created through templates. Templates in Joomla are a powerful way to make your site look exactly the way you want and either use a single template for the entire site or a separate template for each site section.
Joomla has a registration system that allows users to configure personal options. There are nine user groups with various types of permissions on what users are allowed to access, edit, publish and administrate.
There is international support for many world languages and UTF-8 encoding. If you need your Web site in one language and the administrator panel in another, multiple languages are possible.
Here is also Media Manager , Banner Management , Contact Management, Polls, Search, Web Link Management , Syndication and Newsfeed Management , Menu Manager , Integrated Help System etc.
These are just some of the basic Joomla features and the real power is in the way you customize Joomla. For specialized functionality Joomla is highly extensible and thousands of extensions are available in the Joomla Extensions Directory. Also web developers can develop their own custom applications, and in Joomla that could be a module, plugin or component:
A component is in fact a seperate web application. So if you install a component, you add an application to your website. Examples of components are a forum, a newsletter, a community system, a photo gallery, etc.
Modules are extensions which present certain pieces of information on your site. It's a way of presenting information that is already present. They are like blocks of pages for which you can specify exactly on which positions and what sites must be shown.
Plugins are in essence event handlers. When a particular event occurs, all plugin functions of the type associated with the event are executed in sequence. For example, a plugin could be used to intercept user-submitted articles and filter out bad words.