Akumina Developer Documentation

Akumina Developer Documentation

  • API
  • Docs
  • Blog

›Widget Info

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

Global vs Local widgets (Widget Scoping)

Version 5.0 introduced the concept of "local widgets" which means the widget property bags are stored within the page. This also means the widget properties are not shared between pages and can only be used on the page they are added to.

Widget properties are an important concept to understand within Akumina. There are usecases where you want a change to a widget to be reflected across multiple pages, or even multiple sites. This cuts down on the common problem where you want to make a change in many places but have to update N number of pages to see the reflected change. This can be a problem with large sites, especially after launch.

Do not be confused by the word 'change' - Widget VIEWS (.HTML) and Widget CODE (JS) is automatically shared between all instances, regardless of GLOBAL or LOCAL. This concept specifically applies to WIDGET PROPERTIES or a WIDGET's PROPERTY BAG.

Akumina in the beginning, didnt have a page management system, it only had widgets that could be put within OOB Sharepoint pages. So every single widget was considered "GLOBAL" - meaning it could be put on ANY page and its properties were centrally stored (In a Sharepoint List). This was a powerful concept at the time. As more and more pages were created, more and more Widget Instances would need to be created to handle it. This means if you had 20 pages with 10 widgets on each page - you could potentially have 200 different global widgets with different property bags. This can be combersome to manage, obviously. Especially if that widget and its props were only used on 1 page. Akumina released its page management system (Page Builder) in 4.8 - with its support for Sharepoint Modern.

Front end widget resolution

(WidgetProperties_AK - SiteId)

  • Global in Central => All Sites => SiteId = Central Site Id
  • Global in Delivery => All Pages = > SiteId = Delivery Site Id (Will only work in that Delivery Site, Cannot use on other Delivery Sites)
  • Local in Delivery => Properties for 1 page => Use Page Specific (Local)

The Framework ONLY loads Global Widgets from CENTRAL OR the CURRENT DELIVERY SITE

Widget Storage within Sharepoint

Global Widgets - 'Central Site' using Widgets_AK and WidgetProperties_AK SP lists.

Local Widgets - 'Delivery Site' PageWidgets_AK list.

← Widget PropertiesAkumina React Widgets →
  • Front end widget resolution
  • Widget Storage within Sharepoint
Akumina Developer Documentation
Docs
Akumina Framework 5.0Akumina Widget BuilderAkumina Yeoman GeneratorSite Deployer
Community
Akumina Community Site
More
GitHubStar
Copyright © 2024 Akumina