Posts tagged "joomla"

Joomla 1.6 Alpha 2 Released

The Joomla project is pleased to announce the immediate release of Joomla 1.6 alpha 2. This release contains many new features requested by the community; most notably, ACL. Other features are listed below as well as what you can expect in the future for Joomla 1.6.

This is an alpha release. It is intended to be a developer/hobbyist preview and is not intended to be used on a production web site.

New improvements/features since alpha 1 include:

  • ACL: access management for global permissions as well as content item specific permissions, variable usergroups, users member of more than one usergroup, permissions are inherited, really fast
  • Extendable user profile, profile view in frontend, extendable user parameters
  • Tableless com_content layouts
  • Improved com_content modules (mod_articles_archive, mod_articles_latest, mod_articles_popular)
  • Article linker plugin for editors
  • New frontend template (atomic)
  • New backend template (bluestork)
  • New uploader for media manager

Other Joomla 1.6 improvements that existed in alpha 1:

  • Mootools 1.2
  • Refactored backend
  • JForm
  • Nested Categories and category parameters
  • New views in frontend: categories, category
  • Lots of small code improvements, almost cut the code size in half while adding to the functionality
  • PHP 5.2 required, huge performance improvements, partially eaten up by new features => 1.6 will be faster than 1.5

What's next?

After alpha 2, the Joomla community can expect a beta release. There are no intentions for a 3rd alpha release.

You can also expect to see the following future improvements:

  • Commenting solution is going to be added
  • Additional DB drivers
  • Lots of small performance/UI/code improvements

We would like to thank all those involved who helped make this release possible.

Download here:

Discuss here:

Phoca Documentation Version 1.1.0 Released

Phoca Documentation component, Phoca Documentation Navigation plugin, Phoca Documentation Section Menu module have been released.

Download: Phoca Documentation download site
Latest Files RSS: Phoca Download Latest Files RSS

News in this version:

  • Breadcrumbs support was added
  • Fixed bug with displaying not allowed articles (Start Publishing, Fihish Publishing) in Sections, Section and Category view
  • Added new option to display menu links to Category and Section View
  • New parameter added - Display Up Icon
  • New parameter added - Display Number of Documents in Sections View
  • New parameter added - Display Number of Documents in Sections View - in header of the section
  • Changed parameter Display Sections - from text form field to select form field
  • Changed parameter Hide Sections - from text form field to select form field
  • Changed main CSS file.
Removing the Joomla Generator Tag

A common request from Joomla web masters is the ability to remove the generator meta tag from the source output of the site.  This is usually for security reasons to make it less obvious that the site is running Joomla.  The generator value is really easy to modify and remove with one line of PHP code.

Fire up your favourite editor and load the index.php file of the default template on your site.  Most templates should have a block of PHP at the top of the file starting with and closing with ?>.  Find this block and just before the closing PHP brace, insert the following lines of code:

// Remove the generator meta tag

