Community Site Essentials
Custom Site Template
A custom site template may be specified separately for each language copy of a community site.
To do so,
- Create a custom template
- Overlay the default site template path
- Add the custom template to the overlay path
- Specify the custom template by adding a page-template property to the configuration node
Default template :
/ libs /social/console/components/hbs/sitepage/ sitepage .hbs
Custom template in overlay path :
/ apps /social/console/components/hbs/sitepage/ < template-name > .hbs
Property : page-template Type : String Value : < template-name > (no extension)
Configuration node :
/content/< community site path >/< lang >/configuration
For example: /content/sites/engage/en/configuration
All nodes in the overlaid path need only be of type Folder .
If the custom template is given the name sitepage.hbs, then all community sites will be customized.
Custom Site Template Example
As an example, vertical-sitepage.hbs is a site template that results in the placement of menu links vertically down the left side of the page, instead of horizontally below the banner.
Get File Place the custom site template in the overlay folder:
/ apps /social/console/components/hbs/sitepage/ vertical-sitepage .hbs
Identify the custom template by adding a page-template property to the configuration node:
Be sure to Save All and replicate custom code to all AEM instances (custom code is not included when the community site content is published from the console).
The recommended practice for replicating custom code is to create a package and deploy it on all instances.
Exporting a Community Site
Once a community site is created, it is possible to export the site as an AEM package stored in package manager and available for download and upload.
This is available from the Communities Sites console .
Note that UGC and custom code is not included in the community site package.
To export UGC, use the AEM Communities UGC Migration Tool , an open source migration tool available on GitHub.
Deleting a Community Site
As of AEM Communities 6.3 Service Pack 1, Delete Site icon appears on hovering over the community site from Communities > Sites console. During development, if it is desired to delete a community site and start fresh, you can use this functionality. Deleting a community site, removes the following items associated with that site:
Community Unique Site ID
To identify the unique site ID associated with the community site, using CRXDE:
- Navigate to the language root of the site, such as /content/sites/*<site name>*/en/rep:policy
- Find the allow<#> node with a rep:principalName in this format rep:principalName = *community-enable-nrh9h-members*
- The site ID is the 3rd component of rep:principalName For example, if rep:principalName = community-enable-nrh9h-members
- site name = enable
- site ID = nrh9h
- unique site ID = enable-nrh9h
User Generated Content
Obtain the communities-srp-tools project from Github:
This contains a servlet to delete all UGC from any SRP.
All UGC may be removed or for a specific site, for example:
This only removes user generated content (entered on publish) and not authored content (entered on author). Therefore, shadow nodes are not affected.
From the main console:
- Select Assets
- Enter Select mode
- Select folder named with the unique site Id
- Select Delete (may need to select from More... )
There is no tool for selectively deleting database entries for one specific enablement community site.
When all community sites are being deleted, then drop the enablementdb and scormenginedb using MySQL Workbench.