Versiegeschiedenis beter toegankelijk met column formatting

Elianne Burgers
9-sep-2021 8:00:45

De afgelopen periode heb ik me wat meer verdiept in de mogelijkheden die SharePoint biedt met betrekking tot column formatting (kolom opmaken) en view formatting (weergave opmaken).

Ik ben erg enthousiast geworden over de mogelijkheden en toepassingen die je kunt bereiken zonder dat je een ontwikkelaar bent. Het voornaamste doel van het toepassen van de formatting is de gebruiksvriendelijkheid en overzichtelijkheid van SharePoint bibliotheken en lijsten vergroten.

In mijn vorige blog heb ik een korte introductie gegeven over de praktische toepassing bij een opzoekkolom (lookup) en tips gegeven voor aanvullende tooling. In deze blog gaat het om het snel toegankelijk maken van de versiegeschiedenis.

Toegankelijkheid versiegeschiedenis

De versiegeschiedenis van een item of een document kan relevante informatie bevatten, o.a. opmerkingen die geplaatst zijn bij een nieuwe versie. Recent had ik een scenario waarbij de versiegeschiedenis met behulp van Power Automate (Flow) gevuld werd met informatie over een goedkeuringsproces. Hierbij moest een document door meerdere personen worden goedgekeurd en werden opmerkingen opgeslagen in de versiegeschiedenis. De versiegeschiedenis moest daardoor eenvoudig toegankelijk zijn.

Door een extra kolom aan te maken en deze op te maken is dat mogelijk. Het eindresultaat voor de eindgebruiker ziet er als volgt uit:

In de documentbibliotheek een link naar de versiegeschiedenis, waarbij het icoon alleen bij bestanden zichtbaar is en niet bij mappen

Picture1

Als je op het icoon van de versiegeschiedenis klikt, opent een separaat scherm met daarin de gegevens van de versies van het document.

Picture2

Zie hieronder de gebruikte JSON (uiteraard zelf nog de juiste sitenaam invullen).

{ "$schema": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json", "elmType": "a", "attributes": { "class": "ms-fontColor-themePrimary ms-fontColor-themeDark--hover", "title": "Versiegeschiedenis", "target": "_blank", "href": "='/sites/<>/_layouts/15/versions.aspx?FileName=' + [$FileRef]" }, "style": { "border": "none", "background-color": "transparent", "cursor": "pointer", "text-decoration": "none", "display": "=if([$File_x0020_Type]=='','none','inherit')" }, "children": [ { "elmType": "span", "attributes": { "iconName": "=if([$File_x0020_Type]=='','','History')", "class": "ms-font-l" } } ] }

Stap voor stap

{ "$schema": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json", "elmType": "a", "attributes": { "class": "ms-fontColor-themePrimary ms-fontColor-themeDark--hover", "title": "Versiegeschiedenis", "target": "_blank", "href": "='/sites/<>/_layouts/15/versions.aspx?FileName=' + [$FileRef]" }, "style": { "border": "none", "background-color": "transparent", "cursor": "pointer", "text-decoration": "none", "display": "=if([$File_x0020_Type]=='','none','inherit')" }, "children": [ { "elmType": "span", "attributes": { "iconName": "=if([$File_x0020_Type]=='','','History')", "class": "ms-font-l" } } ] }

Maak een kolom aan die je ‘versiegeschiedenis’ noemt, dit kan ‘Eén regel tekst’ zijn. Kies er voor om deze kolom op te maken.

Klap de kolom opties open (1), ga naar de kolominstellingen (2) en kies voor ‘deze kolom opmaken’ (3). Vervolgens opent het paneel (4) waarbij je opties krijgt om opmaak toe te voegen.

Picture3

Kies hier voor ‘Geavanceerde modus’.

Picture4

Dan nog een deep dive in de JSON: Als je een beetje bekend bent met HTML en CSS zul je de elementen hiervan herkennen. Het eerste stuk bepaalt dat er een link wordt gemaakt met een aantal attributen. De class bepaalt dat de link wordt opgemaakt op basis van de standaard aanwezige class binnen SharePoint en de themakleur gebruikt. De target bepaalt in dit voorbeeld dat de link geopend wordt in een nieuw tabblad.

De link wordt opgebouwd, op basis van de site en de [$FileRef]. Hier wordt bewust gekozen om de [$FileRef] te gebruiken, zodat de link ook werkt als documenten opgeslagen staan in een map. De [$FileRef] bevat namelijk het gehele pad naar het document.

Voorbeeld van [$FileRef] : ‘/sites/sitenaam/Gedeelde%20documenten/mapnaam/bestandsnaam.docx’

Voorbeeld van [$FileLeafRef] : ‘bestandsnaam.docx’.

{ "$schema": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json", "elmType": "a", "attributes": { "class": "ms-fontColor-themePrimary ms-fontColor-themeDark--hover", "title": "Versiegeschiedenis", "target": "_blank", "href": "='/sites/<>/_layouts/15/versions.aspx?FileName=' + [$FileRef]" },

Het uiterlijk kun je volledig naar je eigen hand zetten door de style te bepalen op basis van de CSS, zo hoef je dus niet per se de kleuren van het sitethema te gebruiken. In dit geval wilde ik dat het voor een gebruiker duidelijk was dat je er op kunt klikken, vandaar dat de cursor een pointer (handje) is.

Bij de waarde ‘display’ is een if statement toegevoegd. Dit zorgt ervoor dat de opmaak alleen te zien is als het om bestanden gaat en niet bij een map.

"style": { "border": "none", "background-color": "transparent", "cursor": "pointer", "text-decoration": "none", "display": "=if([$File_x0020_Type]=='','none','inherit')" },

Het laatste gedeelte bestaat uit het icoon dat wordt getoond, in dit geval ‘History’ wat past bij de versiegeschiedenis.

De iconen die je kunt gebruiken kun je hier opzoeken: https://uifabricicons.azurewebsites.net. Keus genoeg!

"children": [ { "elmType": "span", "attributes": { "iconName": "=if([$File_x0020_Type]=='','','History')", "class": "ms-font-l" } } ] }

Extra aandachtspunten en tricks

  • Versiegeschiedenis staat standaard 'Aan' bij documentbibliotheken, maar staat standaard uitgeschakeld bij lijsten.
  • >/_layouts/15/versions.aspx?FileName=' + [$FileRef] + '&isdlg=1'" " v:shapes="Text_x0020_Box_x0020_3"> Als je nog wilt dat bij het openen van de versiegeschiedenis pagina de navigatie en de header niet zichtbaar zijn, kun je isdlg=1 achter de url zetten. Dan wordt de link:

"href": "='/sites/<>/_layouts/15/versions.aspx?FileName=' + [$FileRef] + '&isdlg=1'"

  • Zorg ervoor dat je de kolom versiegeschiedenis zo instelt dat deze niet te zien is het in bewerk formulier. Dit kan door bij de bibliotheek (of lijst) bij geavanceerde instellingen het beheer van inhoudstype toe te staan en vervolgens bij het inhoudstype de kolom versiegeschiedenis op verborgen te zetten:

    Picture5

Kom je er niet uit? Dan help ik je graag op weg, neem gerust contact met ons op of laat je contactgegevens achter!