Akumina Developer Documentation

Akumina Developer Documentation

  • API
  • Docs
  • Blog

›Stream Card Builder

Akumina

  • Quickstart

Yo Akumina

  • Yo Akumina
  • Start with Yeoman
  • React
  • Simple template

Widget Builder

  • Widget Builder Structure
  • Akumina Widget Builder
  • Skipping instances
  • Token replacement for widget properties

Widget Development Quickstart

  • Setting up the Project
  • Configuring .env file
  • Configuring - akumina.sitedployer.config.json file
  • Configuring - akumina.config.json file
  • Extras

Widget Info

  • Akumina Widgets Overview
  • Building a New Widget Instance
  • Widget Views
  • Widget Properties
  • Global vs Local widgets (Widget Scoping)
  • Akumina React Widgets
  • Callbacks
  • RenderChildWidgets
  • Vendor Package List

Virtual Page Builder

  • Akumina Virtual Page Builder
  • Using Virtual Page Layouts
  • Creating a Custom Layout

Stream Card Builder

  • Installation
  • Stream Card Builder
  • Custom Cards
  • Activity Comments Config
  • Akumina Activity Stream PUSH Subscription using PowerAutomate to connect to ServiceNow
  • Akumina Activity Stream PUSH Subscription using PowerAutomate to connect to Dynamic 365

Site Deployer

  • Overview
  • Version 6.0
  • List Attribute Deployments
  • NPM Commands
  • SPA Updates and Deploying to multiple sites

Authoring

  • Content Action Event
  • Publish Validation Integration
  • Field Event Integration
  • CK Editor external plugins

Headless

  • Quickstart
  • Headless Teams support
  • Headless Troubleshooting

Modern

  • Overview
  • FAQ
  • Single Page Application
  • Modern Web Part Library
  • Google Analytics for Modern Pages

Site Creator

  • Overview
  • Adding A Custom Site Definition
  • Core Step Classes
  • Custom Site Definition Components
  • Custom Site Definition XML
  • Custom Subsite Definitions
  • Sample Step Code
  • Supported Tokens

Azure DevOps

  • CI/CD using Azure DevOps
  • Setting up a build to deploy a site package
  • Setting up a build to deploy file to App Manager hosted in an app service

Configuration

  • Configuration Context Overview
  • Edit the Redis cache timeout
  • Using a key vault for the client id and client secret

Debugging

  • Debugging in Akumina

Advanced

  • Central Site Collection Support
  • Eventing OOB Digital Workplace Events
  • Working with custom JSX Views
  • Page Indexing

Service Hub

  • Quickstart

Patch Notes

  • Patch Notes

Activity Comments Config

Overview

The purpose of this article will be to cover the process of configuring a widget to make use of the Activity Comments Widget. The article will expand upon familiar concepts, demonstrate the configuration process from start to finish, and bring to light any nuances or unintuitive behaviors or requirements present in the process.

This article makes the following assumptions:

  • Akumina Framework Version 5.0 or higher

  • Activity Commenting system licensed and configured

  • Local Akumina Project Directory

  • Source code access to widget for which the Activity Comments Widget will support

Activity Comments Recap

The Activity Comments Widget is a new widget bundled with Akumina Framework Version 5.0. The widget is a stand-alone commenting interface for which any widget can make use of, provided configuration is implemented. The comments are stored in CosmosDB. By itself, the Activity Comments Widget is nearly useless as there is no source for which the comments to attach to. Simply adding the Commenting widget to a page without configuration will prove useless as there is no link to any source, thus comments will never appear.

For more information, see the Community Site Documentation

Activity Comments Configuration

As previously noted, the Commenting widget is useless by itself. It needs a source, a provider, for which to link comments. This is done via the Akumina Eventing Framework. The Activity Comments Widget will simply sit on the page and wait for instructions from its provider. The following snippet outlines the shape and purpose of the data the widget expects:

Note: The arguments supplied were initially implemented as part of support for the News Widgets

interface ParentArgs {
    newstitle: string; // Denotes the title of the target item, in the case of News Articles, this would be the News Title displayed when sending Notifications
    listName: string; // Name of the supporting widget's target list, in the case of News Articles, this would be Blogs_AK, etc
    newsid: number; // This is the unique identifier of the source item, in the case of News Articles, this would be the unique ID of the individual News Article
    listId: string; // This is the unique Sharepoint ID of the supporting widget's target list
    _externalId: string; // This is the unique identifier of the supporting widget. One could use SenderID as the unique identifier for uniqueness constraints (ie - multiple widgets displaying comments)
}

See the comments in the above object definition for more information as to what each property maps to, an example of what its value may be, and examples of how one might obtain them.

Once your supporting widget has the proper object constructed, you simply need to send it over to the Commenting widget. As previously noted, the Commenting widget will, when left alone, simply sit on the page and wait for its provider to supply it with the above data. The following code will kick off the process:

Akumina.Digispace.AppPart.Eventing.PublishAndTrack('/newsitem/changed/', args);

Note: It is recommended to place the PublishAndTrack call within a function that is one of the last, if not the last, to call in your widget's logic. In the widgets which ship with innate Commenting support, these calls are placed inside of the CallBindTemplate functions.

← Custom CardsAkumina Activity Stream PUSH Subscription using PowerAutomate to connect to ServiceNow →
Akumina Developer Documentation
Docs
Akumina Framework 5.0Akumina Widget BuilderAkumina Yeoman GeneratorSite Deployer
Community
Akumina Community Site
More
GitHubStar
Copyright © 2024 Akumina