The Web is experiencing a huge increase in content. More content was generated in only 2008 than any time previously. Such increase in content brought about the need for effective content management systems (CMS). Because of their price, quick setup and ease of installation, open-source PHP CMS have become very popular.
Joomla is one PHP CMS solution with many plugins and modules. However, it lacks many options for customizing the content (articles) to your needs. Enter the content construction kit (CCK), a Joomla extension that allows you to create your own content types (e.g. articles, link lists, download sections ,etc.), assign custom fields, create nested categories and much more quickly and effectively.
One of the most popular CCKs for Joomla is Flexicontent; others include K2, jSeblod and Sobi2. In this article, I will explain the advantages and disadvantages of Flexicontent, as well as some features of other popular CCKs so you can choose a CCK that fits your needs best.

The Pros of Flexicontent CCK

This section presents the advantages of the Flexicontent CCK

Flexibility

Flexicontent proves its name -- it is very flexible and easy to customize. Its features are based on Joomla com_content component, which allows Flexicontent to be very easy to uninstall (all content remains in Joomla core tables, without custom fields though). You can also migrate to new Joomla versions or switch to K2 CCK easily. Apart from Flexicontent, only jSeblod is a popular CCK based on com_content.

Workflow and Version Control

Often, you will work with other people to create content. Flexicontent makes it easier. Each version of the content is saved for future reference. So, you can easily track changes between content versions, which is especially convenient when two or more people are working on the same article. Also, this feature makes it easy to revert the changes if needed. Version comments are also available. If you want to prevent other writers from editing your content, there is a lock option. This way only you will be able to edit the content.
You can find out who the top contributors and revisers are via the statistics page.
None of the other popular CCKs support version control.

Universal Plugin System

Flexicontent uses a plugin system that is based on core Joomla plugin system. Also, each field type is a Joomla plugin. This is very unusual and other CCKs are not built this way, but the Flexicontent plugin system allows greater flexibility and compatibility. Third-party Joomla plugins can be easily integrated with Flexicontent, and you can add field types (you can even delete some of the old ones if you don't like them).

Media manager

Although Joomla already has its own media manager, the Flexicontent developers have built an improved media manager. Their media manager has more options than the Joomla core media manager, which supports only local file uploading.
The Flexicontent media manager allows easy upload and easy selection of files to be displayed. File paths can be either public or hidden. Additionally, you can add a file by URL or import a file from a different directory on your server.

The Cons of Flexicontent CCK

Flexicontent has flaws as well. This section lists the areas where the CCK could improve.

Lack of Advanced ACL Functions

ACL are access control lists. They are used to restrict user access to some parts of a website. Flexicontent uses the core Joomla ACL, with predefined article access levels and user groups, which cannot be customized. Other CCKs, such as K2 and jSeblod, have many ACL options. They allow creating custom user groups and access levels and restricting access to certain fields. Permissions can also be set for each category separately.

Form Creation

Flexicontent doesn't have the ability to create custom forms. You cannot add custom fields for user registration or build a custom form directly from the backend. JSeblod has this feature, supporting all default form fields (text field, password, select, radio, etc.) and allowing you to even add a calendar picker or a CAPTCHA image. Search fields can also be customized, so you can create an advanced search that suits your needs directly from the jSeblod admin panel.

Back-end Functionality Could Be Better

This is not a significant flaw, but it is something that the Flexicontent developers could improve. Other CCKs -- especially K2 -- have better back-end design than the Flexicontent. Also, it seems that the K2 backend loads slightly faster than the Flexicontent counterpart. Furthermore, K2 has an advanced image-editing script, while Flexicontent supports only automatic thumbnail creation with small customization options.
But I must point out that the Flexicontent team achieved great balance between simplicity and the available features, unlike jSeblod, which is very powerful and has many options but is really complex to use effectively.

Flexicontent vs. K2, jSeblod and Sobi2

  • Flexicontent vs. K2 -- If you need to work on the content with many people, require faster front-end content loading, and want a simple-to-use CCK, choose Flexicontent. However, if you prefer advanced ACL options, a slightly faster and nicer backend, and an advanced image editor (Splashup), K2 should be the CCK you choose.
  • Flexicontent vs. jSeblod -- JSeblod definitely has many more options than Flexicontent, but it is a very complex CCK, even for advanced users who are very familiar with Joomla. If you value teamwork, simplicity and higher productivity more than rich features, pick Flexicontent.
  • Flexicontent vs. Sobi2 -- I suggest using Sobi2 only if you plan to create a directory, link farm or phonebook type of website. It has predefined fields for sites of these types. Features are also adjusted to fit the needs of these websites.
  • About the Author

    Voja Janjic is a PHP programmer with more than four years' experience.