Licensing WikiPakk follows this pattern:
- purchase a subscription, immediately get a license key
- choose or create one or more SharePoint sites to store the license key in
- make sure WikiPakk can reach the licensing server to keep the license key fresh
Above steps are covered in more detail in the sections below.
How to get a license key
Purchase a license via the Pricing page.
The license key is displayed in the browser after purchasing and is sent via email as well.
Note
The license key is bound to a SharePoint tenant. You enter the tenant URL in the Company field of the checkout form.The license key looks like this:
-----BEGIN V2 LICENSE-----
eyJhcGciOiJSUzI8NiisInR5cCI6IkpXVCJ9.eyJ3dHYiOiIxIiwiaXNzIjoiaHR
<snip>
GNLn6lkQTtZw4mG16h8Mz6RvxlZMHq_861O80PE0oerk2oDSX-0E0
-----END V2 LICENSE-----
Where to store the license key
You store the WikiPakk license key in SharePoint. It is kept fresh by WikiPakk (more on that in section “How are license keys refreshed”).
After receiving the license key you have three options where to store it in SharePoint. Choose one:
- in all sites WikiPakk will be added to
- in one dedicated configuration site (more on that in section “How to dedicate a specific site to store the WikiPakk license key”)
- in one well-known configuration site under the URL /sites/WikiPakkConfiguration (you have to create that, use a communication site)
Note: Option 2 and 3 are available as of WikiPakk v2.3.0 (released in June 2023).
Important
Make sure all users of WikiPakk have read access to the site you store the license key in, otherwise the license key cannot be read. This is relevant for options 2 and 3 from the list above.Note
This page has a diagram visualizing all of this: WikiPakk Licensing Flow.Ideally you choose one option, although you can combine them.
WikiPakk searches for a license key in the exact order of above list. First in the local site, then it looks in a site you may have dedicated, then it looks in the WikiPakkConfiguration site, if that exists.
WikiPakk uses the first license key it finds.
In any of those sites, you store the license key in the Description field of the Site Pages document library. This is a quick and easy place to store the license key at, and it is always present.
The next section describes in detail how to store the license key.
How to store the license key in the right place
The following instructions apply to any of the sites you might decide to store the license key in. This means, you follow those steps either in
- all sites WikiPakk has been or will be added to, or
- one dedicated configuration site you choose, or
- the default configuration site /sites/WikiPakkConfiguration
As owner of such site, do the following to store the license:
- In a browser, open the SharePoint site
- Copy the license key to the clipboard (note: the license key is everything from —–BEGIN V2 LICENSE—– to —–END V2 LICENSE—–, including those delimiters)
- Open the Library Settings of the Site Pages library
- Find the place to edit the Description of the Site Pages library
- Paste the license key into the Description edit field
- Choose to Save
- Reload open pages that show the WikiPakk page tree or breadcrumb
Important
Make sure all users of WikiPakk have read access to the site, otherwise the license key cannot be read.WikiPakk should recognize first-time license keys pretty fast, and manually updated keys within 24h.
Caching
You can also clear the browser cache and local storage to make WikiPakk recognize the license key faster.Above steps are also covered in this video:
What if a license key is missing or expired
If no license key can be found, or the license key has expired, a red warning is shown above the page tree, stating that no valid license key could be found.
How are license keys refreshed
The license key is bound to a flexible subscription that can be cancelled on a monthly or yearly basis, depending on the subscription type you chose.
Let’s assume a monthly subscription.
The license key is valid for one month and needs to be refreshed after roughly one month.
WikiPakk takes care of refreshing the license key. When the expiration date is near it will ask a licensing server to exchange the old license key with a new one. The licensing server checks that the subscription is still valid and if it is, returns a refreshed license key that is valid for another month.
Note
WikiPakk will contact the licensing server at https://graph.wikitransformationproject.com. You may want to whitelist this URL. The request will be sent from the browsers of WikiPakk users.Note
WikiPakk sends the old license key to the licensing server, nothing else. This old license key is already known to the server.How to manually refresh the license key
You might want to manually refresh the license key in case you won’t allow WikiPakk to contact the licensing server.
Here’s a PowerShell that asks for a refreshed license:
$licenseKey = "-----BEGIN V2 LICENSE-----
eyJhcGciOiJSUzI8NiisInR5cCI6IkpXVCJ9.eyJ3dHYiOiIxIiwiaXNzIjoiaHR
<snip>
GNLn6lkQTtZw4mG16h8Mz6RvxlZMHq_861O80PE0oerk2oDSX-0E0
-----END V2 LICENSE-----"
$subscriptionId = "ucpD<snip>YpQMw"
$body = @{ LicenseKey = $licenseKey} | ConvertTo-Json
$result = $null
$result = Invoke-RestMethod -Method Post -Uri "https://graph.wikitransformationproject.com/v1.0/wikipakk/subscriptions/update?subscriptionId=$subscriptionId" -Body $body -ContentType "application/json"
$result.LicenseKey
If you don’t have the subscription ID handy, open https://jwt.ms and paste the license key part between —–BEGIN V2 LICENSE—– and —–END V2 LICENSE—– into the input field.
The decoded license key should now show the subscription ID as subscription:
Decoded WikiPakk license
How to dedicate a specific site to store the WikiPakk license key
Note
Creating a site at /sites/WikiPakkConfiguration is easier, as it does not need the configuration shown below.Here is how you dedicate a SharePoint site of your choosing to store the WikiPakk license key.
You point WikiPakk to the dedicated SharePoint site via a SharePoint storage entity (a.k.a tenant property).
One option to set a storage entity is via PnP PowerShell.
You need:
- PowerShell 7
- with the PowerShell module PnP.PowerShell installed
- a user account that is in the Owners group of the tenant app catalog site (or site collection admin there)
Here’s a script that will connect to SharePoint and set the storage entity used by WikiPakk:
Note
Make sure to replace “yourcompany.sharepoint.com” with your SharePoint tenant host.Connect-PnPOnline `
-Url https://yourcompany.sharepoint.com `
-Interactive # ^ use any other site if you don't have access to the root site
Set-PnPStorageEntity `
-Key "wikipakk.licensesiteurl" `
-Value "https://yourcompany.sharepoint.com/sites/it-configuration-site" `
-Description "WikiPakk configuration, where to find the current license key" `
-Scope Tenant
# Get-PnPStorageEntity # <- use this to list all configured storage entities
Above script instructs WikiPakk to look for the license key in site https://yourcompany.sharepoint.com/sites/it-configuration-site
.