It was more like an accident when I found TYPOlight on looking for a CMS to host our company’s website as well as customers’ sites. Recently the latter ones have been hosted using PHPWCMS preferred for its fast page retrieval and intuitive backend GUI. This is different from most larger CMS such as Typo3 and papayaCMS. This report bases on experiences made on testing current release 2.7.6 ..
A Fast Overview of Pros …
Though its name “TYPOlight” sounds similar to “Typo3” they have quite nothing in common. The backend GUI looks similary layouted to the one in Typo3 although it’s clearer and looks more comfortable and modern.
Installation is quite simple by using web-based installer. This applies to installing whole CMS instance as well as one of the numerously available extensions. Installers are obviously capable of adjusting existing database structure in either case. The backend includes options for system maintenance including backup creation and management.
The backend is clean and as simple as possible according to the numerous features of TYPOlight core distribution. Most administration masks are expandable and collapsable as in Drupal CMS. With the support of mootools and Ajax requests the backend occasionally improves performance and felt usability. Often form elements come and go according to a single selection or boolean option.
For example, single page editor includes option “Assign different layout”. The selection of a layout is inserted into form on checking that option. On unchecking it, the layout selector vanishes again. Expanding nodes in page or article tree is achieved by updating the related part of page, only.
A single TYPOlight instance is capable of managing several websites by having special web pages called “start of a website”. Each of them might be associated with a different domain address and is then selected on matching request. Additionally, this feature is used to implement different localizations of a site as each one is associated with a single locale. On a request TYPOlight is trying to match used domain name and/or preferred locale of client’s browser.
In TYPOlight every single site is hierarchically dividided into pages containing articles each consisting of content elements. Page editors create page content by compiling several types of content elements such as texts (managed using richt-text editor), galleries, forms and more. The pages are managed separately from contained articles improving opportunities for fine-grained access permission. This paradigm is very similar to the way PHPWCMS is working.
Using separate file manager it’s possible to upload files onto server. On editing content in rich-text editor it’s simple to link those uploaded files (including images) using masks in editor.
The layout is implemented using PHP code, thus resulting in fast template processing. You don’t need extra skills in XSLT or Smarty to write your own templates. In addition, templates are highly modularized and the backend includes deriving custom templates from all supported default templates. After making a copy of such a default template that copy is available for editing. Of course you may have different separate copies of the same template to implement different customizations. For example, this is a major advance over PHPWCMS.
TYPOlight includes something completely missing in PHPWCMS: an extension infrastructure. There is an extension catalogue interoperating with a remote server. You can browse available extension each including compatability with TYPOlight by version number, it’s dependencies from other extensions and more. On interest it takes a single click to start installation. Then it is downloaded and installed to your server. If something fails the installation might be “repaired”. In a second step the database structure is fixed by adding new tables and altering existing ones as required. You are always prompted to confirm that changes or select only some of them to be applied. Finally the extension is completely installed.
Extensions integrate with backend GUI and add some entries or whole threads to the backend menu tree. In extension manager there is a list of all installed extensions. When a single extension isn’t required anymore, you can uninstall it: you’ll have to confirm removal of files as well as reverting previous modifications to database structure. By default, the latter one is omitted to keep your database from inconsistency. From a PHPWCMS user’s view this is a major pro.
Further highlights of TYPOlights are keyboard shortcuts (to be extended), revision control, user and group management with separating backend users from frontend users (called members). An administrator may change authentication to any other user with a single click. Due to a very fine-grained access control system an administrator may select what menu commands a group of users may work with, what parts of hierarchy they may operate on and what files they may use. In addition each user may have a custom set of access permissions derived from its group with individual customizations. Core distribution also supports RSS feeds an commenting articles. Extension provide online shop capabilities.
Finally there is a big pro in multiple page editing feature. Simply select all pages in hierarchy tree you want to change, then select properties of those pages to edit prior to getting a list of those properties’ controls separated by page.
… and Cons
There are few cons to be listed here. Nevertheless you should keep them in mind on selecting CMS matching best your current project’s demands.
One major con regards security considerations in TYPOlight. I’m frequently dissatisfied with most CMS demanding basic write access to all or selected system folders without instructing on implied security flaws. For sure it’s far more convenient to install new extensions with a few clicks, only. And though it relies on a further accident configuration of TYPOlight it might happen to enable regular users uploading PHP scripts in a subfolder named tl_files where they are available for instant download and, in case of PHP scripts, for execution. Once executed they may install new extensions or modify existing ones due to demanded write permissions. I found some plugins expecting write access to folder “system/drivers”. What if an uploaded custom script is overloading database driver to get all users’ password for elevating access permission e.g. to become administrator of a site. Ever considered to run an online shop on top of TYPOlight using webshop or Isotope plugin where customer’s provide their personal information and pay for your service?
Another con is related to the situation introduced before. As extensions are installed in subfolder “system” they might be replaced or damaged on upgrading core distribution as this folder is part of core distribution.
Localization is basically included with TYPOlight core distribution by managing different sites associated with different locales. However, you can’t have a single site hierarchy containing per-page translations. Because of that one-to-one translations of a site can’t be achieved that easily and require a copy per locale of site’s whole hierarchy. Later changes to site’s hierarchy and its nodes require multiple application and may result in inconsistencies hardly to manage on larger sites. Custom navigation elements need to be duplicated as well, typically resulting in having a separate set of layouts slightly changed for each localization. In my opinion this is another major con though it’s not as severe as the one introduced before.
Though you can link each article with a dynamically created PDF just by checking an option there is no support for customizing the resulting PDF. All you get are pages with rendered text, only. The current page’s title isn’t included and there is no template you could edit for including it. This applies at least for TCPDF library which has become default in recent releases. I don’t know about DOMPDF available as an extension furtheron.
Some minor issues might be considered simple bugs to be fixed. E.g., using FAQ seems to be quite straight forward. You create two pages and implement a FAQ lister for the questions on one page and a FAQ reader for the answer to a selected question on the other. However, while you may have the FAQ lister put on a page with a custom page title, the reader module replaces current page’s title by the selected question. In addition the question is replacing article’s title as well and thus it may appear twice on your page in combination with a proper layout template.
For sure, TYPOlight is far more than an eligible replacement for PHPWCMS and we are going to include it in upcoming projects as long as the listed major cons aren’t taken into account that much. Always take care of security! But that seems to apply to each and every CMS you might be running …