„Mask“ is a TYPO3 extension which makes it really easy to create custom content elements and enrich backend layouts. This post is about the motivation, the howto and the differences to other “templating“ solutions. I am convinced that this extension will solve most of your requirements for individual content elements.
How did I find out about „Mask“?
In the beginning of November the TYPO3camp RheinRuhr took place in the city of Essen. On saturday Gernot Ploiner offered a talk about „Mask – The TYPO3 template generator“. Until this talk the extension mask was for myself something similar like TemplaVoila, DCE, GridElements … you can name probably some more of these extensions. What I do not like about these is, that new elements rely on these extensions. Why? Because, if the development of TYPO3 moves on and the author(s) do not support newer TYPO3 versions, you are trapped or have big troubles to keep your content. Users, who used or still TemplaVoila, know what I am talking about.
An Eye on TemplaVoila
The situation for TemplaVoila is getting better, since Alexander Schnitzler committed himself to keep TV up to date with current TYPO3 version. He is currently looking for some funding. If you want to support him, join the crowdfunding campaign on https://www.templavoila.support/typo3-76/. There is still some room for support left.
What makes Mask different?
But now back to mask: What makes Mask different to all mentioned solutions is, that it uses only native core functions. If you export the custom content elements with the extension „Mask exporter“ and install the result, you can throw away „mask“ and „mask_exporter“ and your custom content elements run smoothly just with the TYPO3 core! This is what I waited for! Furthermore it provides a nice backend module to create the custom content elements via drag and drop.
Custom content elements are just one part. Additionally you can enrich backend layouts with content elements / fields.
What does Mask do?
The extension creates new content elements, which can contain as many fields of the available TCA field types, as you need. It is possible to create individual labels for each field and mask adds new columns to the database, just when necessary. This means you can reuse any existing column of the table „tt_content“. New columns are only created if they are really needed. For each content element a basic fluid template is created, which contains the rendering definitions. Of course this can be edited to correspond to the overall website design.
How to use Mask?
This is very simple! Just install the extension via the “Extension Manager“ and go to the extension settings. Here it is possible to customize some paths where templates, layouts and partials are saved.
If these fit for you, save them and you can instantly start to create custom content elements.
The module „Mask“ resides in the „Admin Tools“ section in the backend. The module contains two tabs, one for the content elements and one for the page templates. The last icon is a link to the settings in the extension manager, in case you want to change them later on.
A click on the plus icon opens the drag and drop interface for creating a new content element. If you added all wanted fields to the CE, klick save and you are done for this content element. You and your editors can just use it right away. In the “New Content Element Wizard“ is now an extra tab called „Mask Elements“, where all available custom content elements are listed.
One more thing? – YES! At least …
Yes, there is one more thing, which makes you independent of the extension „mask“ in the long run. I already mentioned the extension „mask_export“ written by Nicole Cordes. This extension export all settings and templates to a separate extension. It creates all necessary files like TCA, ext_tables.sql, ext_emconf.php and so on. After the export the extension „mask“ and „mask_export“ can be removed from the installation and all content elements and page templates will work as before. This is possible, because the mask extension uses pure core functionality. And furthermore, this ensures that the new content elements will work in upcoming TYPO3 versions, too.
The second „one more thing“ is that the developers offer a TemplaVoila to Mask conversion service. If you are still on templavoila and want to move to a native solution, you should really consider this service. The service is available under http://tvconverter.webprofil.at/de/. Using this service you help them to finance the development and support of the mask extension.
Roadmap of EXT:mask
There are still a lot tasks and features on the roadmap for mask:
- Add display conditions
- XLF files for labels
- Duplicate contentelements
- Export / import module
- improve documentation
- Use backend-layouts from pageTSconfig
- possibility to extend FAL tables
and many many more.
A complete list is available on http://mask.webprofil.at/featurelist/.
As with many other extensions it is not possible to do this only in spare time without any funding. If you want to help out with money or (wo)man power, please contact the TYPO3experten.
For the next projects I will definitely use the extension „mask“. Creating custom content elements has never been easier and has never been as close to the core as with „mask“ and „mask_export“.