Akumina Developer Documentation

Akumina Developer Documentation

  • API
  • Docs
  • Blog

›Azure DevOps

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

CI/CD using Azure DevOps

Follow the below Matrix to find out the most relevant build configuration for your Azure DevOps pipeline

Azure DevOps owned byHeadless site Storage owned byBuild Configuration
AkuminaAkuminaService Principal
CustomerAkuminaConnection-string OR Username-Password
CustomerCustomerService Principal OR Connection-string

The following variable required to configure the pipeline

Config KeyConfig Value
assetdirectoryA namespace which you provide while creating the new Site Package by running the yo akumina
spdirectoryDigitalWorkplace - default value
spurlDelivery site url
centralspurlCentral site url
spuserSharePoint username
sppasswordSharePoint user password
mlTrue if your site supports Multilingual - In 5.0+ this should always be True
appmanagerurlAppManager Url
akquerykeyAppManager Query key
devopsdeploymentTrue when Site package is deployed using the DevOps else False
tenantidCurrent Tenant Id
aadclientidAAD storage client application Id. Navigate to an AAD App (you have created as a pre-requisite for this document) > overview > copy Application (client) ID
templateurlprefixTemplate url prefix, should start container name onwards - it should only container the prefix - Example: clientfiles/6.0.2205.2301-headlessreleasepackage/fs3
serviceprincipalService Principal which you have created in you Azure DevOps and granted it the Storage Blob Contributor permission on the Storage Account Container configured in headless site. Note: when you are using the connection string instead of service principal you can provide any dummy service principal because it’s a required input to Azure Cli task
storagecontainersasuriProvide SAS Uri to your container with Add, Create, Read, List options only - Must be Base64 encoded

Setup a Pipeline using SharePoint Username & Password

Create a new Pipeline

  1. Navigate to Pipeline and then click New pipeline

  2. Select Code as Azure Repos Git

  3. Select your repository

  4. Select Configure Pipeline as Node.js or starter pipeline

  5. In the YAML window copy paste the following content

# Node.js
# Build a general Node.js project with npm.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript

trigger:

- main
pool:
vmImage: windows-2022
steps:

- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'

- script: |
npm install
displayName: 'npm install'

- script: |
npm run build
displayName: 'npm run build'

- task: Npm@1
displayName: 'npm run package'
inputs:
command: custom
verbose: false
customCommand: 'run package'

- task: Npm@1
displayName: 'npm run cdnpackage'
inputs:
command: custom
verbose: false
customCommand: 'run cdnpackage'

- task: CmdLine@1
displayName: 'Import widgets'
inputs:
filename: '$(Build.SourcesDirectory)\tools\Akumina.SiteDeployer.exe'
arguments: 'options widgets envdir $(Build.SourcesDirectory)\build assetdirectory $(assetdirectory) spdirectory $(spdirectory) spurl $(spurl) spuser $(spuser) sppassword $(sppassword) centralspurl $(centralspurl) ml $(ml)'

- task: CmdLine@1
displayName: 'Deploy files to CDN'
inputs:
filename: '$(Build.SourcesDirectory)\tools\Akumina.SiteDeployer.exe'
arguments: 'options cdnassets envdir $(Build.SourcesDirectory)\build assetdirectory $(assetdirectory) spdirectory $(spdirectory) spurl $(spurl) spuser $(spuser) sppassword $(sppassword) devopsdeployment true appmanagerurl $(appmanagerurl) tenantid $(tenantId) aadclientid $(aadclientid) templateurlprefix $(templateurlprefix) ml $(ml)'

- task: CmdLine@1
displayName: 'Update Widget Cache'
inputs:
filename: '$(Build.SourcesDirectory)\tools\Akumina.SiteDeployer.exe'
arguments: 'options updatewidgetcache envdir $(Build.SourcesDirectory)\build centralspurl $(centralspurl) spurl $(spurl) spuser $(spuser) sppassword $(sppassword) assetdirectory $(assetdirectory) akquerykey $(akquerykey) appmanagerurl $(appmanagerurl) ml $(ml)' 
  1. From the right corner, Click Variable and then add all variables from the variable listed In the beginning of the session, refer the following screen for completed view

  1. Save and Run

Setup a Pipeline using Azure Storage Container SAS URI

Create a new Pipeline

1) Navigate to Pipeline and then click New pipeline 
2) Select Code as Azure Repos Git 
3) Select your repository 
4) Select Configure Pipeline as Node.js or starter pipeline 
5) In the YAML window copy paste the following content 
# Node.js
# Build a general Node.js project with npm.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript

trigger:
- none

pool:
vmImage: windows-2022

steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'

- script: |
npm install
displayName: 'npm install'

- script: |
npm run build
displayName: 'npm run build'

- task: Npm@1
displayName: 'npm run package'
inputs:
command: custom
verbose: false
customCommand: 'run package'

- task: Npm@1
displayName: 'npm run cdnpackage'
inputs:
command: custom
verbose: false
customCommand: 'run cdnpackage'

- task: CmdLine@1
displayName: 'Import widgets'
inputs:
filename: '$(Build.SourcesDirectory)\tools\Akumina.SiteDeployer.exe'
arguments: 'options widgets envdir $(Build.SourcesDirectory)\build assetdirectory $(assetdirectory) spdirectory $(spdirectory) spurl $(spurl) spuser $(spuser) sppassword $(sppassword) centralspurl $(centralspurl) ml $(ml)'

- task: CmdLine@1
displayName: 'Deploy files to CDN'
inputs:
filename: '$(Build.SourcesDirectory)\tools\Akumina.SiteDeployer.exe'
arguments: 'options cdnassets envdir $(Build.SourcesDirectory)\build assetdirectory $(assetdirectory) spdirectory $(spdirectory) spurl $(spurl) spuser $(spuser) sppassword $(sppassword) devopsdeployment true appmanagerurl $(appmanagerurl) tenantid $(tenantId) aadclientid $(aadclientid) templateurlprefix $(templateurlprefix) ml $(ml) storagecontainersasuri $(storagecontainersasuri)'

- task: CmdLine@1
displayName: 'Update Widget Cache'
inputs:
filename: '$(Build.SourcesDirectory)\tools\Akumina.SiteDeployer.exe'
arguments: 'options updatewidgetcache envdir $(Build.SourcesDirectory)\build centralspurl $(centralspurl) spurl $(spurl) spuser $(spuser) sppassword $(sppassword) assetdirectory $(assetdirectory) akquerykey $(akquerykey) appmanagerurl $(appmanagerurl) ml $(ml)' 

  1. From the right corner, Click Variable and then add all variables from the variable listed In the beginning of the session, refer the following screen for completed view

  1. Save and Run
← Supported TokensSetting up a build to deploy a site package →
Akumina Developer Documentation
Docs
Akumina Framework 5.0Akumina Widget BuilderAkumina Yeoman GeneratorSite Deployer
Community
Akumina Community Site
More
GitHubStar
Copyright © 2024 Akumina