Deploying Communities deploying-communities
Prerequisites prerequisites
-
AEM Communities license
-
Optional licenses for:
Installation Checklist installation-checklist
For the AEM platform
-
Install latest AEM 6.4 Updates
-
If not using the default ports (4502, 4503), then configure replication agents
-
If supporting globalization, setup automated translation
(sample setup is provided for development)
For the Communities capability
-
If deploying a publish farm, identify the primary publisher
-
Setup a default email service
-
Identify the choice for shared UGC storage (SRP)
-
If MongoDB SRP (MSRP)
-
If relational database SRP (DSRP)
-
If Adobe SRP (ASRP)
- Work with your account representative for provisioning
- Select ASRP
-
If JCR SRP (JSRP)
-
Not a shared UGC store:
- UGC is never replicated
- UGC only visible on AEM instance or cluster in which it was entered
-
Default is JSRP
-
For the enablement feature
-
Latest Releases latest-releases
AEM 6.4 Communities GA includes Communities package. To know about updates to AEM 6.4 Communities, refer AEM 6.4 Release Notes.
AEM 6.4 Updates aem-updates
Starting in AEM 6.3, updates to Communities are delivered as part of AEM Cumulative Fix Packs and Service Packs.
For the latest updates to AEM 6.4, be sure to check Adobe Experience Manager 6.4 Cumulative Fix Packs and Service Packs.
Version History version-history
As on AEM 6.4 and beyond, AEM Communities features and hotfixes are part of AEM Communities cumulative fix packs and service packs. There are, therefore, no separate feature packs.
JDBC driver for MySQL jdbc-driver-for-mysql
Two Communities features use a MySQL database:
- For enablement: recording SCORM activities and learners
- For DSRP: storing user generated content (UGC)
The MySQL connector must be obtained and installed separately.
The necessary steps are:
-
Download the ZIP archive from https://dev.mysql.com/downloads/connector/j/
- Version must be >= 5.1.38
-
Extract mysql-connector-java-<version>-bin.jar (bundle) from the archive
-
Use the web console to install and start the bundle:
- For example, http://localhost:4502/system/console/bundles
- Select
Install/Update
- Browse… to select the bundle extracted from the downloaded ZIP archive
- Check that Oracle Corporation’s JDBC Driver for MySQLcom.mysql.jdbc is active, and start it if not (or check the logs)
-
If installing on an existing deployment after JDBC has been configured, then rebind JDBC to the new connector by resaving the JDBC configuration from the web console:
- For example, http://localhost:4502/system/console/configMgr
- Locate
Day Commons JDBC Connections Pool
configuration - Select to open
- Select
Save
-
Repeat steps 3 and 4 on all author and publish instances
Further information on installing bundles is found on the Web Console page.
Example: Installed MySQL Connector Bundle example-installed-mysql-connector-bundle
SCORM Package scorm-package
Shareable Content Object Reference Model (SCORM) is a collection of standards and specifications for e-learning. SCORM also defines how content may be packaged into a transferable ZIP file.
The AEM Communities SCORM engine is required for the enablement feature. Scorm packages supported on AEM Communities 6.4 version are:
-
cq -social- scorm -package, version 1.2.11. This SCORM package is supported by all AEM 6.4 Communities versions.
-
cq -social- scorm -package, version 2.2.2 includes SCORM 2017.1 engine. This SCORM package is supported AEM 6.4.2.x Communities onwards.
For a new installation of SCORM engine, the package containing SCORM 2017.1 (which is cq -social- scorm -package, version 2.2.2) should be used. So that you are able to play learning resources supported by SCORM 2017.
To install a SCORM package for the first time
- Install the cq-social-scorm-package, version 2.2.2.
- Download
/libs/social/config/scorm/database_scormengine_data.sql
from cq instance and execute it in mysql server to create an upgraded scormEngineDB schema. - Add
/content/communities/scorm/RecordResults
in Excluded Paths property in CSRF filter fromhttps://<hostname>;:<port>/system/console/configMgr
on publishers.
Existing SCORM installations can be upgraded to cq-social-scorm-package, version 2.2.2 (which uses SCORM 2017.1), if the authored course content requires SCORM 2017.1.
To upgrade version of your SCORM engine
-
Take a back up of ScormEngineDB schema.
-
Install the cq-social-scorm-package, version 2.2.2.
-
Download the package from
/libs/social/config/scorm/ScormEngine.zip
and extract the same. -
Go to Installer folder of the extracted directory.
-
Update
SystemDatabaseConnectionString
with yourscorm db connection url
in file EngineInstall.xml. -
Run mysql schema upgrade tool in Installer folder with the command:
java -Dlogback.configurationFile=logback.xml -cp "lib/*" RusticiSoftware.ScormContentPlayer.Logic.Upgrade.ConsoleApp EngineInstall.xml
-
Monitor
engine_upgrade.log
file for any kind of error and schema upgrade status. -
Add
/content/communities/scorm/RecordResults
in Excluded Paths property in CSRF filter fromhttps://<hostname>:<port>/system/console/configMgr
on publishers.
SCORM Logging scorm-logging
As installed, all enablement activity is verbosely logged to the system console.
If desired, the log level can be set to WARN for the RusticiSoftware.*
package.
For working with logs, see Working with Audit Records and Log Files.
AEM Advanced MLS aem-advanced-mls
For the SRP collection (MSRP or DSRP) to support advanced multilingual search (MLS), new Solr plug-ins are required in addition to a custom schema and Solr configuration. All required items are packaged into a downloadable zip file.
The advanced MLS download (also known as ‘phasetwo’) is available from the Adobe repository:
-
AEM-SOLR-MLS-phasetwo
To obtain the Advanced MLS package, see AEM Advanced MLS in the deploy section of the documentation.
- Version 1.2.40, April 6, 2016
- Download AEM-SOLR-MLS-phasetwo-1.2.40.zip
For details and installation information, visit Solr Configuration for SRP.
About Links to Package Share about-links-to-package-share
Packages Visible in Adobe AEM Cloud
The links to packages on this page require no running instance of AEM as they are to package share on adobeaemcloud.com
. While the packages are viewable, the Install
button is for installing the packages into an Adobe hosted site. If intending to install on a local AEM instance, selecting Install
will result in an error.
How to Install on Local AEM Instance
To install the packages visible in adobeaemcloud.com
on a local AEM instance, the package must first be downloaded to a local disk:
- Select the Assets tab
- Select download to disk
On the local AEM instance, use package manager (for example http://localhost:4502/crx/packmgr/), to upload to the local AEM’s package repository.
Alternatively, accessing the package using package share from the local AEM instance (for example, http://localhost:4502/crx/packageshare/), the Download
button will download to the local AEM instance’s package repository.
Once in the local AEM instance’s package repository, use package manager to install the package.
For more information, visit How to Work With Packages.
Recommended Deployments recommended-deployments
In AEM Communities, a common store is used to store user generated content (UGC) and is often referred to as the storage resource provider (SRP). The recommended deployment centers on choosing an SRP option for the common store.
The common store supports moderation of, and analytics on, UGC in the publish environment while eliminating the need for replication of UGC.
-
Community Content Store: discusses the SRP storage options for AEM communities
-
Recommended Topologies: discusses the topology to use depending on use case and SRP choice
Upgrading upgrading
When upgrading to the AEM 6.4 platform from previous versions of AEM, it is important to read Upgrading to AEM 6.4.
In addition to upgrading the platform, read Upgrading to AEM Communities 6.4 to learn about Communities changes.
Configurations configurations
Primary Publisher primary-publisher
When the deployment chosen is a publish farm, then one AEM publish instance must be identified as the primary publisher
for activities which should not occur on all instances, such as features that rely on notifications or Adobe Analytics.
By default, the AEM Communities Publisher Configuration
OSGi configuration is configured with the Primary Publisher
checkbox checked, such that all publish instances in a publish farm would self-identify as the primary.
Therefore, it is necessary to edit the configuration on all secondary publish instances to uncheck the Primary Publisher
checkbox.
For all other (secondary) publish instances in a publish farm:
-
Sign in with administrator privileges
-
Access the web console
- For example, http://localhost:4503/system/console/configMgr
-
Locate the
AEM Communities Publisher Configuration
-
Select the edit icon
-
Uncheck the Primary Publisher box
-
Select Save
Replication Agents on Author replication-agents-on-author
Replication is used for site content created in the publish environment, such as community groups, as well as managing members and member groups from the author environment using the tunnel service.
For the primary publisher, ensure the Replication Agent Config correctly identifies the publish server and authorized user. The default authorized user, admin,
already has the appropriate permissions (is a member of Communities Administrators
).
In order for some other user to have the appropriate permissions, they must be added as a member to the administrators
user group (also a member of Communities Administrators
).
There are two replication agents in the author environment that need the transport configuration to be correctly configured.
-
Access the Replication console on author
- From global navigation: Tools > Deployment > Replication > Agents on author
-
Follow the same procecure for both agents:
-
Default Agent (publish)
-
Reverse Replication Agent (publish reverse)
- Select the agent
- Select edit
- Select the Transport tab
- If not port
4503
, edit the URI to specify the correct port - If not user
admin
, edit the User and Password to specify a member of theadministrators
user group
-
The following images show the results of changing the port from 4503 to 6103 by:
Default Agent (publish) default-agent-publish
Reverse Replication Agent (publish reverse) reverse-replication-agent-publish-reverse
Tunnel Service on Author tunnel-service-on-author
When using the author environment to create sites, modify site properties or manage community members, it is necessary to access members (users) registered in the publish environment, not users registered on author.
The tunnel service provides this access using the replication agent on author.
To enable the tunnel service:
-
On author
-
Sign in with administrative privileges
-
If publisher is not localhost:4503 or transport user is not
admin
, -
Access the Web Console
- For example, http://localhost:4502/system/console/configMgr
-
Locate the
AEM Communities Publish Tunnel Service
-
Select the edit icon
-
Check the enable box
-
Select Save
Replicate the Crypto Key replicate-the-crypto-key
There are two features of AEM Communities that require all AEM server instances to use the same encryption keys. These are Analytics and ASRP.
As of AEM 6.3, the key material is stored in the file system and no longer in the repository.
In order to copy the key material from author to all other instances, it is necessary to:
-
Access the AEM instance, typically an author instance, that contains the key material to copy
-
Locate the
com.adobe.granite.crypto.file
bundle in the local file systemFor example,
<author-aem-install-dir>/crx-quickstart/launchpad/felix/bundle21
- The
bundle.info
file will identify the bundle
-
Navigate into the data folder
For example,
<author-aem-install-dir>/crx-quickstart/launchpad/felix/bundle21/data
-
Copy the hmac and primary node files
-
-
For each target AEM instance
-
Navigate into the data folder
For example,
<publish-aem-install-dir>/crx-quickstart/launchpad/felix/bundle21/data
-
Paste the 2 files previously copied
-
It is necessary to refresh the Granite Crypto bundle if the target AEM instance is currently running
-
Repository Replication repository-replication
Having the key material stored in the repository, as was the case for AEM 6.2 and earlier, can be preserved by specifying the following system property on first startup of each AEM instance (which creates the initial repository):
-Dcom.adobe.granite.crypto.file.disable=true
With the key material stored in the repository, the manner for replicating the crypto key from author to other instances is as follows:
Using CRXDE Lite:
-
browse to https://<server>:<port>/crx/de
-
select
/etc/key
-
open
Replication
tab -
select
Replicate
Refresh the Granite Crypto Bundle refresh-the-granite-crypto-bundle
-
On each publish instance, access the Web Console
- For example, https://<server>:<port>/system/console/bundles
-
Locate
Adobe Granite Crypto Support
bundle (com.adobe.granite.crypto) -
Select Refresh
-
After a moment, a Success dialog should appear:
Operation completed successfully.
Apache HTTP Server apache-http-server
If using the Apache HTTP server, ensure that you use the correct server name for all relevant entries.
In particular, be careful to use the correct server name, not localhost
, in the RedirectMatch
.
httpd.conf sample httpd-conf-sample
<IfModule alias_module>
# XAMPP does not have a favicon; this prevents any 404 errors which may arise.
Redirect 404 /favicon.ico
<Location /favicon.ico>
ErrorDocument 404 "No favicon"
</Location>
# Return from "Sign Out" generates response header directing you to "/", generating a 404 error
# The RedirectMatch resolves it correctly when modified for the target Community Site:
RedirectMatch ^/$ https://[server name]/content/sites/engage/en.html
...
</IfModule>
Dispatcher dispatcher
If using a Dispatcher, see:
- AEM’s Dispatcher documentation
- Installing Dispatcher
- Configuring Dispatcher for Communities
- Known Issues
Related Communities Documentation related-communities-documentation
-
Visit Administering Communities Sites to learn about creating a community site, configuring community site templates, moderating community content, managing members, and configuring messaging.
-
Visit Developing Communities to learn about the social component framework (SCF) and customizing Communities components and features.
-
Visit Authoring Communities Components to learn how to author with and configure Communities components.