Expand my Community achievements bar.

Enhance your AEM Assets & Boost Your Development: [AEM Gems | June 19, 2024] Improving the Developer Experience with New APIs and Events

Creating a blog/social-media like internal website with AEM 6.5


Level 2

Hi Experts,


We are planning to build a collaborative SAML-based authentication intranet website that will have the features of creating posts (with hashtags), moderation and publishing of the posts, likes, comments, and pinning the posts by users. Can you please help by sharing your experiences, thoughts, best practices, and suggestions for designing and building the same?


P.S. Posts will be created by end users of the site, not by the content authors.


Also, please suggest some existing AEM sites built with any of the above requirements, just to have an idea.

We are using AEM 6.5.20 (On-premise)




Topics help categorize Community content and increase your ability to discover relevant content.

4 Replies


Level 7

Hi @SibiMa ,
Below are a few things you can consider while building your website

  1. User Authentication and Authorization:

    • Since you’re using SAML-based authentication, ensure seamless integration with AEM 6.5.20. Configure SAML settings to authenticate users against your identity provider (e.g., Active Directory, Azure AD, Okta).
    • Define user roles and permissions for various actions (post creation, moderation, publishing, etc.). Use AEM’s built-in user/group management to assign permissions.
  2. Post Management:

    • Create a custom content structure for posts. You can use AEM’s content fragments or custom components.
    • Implement a user-friendly interface for post creation. Consider using AEM’s authoring tools or custom forms.
    • Include features for drafting, editing, and saving posts as drafts. Leverage AEM’s versioning capabilities.
    • Design a robust moderation system:
      • Create a moderation workflow where posts are reviewed before publishing.
      • Use AEM’s workflow engine to automate moderation tasks.
      • Notify moderators when new posts are submitted.
  3. Engagement Features:

    • Allow users to interact with posts:
      • Implement “like” buttons and track user likes.
      • Enable commenting on posts.
      • Implement pinning functionality for important posts.
    • Implement a notification system:
      • Notify users about activity on their posts (e.g., new comments, likes).
      • Use AEM’s notification framework or custom solutions.
  4. Scalability and Performance:

    • Design an architecture that can handle a large volume of posts and interactions:
      • Use AEM’s clustering features for scalability.
      • Optimize database queries and employ caching mechanisms.
      • Consider using a CDN for content delivery.
    • Monitor performance using AEM’s built-in tools (e.g., logs, monitoring dashboards).
  5. Content Tagging and Search:

    • Implement a robust tagging system using hashtags:
      • Create a custom tag schema for posts.
      • Allow users to add relevant hashtags to their posts.
    • Incorporate a search functionality:
      • Use AEM’s built-in search capabilities or integrate with external search engines (e.g., Elasticsearch).
  6. Accessibility and User Experience:

    • Ensure compliance with accessibility standards (WCAG):
      • Use semantic HTML and provide alternative text for images.
      • Test with screen readers and other assistive technologies.
    • Design an intuitive user interface:
      • Follow responsive design principles.
      • Conduct usability testing to gather feedback and make improvements.




@SibiMa Did you find the suggestions helpful? Please let us know if more information is required. Otherwise, please mark the answer as correct for posterity. If you have found out solution yourself, please share it with the community.

Kautuk Sahni


Level 2

I haven't tried the suggestion mentioned by the user yet and am still looking for more insights from experts on this topic, such as if any third-party plugins or OOTB features are available. And also, if we can store the user generated data in AEM node itself or we should use separate database to store the likes, comments, posts,etc.