Akumina Developer Documentation

Akumina Developer Documentation

  • API
  • Docs
  • Blog

Version 5.0

Download

Please see the release section for downloading the Site Deployer assets

Install

npm install

Command line parameters are set in .env

argumentdescriptionexample
versionShows the Site deployer version
envdirPath to location that contains SiteDefinitions directory - should have trailing slashC:\TEMP\
assetdirectoryDirectory name in SiteDefinitions directoryMyClient (Looks in envdir\SiteDefinitions\MyClient)
optionsComma deliminted list of options - see belowjs,widgets
mlPopulate AkId,AkLanguageId,AkLanguageCode columnstrue or false
langidLanguage Id1033
spdirectoryFolder in Sharepoint Style Library where bits gets deployedDigitalWorkplace
spUrlSharepoint site collectionhttps://tenant.sharepoint.com/sites/mysitecollection
spUserSharepoint usernamemyusername@tenant.onmicrosoft.com
spPasswordSharepoint password12345
clientidSharepoint app client idguid - ClientId and ClientSecret are used when accounts have MFA and cannot use a username/password. See https://akumina.github.io/docs/Site-Deployer-AppOnly
clientsecretSharepoint app client secretClientId and ClientSecret are used when accounts have MFA and cannot use a username/password. See https://akumina.github.io/docs/Site-Deployer-AppOnly
azurestorageaccountnameAzure Storage account name
azurestoragecontainerAzure Storage blob container name
azurestorageaccountkeyAzure Storage account key
cdnprefixreplaces {{CDNPrefix}} token in Master page with this value
multideploymentDeploys the currently selected option to each site defined in inventory.sites.jsontrue or false
centralspurlCentral site url for widget deployment

Minimum usage with username|password

Akumina.SiteDeployer.exe options "js" spUser "myusername@tenant.onmicrosoft.com" spPassword "mypassword" spUrl "https://tenant.sharepoint.com/sites/mysitecollection" envdir "C:\TEMP\\" assetdirectory "MyClient" spdirectory "DigitalWorkplace" centralspurl "https://tenant.sharepoint.com/sites/centralsitecollection"

Minimum usage with clientid|clientsecret

Akumina.SiteDeployer.exe options "js" spUrl "https://tenant.sharepoint.com/sites/mysitecollection" clientid "myclientid" clientsecret "myclientsecret" envdir "C:\TEMP\\" assetdirectory "MyClient" spdirectory "DigitalWorkplace" centralspurl "https://tenant.sharepoint.com/sites/centralsitecollection"

Usage

node ./deploy.js OR npm run deploy

Set options to true/false in akumina.sitedeployer.config.json:

