Hoe bouw je een complete SharePoint-oplossing – tientallen sites, honderden kolommen, formulieren en bedrijfsregels – in weken in plaats van maanden? Bij Lialis klikken we geen lijsten en kolommen meer met de hand in elkaar. Alles is code: geschreven in Visual Studio Code, grotendeels door Claude, de AI van Anthropic, en door Shareflex zelf uitgerold in de SharePoint van de klant. In dit artikel laten we zien hoe dat werkt.

1. Een project op onze pc, op basis van de Shareflex-standaard
Elk project begint als een map op de pc van de ontwikkelaar, onder Git. De basis is de standaard solution deployment die Portal Systems, de maker van Shareflex, levert – bijvoorbeeld voor Shareflex Contract of Shareflex Quality Documents. Dat geeft een beproefd fundament: de kernlijsten, formulieren en regels die elke klant krijgt.
Daarbovenop komt alles wat de klant uniek maakt, rechtstreeks uit het ontwerp dat we samen hebben afgesproken: hun structuur van landen en divisies, hun contract- of documenttypen, hun velden, hun regels. (Lees hoe we tot dat ontwerp komen in Van klantwens naar contractmanagement op maat.)
2. Claude doet het programmeerwerk
Hier is het meest veranderd. De maatwerkcode – provisioningscripts, formulierlogica, bedrijfsregels – wordt geschreven door Claude, binnen Visual Studio Code. Wij beschrijven wat er nodig is, Claude schrijft de TypeScript, en wij controleren, testen en sturen bij. Het project heeft eigen instructies voor Claude: hoe de Shareflex-API’s werken, welke conventies we gebruiken, waar je niet aan moet komen.

