51黑料不打烊

Messaging Essentials messaging-essentials

CAUTION
AEM 6.4 has reached the end of extended support and this documentation is no longer updated. For further details, see our . Find the supported versions here.

This page documents the details of working with using the Messaging component to include a messaging feature on a website.

Essentials for Client-Side essentials-for-client-side

Compose Message

resourceType
social/messaging/components/hbs/composemessage
clientllibs
cq.social.hbs.messaging
templates
/libs/social/messaging/components/hbs/composemessage/composemessage.hbs
css
/libs/social/messaging/components/hbs/composemessage/clientlibs/composemessage.css
properties
see Confiiguring Messaging
admin configuration
Configuring Messaging

Message List (for Inbox, Sent, and Trash)

resourceType
social/messaging/components/hbs/messagebox
clientllibs
cq.social.hbs.messaging
templates
/libs/social/messaging/components/hbs/messagebox/messagebox.hbs
css
/libs/social/messaging/components/hbs/messagebox/clientlibs/messagebox.css
properties
See Confiiguring Messaging
admin configuration
Configuring Messaging

See also Client-side Customizations

Essentials for Server-Side essentials-for-server-side

CAUTION
The String parameter must *not *contain a trailing slash 鈥/鈥 for the following MessageBuilder methods:
  • setInboxPath()
  • setSentItemsPath()
For example:
code language-none
valid: mb.setInboxPath( "/mail/inbox" );
 not valid: mb.setInboxPath( "/mail/inbox/" );

Community Site community-site

A community site structure, created using the wizard, will include the messaging feature when selected. See User Management settings of Community Sites Console.

Sample Code: Message Received Notification sample-code-message-received-notification

The Social Messaging feature throw events for operations, for example send, marking read, marking delete. These events can be caught and actions taken on the data contained in the event.

The following example is of an event handler which listens for the message sent event and sends an email to all message recipients using the Day CQ Mail Service.

To try the server-side sample script, you will need a development environment and the ability to build an OSGi bundle.

  1. Login as an administrator to [CRXDE|Lite](http://localhost:4502/crx/de)

  2. Create a bundle nodein /apps/engage/install with arbitrary names, such as

    • Symbolic Name: com.engage.media.social.messaging.MessagingNotification
    • Name: Getting Started Tutorial Message Notificaton
    • Description: a sample service for sending an email notification to users when they receive a message
    • Package: com.engage.media.social.messaging.notification
  3. Navigate to /apps/engage/install/com.engage.media.social.messaging.MessagingNotification/src/main/java/com/engage/media/social/messaging/notification

    1. Delete the Activator.java class automatically created
    2. Create class MessageEventHandler.java
    3. Copy/paste the code below into MessageEventHandler.java
  4. Click Save All

  5. Navigate to /apps/engage/install/com.engage.media.social.messaging.MessagingNotification/com.engage.media.social.messaging.MessagingNotification.bnd and add all the import statements as written in the MessageEventHandler.java code.

  6. Build the bundle

  7. Ensure Day CQ Mail ServiceOSGi service is configured

  8. Login as one demo user and send email to another

  9. The recipient should receive an email regarding a new message

MessageEventHandler.java messageeventhandler-java

package com.engage.media.social.messaging.notification;

import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Properties;
import org.apache.felix.scr.annotations.Property;
import org.apache.felix.scr.annotations.Service;
import org.apache.felix.scr.annotations.Reference;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache