A common story we hear from the community and our customers is that Liferay has a lot of powerful features. However, it is difficult for those who want to just create a community and start collaborating. They have to first create layouts, then add portlets, and then update portlets.
This is one area that some of our competitors have done quite well. They make it quite simple for someone to quickly create a collaborative community/site and start using it. Although the new Social Office addresses many of these short comings by making it extremely simple to create collaborative sites, we want to bring this simplicity to Liferay Portal as well.
We have decided to tackle this in two phases. The first phase will be an approach that we have taken for several customers and is backwards compatible for 5.1 EE. This solution leverages the existing features like model listeners and Liferay's Live Staging capabilities to provide community templates.
You may follow the following steps to create your own community template:
1. Create a PRIVATE community with the name DEFAULT_TEMPLATE
2. Activate staging for this community by:
a. Click on "Manage Pages" for the DEFAULT_TEMPLATE
b. Click on the “Settings Tab”
c. Check the “Activate Staging”
3. With the staging environment activated, add public and/or private pages and then configure the pages with portlets as necessary
a. You can add portlets to those pages simply by clicking “View Pages”
b. Note the red background indicates you are in the staging environment
Now you have created your first community template. The next community you create will have the same layouts and portlet as the DEFAULT_TEMPLATE. Changing the layouts in the template community will only impact new communities. Existing communities will not receive the changes.
If you wish to have different templates for open, restricted, and private communities, you easily do so as well. You would need to repeat the above to create the OPEN_TEMPLATE, PRIVATE_TEMPLATE, and RESTRICTED_TEMPLATE communities. The rules are as follows:
1. If community is open, templates pages from OPEN_TEMPLATE will be used
2. If community is restricted, template pages from RESTRICTED_TEMPLATE will be used
3. If community is private, template pages from PRIVATE_TEMPLATE will be used
4. If the template for the associated community type is not found, the DEFAULT_TEMPLATE will be used.
5. If there are no templates, then nothing is done.
In the second phase, we will instroduce a new template builder feature in 5.3 (Q3 2009).