Het resultaat is geen black box. Alles komt in Git, met een duidelijke historie, en elke wijziging is te beoordelen zoals alle andere code. De functies waar we eerder over schreven – contract kopiëren, de AI PDF-scan en PDF Sign met Oodrive en DocuSign – zijn allemaal zo gebouwd.
3. Geen lijsten en kolommen meer klikken
Het mooiste: we maken nooit meer met de hand een lijst of kolom aan. Met Shareflex Provisioning JS staat de hele SharePoint-structuur in code. Volgens de Shareflex-documentatie is het de opvolger van de oudere, op XML gebaseerde scripts, en omdat het met JavaScript werkt is het veel sneller en veel flexibeler.
Provisioning werkt met “batches”: je verzamelt alle bewerkingen van één soort – lijsten, velden, weergaven, navigatie, formulieren – en voert ze in één keer uit. En het is “ensure”-logica: bestaat een lijst al, dan wordt hij bijgewerkt, anders aangemaakt. Je kunt hetzelfde script dus steeds opnieuw draaien.
// Every contract area from the design becomes a site with its own lists - generated, not clicked
export async function createContractWebLists(prov: ShareflexProvisioning, config: SolutionInfo) {
for (const contractWeb of config.contractWebs) {
const listBatch = prov.createListBatch(contractWeb.webUrl);
listBatch.addEnsureGenericList({
name: 'Contracts',
title: config.contractsList.listTitle,
enableVersioning: true,
});
for (const [listName, listConfig] of Object.entries(config.contractsList.secondaryCoreLists)) {
if (listConfig.excludedContractTypes.includes(contractWeb.contractType.name)) continue;
listBatch.addEnsureGenericList({ name: listName, title: listConfig.listTitle, enableVersioning: true });
}
await listBatch.execute({});
}
}
Kolommen gaan op dezelfde manier. Kernvelden komen in elke contractlijst; de extra clausulevelden verschijnen alleen bij de contracttypen die ze nodig hebben, precies zoals het ontwerp voorschrijft:
// Columns per contract type: core fields for everyone, extra clause fields only where the design says so
const contractWebFieldBatch = prov.createListFieldBatch(contractWeb.webUrl);
contractWebFieldBatch.addEnsureListFields({
listName: 'Contracts',
ensureFields: toEnsureFields(
prov,
config.contractsList.coreFields,
config.contractsList.customFields.filter(field => !field.excludedContractTypes.includes(contractWeb.contractType.name)),
),
});
Ontwerp aanpassen, script opnieuw draaien, en SharePoint volgt. Zo wordt één ontwerp tientallen consistente sites, zonder één handmatige stap.
4. Bouwen: TypeScript erin, JavaScript eruit
We schrijven in TypeScript, met volledige IntelliSense voor de Shareflex-API’s: Shareflex levert daar typedefinities voor (zoals ShareflexRules.d.ts), zie de Visual Studio Code-integratie. Een klein buildscript met esbuild maakt van de bronbestanden in src één JavaScript-bestand per script in dist – de standaard projectstructuur van Shareflex.
// esbuild turns the TypeScript sources into the JavaScript files Shareflex runs
addProvisioningScript('Deploy-Customer.ts', 'Provisioning/Deploy-Customer.js');
addRulesScript('ListEventsConfiguration/Custom/LialisContract/PDFSignSubmit.ts', 'ListEventsConfiguration/Custom/LialisContract/PDFSignSubmit.js');
addRulesScript('ListEventsConfiguration/Custom/LialisContract/AIScanProcessing.ts', 'ListEventsConfiguration/Custom/LialisContract/AIScanProcessing.js');
addUiScript('FormConfiguration/ROOT_PDFSignSettings/UI.ts', 'FormConfiguration/ROOT_PDFSignSettings/UI.js');
// ...dozens more
5. Shift + Alt + U: uploaden met één toetscombinatie
De gebouwde bestanden moeten naar de SharePoint van de klant, naar de zogeheten pscBAF-site waar Shareflex zijn scripts en deploymentpakketten bewaart. Daarvoor gebruiken we Shareflex Code, de Visual Studio Code-extensie van Portal Systems. Eén keer de doelsite kiezen, dan op Shift + Alt + U drukken en het bestand staat op de juiste plek. Tijdens de ontwikkeling uploaden we tientallen bestanden per dag; elke upload duurt seconden en komt altijd in de juiste map.
Voor IT-afdelingen is het goed om te weten hoe dit beveiligd is. Shareflex Code is een enterprise-applicatie in Microsoft Entra ID die alleen gedelegeerde rechten gebruikt: hij werkt alleen voor een aangemelde gebruiker en nooit verder dan de rechten van die gebruiker. Aanmelden gaat via de normale Microsoft 365-login met MFA, bestanden gaan rechtstreeks van VS Code naar de ingestelde SharePoint-site, en de klant bepaalt wie de app mag gebruiken (“toewijzing vereist”).

6. Provisioning doet de rest – en snel
Tot slot wordt het deploymentscript gestart in de Shareflex Provisioning Web Client op de site van de klant. Shareflex voert het op de achtergrond uit en maakt alles aan of werkt het bij: sites, lijsten, kolommen, weergaven, formulieren, navigatie en de bedrijfsregels.

Dat het snel gaat heeft een reden: Shareflex houdt van elk bestand op de pscBAF-site een MD5-hash bij en kopieert alleen bestanden die echt gewijzigd zijn (optimized file provisioning). Een update duurt daardoor minuten, geen uren. En omdat de provisioning client de taak op de achtergrond uitvoert, kunt u de browser sluiten en later in de joblijst kijken.
Wat het onze klanten oplevert
- Snelheid – van ontwerp naar werkende oplossing in weken; wijzigingen staan dezelfde dag live.
- Consistentie – elke site wordt uit hetzelfde ontwerp gegenereerd, dus geen verschillen tussen test en productie.
- Herhaalbaarheid – een nieuwe omgeving of een extra divisie is een scriptrun, geen project.
- Kwaliteit en controle – alle code in Git, gecontroleerd en getest; AI versnelt het werk, mensen beslissen.
- Veiligheid – alles draait in de eigen Microsoft 365-tenant van de klant, met alleen gedelegeerde rechten.
Benieuwd?
Wilt u zien hoe snel uw processen op SharePoint kunnen draaien met Shareflex? Lees meer over Shareflex installeren op uw SharePoint-tenant, bekijk Shareflex Contract of neem contact op.