optionDescription
masterpageDeploys contents of envdir/sitedefinitions/assetdirectory/MasterPages (classic sites)
jsDeploys contents of envdir/sitedefinitions/assetdirectory/branding/js
cssDeploys contents of envdir/sitedefinitions/assetdirectory/branding/css
listsDeploys lists based on envdir/sitedefinitions/assetdirectory/ListDefinitions/Lists.xml
layoutsDeploys new page layouts from envdir/sitedefinitions/assetdirectory/PageLayouts/Elements.xml
pagesDeploys new .aspx pages from envdir/sitedefinitions/assetdirectory/Pages/Elements.xml
addtermsetsDeploys termsets based on envdir/sitedefinitions/assetdirectory/Taxonomy/terms.xml
controlsDeploys widgets onto pages from envdir/sitedefinitions/assetdirectory/PageContent/pages.xml
widgetsDeploys widget packages from envdir/sitedefinitions/assetdirectory/WidgetPackages/*.zip
contentfilesDeploys contents of envdir/sitedefinitions/assetdirectory/branding/content
imagefilesDeploys contents of envdir/sitedefinitions/assetdirectory/branding/imgimages
updatelistsDeploys list content based on envdir/sitedefinitions/assetdirectory/ListDefinitions/Update.xml
homepageSets default home page for the site collection to Pages/home.aspx unless envdir/sitedefinitions/assetdirectory/homepage/Elements.json exists
fontsDeploys contents of envdir/sitedefinitions/assetdirectory/branding/fonts
exportlistsReads 'exportLists' key from app.config - will export configured lists - see https://akumina.github.io/docs/Site-Package-ListDefinitions-Folder#export
uploadfilesDeploys contents of envdir/sitedefinitions/assetdirectory/UploadFiles
webpartgallery
groupsDeploys Sharepoint Security Groups from envdir/sitedefinitions/assetdirectory/SecurityGroups/groups.xml
sitepropertiesDeploys contents of envdir/sitedefinitions/assetdirectory/SiteProperties/properties.xml
virtualpagesDeploys contents of envdir/sitedefinitions/assetdirectory/VirtualPages - see https://akumina.github.io/docs/AK-Virtual-Page-Builder.html
cdnassetsDeploys assets to the Azure Storage
sleepSleeps for 15 seconds
spusersearchGets the count of users in the search
webpartgalleryAdds .dwp files to the web part gallery
virtuallayoutAdd Virtual Page Layouts
updatepagecacheUpdated the page cache for the site; see https://akumina.github.io/docs/Site-Deployer-updatepagecache-option
exportcommentsExports comments from NewsComments_AK list into the Akumina 5.0 Comment format. Places exported comments in {EnvironmentalPath}\SiteDefinitions{AssetDirectory}*Export* directory. A separate file will be created for each set of 3000 comments (e.g. Comments1.json, Comments2.json).

To import these comments into the Comment 5.0 engine, go to App Manager / Management Apps / Comments App and click on the "Import" button. Select one of the exported files and the import process will begin. You can monitor the status of the import process from this page.
listsettingsUpdates list settings from envdir/sitedefinitions/assetdirectory/ListSettings/Update.xml see https://akumina.github.io/docs/Site-Package--ListSettings
contentappsDeploys App Manager Content Apps from envdir/sitedefinitions/assetdirectory/ContentApps/Author.json see https://akumina.github.io/docs/Site-Package-ContentApps-Folder
updatespapropertiesUpdates the properties for the Single Page App; see https://akumina.github.io/docs/Site-Deployer-updatespaproperties-option

Nuances

Modern deployment

Due to differences in how Modern works vs Classic, some steps in the site creator have no relevance. The table below is a list of site deployer steps, and their classic vs modern mapping.

Site Deployer StepsClassicModernComments
masterpageYesNoSee https://akumina.github.io/docs/Modern--Deploying-a-virtual-master-page
jsYesYes
cssYesYes
listsYesYes
layoutsYesNo
pagesYesNo
virtualpagesYesYes
controlsYesNo
widgetsYesYesCentral - Widget Data, Delivery - Content and Instance Data
contentfilesYesYes
imagefilesYesYes
homepageYesNo
fontsYesYes
updatelistsYesYes
addtermsetsYesYes
cdnassetsYesYes
sleepYesYes
exportlistsYesYes
uploadfilesYesYes
spusersearchYesYes
webpartgalleryYesNo
groupsYesYes
sitepropertiesYesYes
spusersearchYesYes
virtuallayoutYesYes
updatepagecacheYesYes
updatespapropertiesNoYesThe Single Page Application is only in Modern

Nuances

There is a known issue with the Site Deployer wherein the envdir, and other subsequent directory locations, do not function properly with the site deployer. The reason for this is because the directory location is passed as an arg to the SiteDeployer as a string and split based on space characters. This causes the directory location to be cut in half and the SiteDeployer to output an error.

This is a known issue, a work-around is provided below:

const envParams = Object.entries(process.env).filter(([key, value]) =>
    siteDeployerConfig.Args.includes(key) && value != '').map(o => 
        o[0] === 'envdir' 
            ? `${o[0]} ${'"' + o[1] + '"'}`
            : `${o[0]} ${o[1]}`).join(' ')

This snippet, when placed in the root/tools/deploy.js file, will filter out that one param and allow it to be passed to the SiteDeployer with a string and wrapped in quotes to be parsed as a string literal.

  • Download
    • Nuances
  • Modern deployment
  • Nuances
Akumina Developer Documentation
Docs
Akumina Framework 5.0Akumina Widget BuilderAkumina Yeoman GeneratorSite Deployer
Community
Akumina Community Site
More
GitHubStar
Copyright © 2024 Akumina