What we have done here is told the template (that's what $this is) to set the value of the meta generator tag (that's what setGenerator does) to nothing (that's what null means).  When you do this, refresh your web page and view the source of the output.  Scan down from the top of the file to find the meta generator tag.

  <meta name="generator" content="" />

You can see it's obviously still there but the value is empty, giving you no clues as to what CMS is running the web site.  Nothing is probably the safest value, but you could set it to anything you like if you really wanted to.

There are several other files that could be loaded by Joomla in the template.  You will also need to do this to the component.php (that supports the Joomla Print View) and if you have a custom Error or Offline page, you will need to add the line of code to error.php and offline.php respectively.  You can find out more about these additional template files in the Template section of the Art of Joomla Developer Reference.

This is just another example of how flexible the Joomla templating engine is and why it's a makes Joomla a great choice to power your web site ... anonymously.

Joomla's hidden feature - hiding Intro Text

Joomla Web sites typically use the "Intro Text" and the "Read more button" and just continue the story from the Frontpage Blog view, or a Newsflash module - but it doesn't have to be that way.  You can actually hide the Intro Text when displaying the full article.

To do this, edit the article in the Joomla Administrator.

Click on the "Parameters (Advanced)" pane to the right of the text of the article.

Find the parameter called "Intro Text" and change the select list to "Hide".  Your article might look something like the following screenshot (click it to enlarge):


(You will note that I've fixed up some of the typo's since I took this shot.)

Save the article.

Now have a look at the article as it appears in a blog view, or a module, and then look at the full article.

The effects can be dramatic, such as in this article, or they could be more subtle.  You could make small adjustments such as you might see at (this is not a Joomla site, but it's a site that inspired many of the early features I built into Mambo, the project from which Joomla was born) where the introduction on the frontpage changes slightly and the image includes a caption in the full article.

I hope you enjoy this useful, yet overlooked, feature of Joomla - hiding Intro Text.

Joomla Caching Explained

Any dynamic content management system makes the web server work and Joomla is no exception. However, most Web sites have content that does not change frequently where caching techniques can be employed to reduce reinventing the wheel (or the content as it may be) each time a page is visited. This article looks at the three levels of caching available to a Joomla 1.5 web site.

The idea behind caching is that once you’ve gone to the trouble of running a component, a module, or even building a whole page, it makes sense to take a copy and reuse that if possible. By default, Joomla does not cache any content. This means that every time someone visits your page, all the computations that it took to build the page are done over and over again even it there is actually no change in what the visitor sees. To overcome this, Joomla provides three levels of caching:

  1. Page caching
  2. View caching
  3. Module caching

Page Caching

Page caching is where Joomla takes a copy of the whole page when it is first displayed. If that page is then visited again, it takes that copy it saved and just displays the output, bypassing much of the code and many of the database queries that were required to build it.

Page caching is supported by the System Cache Plugin that comes with Joomla. To enable this, log into the Joomla Administator and choose Extensions -> Plugin Manager from the menu. Change the type filter to "system" so that the plugin is easier to find (or just search for "cache" in the filter box).


Click the icon in the enabled column to activate the plugin.

If you edit the System Cache plugin you will see that it has two options:


Use browser caching

The help text for this is a bit cryptic:

"If yes, use mechanism for storing page cache in the browser”

What this actually means is if you enable this option, Joomla will send a "304 Not Modiifed" header to the browser if the page has previously been cached. This will tell your browser that the page has not changed since you last saw it and saves another request to the server to actually get the contents of the page (assuming the browser stored a local copy). This is really only needed if visitors would return to pages while browsing your site. In this case, when they go back to a page they have previously visited, it can make the site feel a little more responsive. If your site visitors generally do not visit any page more than once during their browsing session, this option is of no real advantage.

Cache Lifetime

This is the time, in minutes, to store a copy of the page before a full refresh is done. The choice of time depends on how frequently content is updated. If you have news coming out every few minutes, then you will want to keep this setting low, even as low as one minute. If you only update your content once a day, then several hours may be appropriate. When adjusting the cache time, you need to consider dynamic modules and the content they display. While you may only update your content once a day, or even once a week, you you have a comments system linked to a "Latest Comments" module, and those comments are made, on average, once every 10 minutes, then you may need to set your cache time as low as 3 to 5 minutes so those changes are reflected in a timely fashion.

Page Caching Performance Testing

The following results are from testing a Joomla 1.5.14 site on a local development laptop (Macbook Pro 2.1.6 GHz Core Duo with 2 Gb of ram, PHP 5.2.6, MySQL 5.0.41).  The results where complied by turning on the System Debug plugin (and a little hacking to make the results show under cache due to a bug in the plugin).

SEF Off, System Cache Plugin Off

Application afterLoad:       0.000 seconds, 0.24 MB
Application afterInitialise: 0.072 seconds, 3.72 MB
Application afterRoute: 0.114 seconds, 5.46 MB
Application afterDispatch: 0.165 seconds, 6.86 MB
Application afterRender: 0.667 seconds, 7.98 MB

SEF Off, System Cache Plugin On

Application afterLoad:       0.000 seconds, 0.24 MB
Application afterInitialise: 0.077 seconds, 3.79 MB
Application afterCache: 0.080 seconds, 3.97 MB

The improvement is significant where caching delivers the same content about eight (8) times faster and uses half the memory.  This effectively constitutes a no-load test (in other words, ideal conditions) so it demonstrates the best possible performance you can get from turning caching on.  You will generally not see the same magnitude on a production server and probably even less in a shared hosting environment but the effect should still be noticable (although, if your pages are module heavy, you might see a greater increase).

Things to Watch When Using Page Caching

There are a number of things that you should watch when using the page caching plugin.  These include:

  • It does not apply to the Administrator.
  • It only applies to guest visitors (not logged in).
  • It does not apply to posted forms (which is a good thing).
  • It replaces security token with the correct value if required (another good thing).
  • It adds a profiling mark called afterCache (but due to a bug, you will never see it).
  • It stores a copy of the whole page after it is rendered based on the URL, so it will work for any unique URL regardless of the component.
  • Articles hits will not increase when page caching is turned on (making any sorting options on hits ineffective).
  • Javascript based dynamic content, such as Google Analytics or Google Adsense, still work.
  • Page caching does not work if Debug Site in Global Configuration is set to Yes.

The cached pages are stored in the /cache/page/ folder.  If your have a very large site on shared hosting you may need to watch your disk quota.

Clearing the Page Cache

Sometimes you need to clear the page cache so that you can see recent changes you have made to the site.  To clear the page cache, select Tools -> Clean Cache from the Administator menu.  Check the box next to the Cache Group called "page" and then click Delete in the toolbar.

View and Module Caching

View and module caching is different to page caching because it only stores copies of parts of the page.  Joomla still analyses and renders the template but you receive a performance boost because parts of the page can be retrieved very quickly.

View and Module caching is controlled by the Cache Setting section under the System tab in Global Configuration.


This allows you to enable caching and set the cache time (in minutes) and the handler (usually just file unless you have some fancy software installed on your server).

View Caching

View caching is only supported in components that enable it within their MVC architecture.  The only component that enables it in the Joomla 1.5 stack is the Articles component but only for guests (visitors that are not logged in) and only if you are not looking at a Category Blog page (the reason why this view is singled out escapes me).  Several JXtended extensions also support view caching.

View caching captures a copy of the output of the component before it is handed off to the template for rendering.  This can be useful if the amount of work to generate a page is processor intensive (that is, it makes the web server work hard).

Like page caching, the view caching is linked to the URL.

Module Caching

All modules (should) have a Caching option, usually in the Advanced Parameters pane and (should) have a Cache Time option which is the time, in minutes, to keep the copy of the module output.  The Caching option allows you to either Use Global, in which case use the setting in Global Configuration, or No Caching.  This means that you have three combinations to work with on your site:

1. Global configuration Caching is Off, so no modules cache their output.
2. Global configuration Caching is On, so all modules using Use Global will be cached.
3. Global configuration Caching is On but modules can individually opt out of caching by selecting No Caching.

It is important to note that this caching setting is different from the caching that the System Cache plugin does.  Actually, they are completely unrelated except that the Cache Plugin takes precedence.  In other words, when the System Cache plugin is page caching, a copy of the whole page, including the modules, is stored.  When the page is pulled out of cache, there is no processing to check whether any modules were set the No Caching.

There are several modules where you should choose the No Caching option.

The menu module generally should not be cached unless it is set not to expand (in other words, it stays open all the time).  Depending on how they are set up, split menu modules should not be cached.  If you do cache an expanding or split menu, it is going to get stuck and confuse your visitor.

Rotating content modules, such as the banners module, should not be cached.  If they are cached, then they will stay on the same content until the cache expires.  One exception is advertising modules that use javascript to display the content (such as Google Adsense).  This is not affected by caching.

The Polls module should not be cached otheriwise you risk getting an "Invalid Token" message when someone votes.

Highly dynamic content modules should either use No Caching or set a very low value for the Cache Time (one or several minutes).

Module caching will work regardless of whether the visitor is a guest or logged in.

Notes for Module Developers

Module developers need to be aware that module caching is handled by the module renderer in the JDocumentRendererModule class.  If the cache parameter is not provided, the module will never be cached regardless of the setting in Global Configuration.  To allow a module to be cached, you must include the following parameter in the module's XML file:

            description="Select whether to cache the content of this module">
                value="1">Use global
                value="0">No caching
Introducing the new permissions in Joomla 1.6

Joomla 1.6 already demonstrates the ability to add your own user groups and access levels.  Mark Dexter has done a very good tutorial on this at which shows some of the supporting user interface under development.  Thanks also go to Mark for developing the design of the inheritance diagrams that you will see in this article.

This article presents the theory behind how the completed permissions management system, a part of the Joomla access control system, will work in Joomla as it currently stands to for Version 1.6 Alpha 2.  Screenshots of the user interface that allow you to set permissions will follow in other articles when the design of the appropriate pages becomes more stable.  This article also includes material presented by Andrew Eddie during his keynote address to the Sydney Joomla Day in October 2009.

Four Levels of Permissions Management

There are four levels of permissions management in Joomla 1.6 and these are set against the user groups defined in the User Manager.  Permissions can be set:

  1. in Global Configuration,
  2. then in each component,
  3. then in each category, and
  4. then in each article.

Each level allows you to choose more granularity for which to set the permissions.  For example, permissions set in Global Configuration will apply to the site as a whole without any additional work.  At the other end of the scale, you can customise the permissions of each article if that level of detail suits your business processes.  Obviously there is a trade-off.  As you apply specific permissions at deeper layers, the administration increases because you are micro-managing permissions on more and more objects.

Actions and Permission Rules

There are eight base actions that you can perform in Joomla 1.6.  These are:

  1. Login Site
  2. Login Admin
  3. Manage
  4. Admin
  5. Create
  6. Delete
  7. Edit
  8. Edit state

A component developer can add more, but most things that you want to restrict a user to do (based on the user groups they reside in) can be mapped to those eight actions.  However, each level of the permissions management system unlocks different abilities for each of the actions (sounds a bit like a computer game, doesn't it)

The rules for the permissions on these actions are quite easy because there are only three possible values as follows:

  1. You can leave a permission unset (in the case of Global Configuration), or you can set it to inherit the permissions from the levels above.
  2. You can set a permission to allow an action to be performed.
  3. You can set a permission to deny an action from being performed.

With that in mind, there are four simple rules by which Joomla evaluates whether you can perform an action.

  1. By default, you can't do anything.  We call this an implicit or soft deny.
  2. You can allow an action, and we call this an explicit or hard allow.
  3. You can deny an action, and we call this an explicit or hard deny.
  4. An explicit or hard deny always wins regardless of whether a soft or hard allow is also available.

There is one exception to these rules concerning the Admin action which will be discussed later.

Permission Inheritance

Permissions are always inherited, in order, down the levels and also down the user group tree.  For this reason, the user groups have been rearranged slightly in Joomla 1.6.


The Public Frontend and Public Backend groups have been merged together to form a single, top-level group.  Both the frontend and backend user group trees hang off the Public group.

The Super Administrator group is now called Super Users (to reduce confusion with the Adminstrator group).

With those things in mind, it's best to look at this with some diagrams that explain each action individually.  In each diagram as a number of symbols that represent the state of the permission that has been set for the action relative to both the user group and the permission level.  The following table explains the meaning of each symbol:

Screenshot An unset permission (which really means deny).
Screenshot An explicit, or hard, allow.
Screenshot An explicit, or hard, deny.
Screenshot An inherited allow.
Screenshot An inherited deny.


The Login Site Action

The Login Site action simply allows you to login to the frontend of the web site.  It has no effect at the component, category or article level (symbols shown dashed).


The Registered user group is set to Allow and, as you can see, this inherits down the tree through to the Publisher group.  Likewise, the backend groups are also given Login Site through the Manager group (set to Allow) and this inherits down the backend groups tree to the Super User group.

The Login Admin Action

The Login Site action simply allows you to login to the backend of the web site.  It has no effect at the component, category or article level (symbols shown dashed).


The Manager user group is set to Allow and, as you can see, this inherits down the tree through to the Super User group.

The Admin Action

Admin is a very special action.  When set at the Global Configuration level, it allows users in that group to perform any action regardless of any other allow or deny permissions (this is the one exception to the rule).  The default installation of Joomla will assign this permission to the Super Users group.

At the Component level, the Admin permission allows a user to change the component options (these are accessed via the Toolbar button called Preferences or Parameters in Joomla 1.5) which also includes the ability to change the component permissions.


Because the component options allow you to change the component permissions, you need to be careful how this is assigned.  The diagram above shows that in Global Configuration we have not assigned Admin to any user groups.  This is because that would also make an Adminstrator into a super user (and then they would be able to do anything).  However, in each component we have set Allow for the Administrator Group.  This means that users in the Administrator group are able change component options, but users in the Manager group will not because we have left the action unset.  In fact, users in the Manager group will not even see the Toolbar button for the options.

One thing to note is that if you install a new component (represented by the "New" component in the diagram) the Administrator group will not automatically have the Admin action.  Providing the component supports options and permissions, you will need to go into the component options and manually add the Admin action to the Administrator group.  In summary, this means that only your Super Users are allowed to assign who else can have access to change permissions.

The Admin permission has no effect at the Category or Article level.

The Manager Action

At the Global Configuration level, the Manage action has no effect (but can still be set).

At the Component level, the Manage action allows the user group to actually access the repsective component.


The diagram above shows that at the Global Configuration level we have set Allow for the Administrator group.  Unlike the Admin action, setting the Manage action globally means that any user in the Administator group can access any component, even new ones that are installed by the site master.

At the component level we can see that the Administrator group inherits Allow for all components.  However, Manager group has allow set individually for each component.  You can see that users in the Manager group will not have access to extension installation or languages because the action has not been set (therefore the implicit deny rule applies).

The Manage action has no effect at the Category and Articles levels.

The Create Action

The Create action allows a user to create categories and content in categories in components.


The diagrams shows that only the Manager groups has set this action to Allow in Global Configuration and the Author group has been set to Allow at the component level (specifically, only in the Article Manager and Web Links Manager).  The Administator, Editor and Publisher groups also inherit the Allow setting at their respective levels.  This means that a users in the backend user groups are able to create content in any component and any category, and also create categories.  Users in the author, editor and publisher group are able to create articles in any category from the frontend.

The Create action obviously does not apply for articles (because if they exist, you've already created them).

The Delete Action

The Delete action allows a user to delete categories and content in categories in components.


The diagrams shows that only the Manager group has been set to Allow.  The Administrator group also inherit the Allow setting.  This means that only users in the Manager and Administrator groups can delete categories and content in any category in any component.

The Edit Action

The Edit action allows a user to modify categories and content in categories in components.


The diagrams shows that the Manager group has been set to Allow in Global Configuration.  The Editor group has also been set to Allow but only at the Component level (specifically in the Articles and Web Links components).

The Administrator group inherits the ability to edit categories and content from the Manager group at the Global Configuration level.

The Publisher group inherits the ability to edit categories and content from the Editor group at the Component level.

However, we have not set the Author group at the Component level.  This prevents a user in the Author group from editing any content or any categories (note that the ability for users in the Author group to edit their own content has not been implemented yet). 

The Edit State Action

The Edit State action allows a user to modify secondary information, such as the published state, of categories and content in categories in components.


The diagrams shows that only the Manager group has been set to Allow in Global Configuration.  The Publisher has also been set to Allow but only at the Component level (specifically in the Articles and Web Links components).

The Administrator group inherits the ability to edit categories and content from the Manager group at the Global Configuration level.

The Author and Editor group have not been set.  This prevents a user in the Author or Editor groups from changing the published state of categories and content in the respective component.


This article provides an introduction to interpretting the new permissions management system in Joomla 1.6.  The key points to remember are:

  1. Permissions inherit down the user group tree in order, and down the four levels in order.
  2. By default, a soft deny applies until you Allow an action but then an explicit, or hard, Deny completely prevents access to the action.

We'll look at the effects of adding users to multiple groups and placing permissions on specific categories in future articles.

An Overview of Joomla CMS

   Joomla! is a free and open source Content Management System (CMS) that allows you to build Web sites without any previous programming experience.The easy to use interface along with its extensions have made it into one of the most desired and popular programs for starting up a website. It is designed to be easy to install and setup even if you have basic computer knowledge, some Web hosting services offer one-click installs so it can take only a few minutes to get a site on its feet. If you want to create a fast website for a client, it is very easy to explain to your client a few basic instructions and he will be able to maintain and improve the website on his own.


    To use Joomla! you are required to install some software like: PHP, MySQL, Apache and Microsoft IIS. This software comes with complete installation guides on their respective websites or can be found in packs with everything you need to start up a Joomla! website.

      Since Joomla is based on PHP and MySQL it also offers functionality to the advanced users allowing them to build applications on an open platform that everyone can use and support.

    A Content Management System is a bundle of procedures that manage work-flow in a multiple user environment. The procedures can be manual or computer based. The procedures allow large numbers of people to share data, control the data access based on user role, aid in organizing the data, reduce duplicate inputs, improve communication amongst users and allow for better reporting.

    CMSs can be used for almost any type of data: documents, videos, photos, etc. They are used frequently for publishing documentation, storing, controlling, revising or semantically enriching. Depending on your needs there are six main categories of CMS for your respective domain:Enterprise CMS, Web CMS, Document Management System, Mobile Content Management System, Component content management System and Media Content Management System.


    The development of Joomla! started on the 17th of August 2005 as a result of the fork of Mambo's development team.On September 1 2005 the name of the project was announced, Joomla! which comes from Arab and means "all together". The logo was voted by the community and announced on September 22 2005.

    Joomla! is made up of many different parts that give users the ability to easily apply modular extensions and integrations like Plugins. Plugins are background extensions that give Joomla new functionality, there are over 8000 Joomla! extensions available trough the Extensions Directory.

    Joomla's simplified system of articles makes organizing your content a snap, you can organize your content any way you like, but that doesn't mean it is the way it will show on your website. Users can rate articles, mail to friends or save a PDF of it. You can archive content for safekeeping or simply hide content from visitors.


    Another reason Joomla! is one of the most popular CMSs is because of the large number of templates available, for free or low cost on a pay per download basis. Changing templates is very easy to do and it changes the outlook of your whole website, although a template is not always of good quality and they don't all support the same module position, which means you need to tweak your modules or some of your website content may not show.

    The Template is the basic foundation of your website appearance, it is what the visitors will see when entering your Joomla! website. The template is where you design the main layout of your site like the placement of different elements (modules, plugins) which are related to the type of content.Templates also allow you to dynamically alter the content placement. 

    Both the Front and Back-end are controlled by the Template system. A template is basically an extension that contains style and layout information that Joomla uses to draw the pages of your site. Joomla! has one Back-end and two Front-end templates by default , you can install other Templates made by third-party developers. You can also control the way images are displayed or create flash effects and include AJAX applications like drop down menus.The same applies to fonts. The designs for these are all set within the template's CSS file(s) to create a uniform look across your entire site, which makes it fantastically easy to change the whole look just by altering one or two files rather than every single page.A template can be designed to alter how it displays on different web browsers, allowing you to take full advantage of the latest developments without making your site inaccessible to those who are not able to run up to date system upgrades.

    Speedy page loads are possible with page caching, granular-level module caching, and GZIP page compression.

    On public Web sites, built-in e-mail cloaking protects email addresses from spambots.

    The FTP Layer allows file operations (like installing Extensions) without having to make all the folders and files writable, making your site administrator's life easier and increasing the security of your site.

    For page rendering Joomla! also uses modules, which are small and flexible extensions. They are connected to components like the "recently added" module that links to the content component and shows links to the recently added content. This type of module is mostly visible as a "box" arranged around a component on a page, like the login module. Modules don't necessarily need to be linked to components, or anything at all in fact, they can just be static HTML or text.  Modules can appear a number of times in any number of pages in multiple positions. Their position can be easily changed and you are allowed to select the menu items where a module is displayed. Modules can be used for targeted advertising, for example you can create a module for each section of your website containing a targeted advert for that section, so instead of showing all the modules constantly they are shown only where their content is appropriate for the public.

    It is very easy to manage your website with Joomla!. The installation pack gives you a basic idea how you can build your website. 

    Besides Plugins, other extensions are available like Components which allow webmasters to build communities by expanding features, creating backups and use their website for e-commerce. Modules are lightweight and flexible extensions used for page rendering, they perform tasks as displaying a calendar or allow custom code to be inserted in the base code of Joomla.

    Joomla permits the administrator to set parameters that affect every article, pages conform to these parameters by default but a page can have different settings for each parameter.

    Multiple languages are available, if you wish to use one language in the back-end and another in the front-end, that is possible with Joomla! 

    Customer feedback is also implemented in Joomla! like the option to create polls or integrating powerful RSS feeds trough third-party components.

    Joomla offers the following RSS Functionality:

  • You can add as many RSS feeds as you want from the administrator console and you can display where the RSS feed will appear using the module position.

  • Joomla! provides complete control over the RSS feeds based on the number of items and when they are displayed.

  • Joomla! supports RSS 1.0, RSS 2.0, Atom 0.3 and OPML.

  • Joomla! enables you to syndicate your news to other sites and blogs.

  • 3rd party RSS feed modules and components.

    Searching trough content on the website and navigating to popular or recent content is another core function of this CMS.

   Administrators can quickly and efficiently communicate with users one-on-one through private messaging or all site users via the mass mailing system.

    If you need to troubleshoot an issue, debugging mode and error reporting are invaluable.

    With Web services, you can use Remote Procedure Calls (via HTTP and XML). You can also integrate XML-RPC services with the Blogger and Joomla APIs

    If you are searching for a way to build a community software Joomla is the way to go, it has user login forms, multiple publishing options and easily integrates with forum software. It can very well be used for family websites where you post articles, news or even blogging. Joomla! is also very good at creating picture galleries having access to the best extension for every need. Joomla! also has a generic login module that can be customized to your best needs, when creating a Joomla! account the account is valid for the extension on your website, if for example you have a forum, the account will work for that forum, all you need to do is configure the information fields to suit you needs. Content or publishing/posting access rights can be limited by user rank in Joomla!, banning or unbanning users is very easy to do, also deleting posts, articles and any content on your website. This is possible because Joomla! has a very simple display and efficient filtering options. Creating static content is another function of Joomla! for example if you want to create "About us" or "Terms & Conditions" pages, the static content is a web page linked to your menu. If you have an article site, auctions, or any content there is the option to start publishing it on a later date and also choose when to stop publishing it.

    E-commerce is another option implemented with great success in Joomla! and one of the most important . By using shopping cart extensions you can financially benefit from Joomla! and its easy integration with them.

    Some of the most frequently types of websites created with Joomla! are:

  • Blogging sites
  • Forums
  • Dating & Matchmaking
  • Auctions, online stores
  • Corporate intranets and extranets
  • Picture or movie galleries
  • News or article sites
  • Question & Answer
  • Content sharing
  • Personal or family sites
  • Community-based portals

  there are virtually endless options when creating a website with Joomla!

    E-commerce has never been easier with Joomla! You are able to configure your website with the most essential shop functionalities like zones, currencies, payment methods or plans, shipping, taxes and so on. You can manage manufacturers, vendors, products and of course categories of products, only by installing the respective extension. However, an individual installation of Joomla! is required for every single website.


    If Search Engine Optimization is one of your concerns when creating a new website, the basic Joomla! installation comes with Search Engine Friendly (SEF) capabilities that are not enabled, the default installation allows you to implement basic SEF adresses by doing the following:


  • Using a FTP client or rename the htaccess.txt file in the root folder to .htaccess

  • Switch on SEF urls in the Global Config > SEO

  • Switch on dynamic page titles so you titles will reflect the title of your current content.

    Of course there are a lot of third party components out there that can further expand the SEO friendliness of Joomla!

    Besides the E-Commerce option, there is another way to generate income from Joomla! websites. Google AdSense is one of the best ways to do that. Integrating AdSense in your website can be done by either using the AdSense module which is installed from the back-end or you can display Google AdSense within the text of your website content. 

    The latter is considered a better way because it gives a better click trough rate since the ads are displayed within your text thus making them more visible.  You can do this by using a plugin that displays the Google AdSense code, a plugin is used to trigger the rendering of AdSense within the text allowing you to decide where the ads will be displayed.