SharePoint

Lijst op een subsite

12 augustus 2013

Vaak is het ideaal om een lijst op de hoofdniveau van een sitecollectie te hebben en deze lijst op meerdere plekken terug te laten komen. Wellicht met verschillende weergaves/filters.

SP2013 logoDoor de standaard gedrag van SharePoint kun je een lijst alleen maar in de site gebruiken waar het gemaakt is. Het gekke is dat SharePoint het wel ondersteund als je maar weet welke aanpassingen je moet doorvoeren om de lijst beschikbaar te krijgen.

Exporteren

Als eerste moet er voor gezorgd worden dat de lijst beschikbaar komt als web onderdeel. Dit kan alleen gedaan worden door de lijst als web onderdeel te exporteren naar een “.webpart” bestand en deze weer te importeren. Als je het web onderdeel bewerkt zie je geen mogelijkheid om het web onderdeel te exporteren:

LijstSubsite_1

Hiervoor moet je de pagina opslaan en openen in SharePoint designer en daar de pagina bewerken. In deze pagina zie je het web onderdeel staan als “XsltListViewWebPart”. In deze regel moet je de “Exportmode” bijplaatsen met als waarde “All”:

LijstSubsite_2

Sla de pagina op, ververs de pagina binnen de browser en bewerk de pagina opnieuw. Nu heb je wel de export mogelijkheid:

LijstSubsite_3

Exporteer het bestand en sla het op een locatie op waar je later weer bij kan.

Web referentie

Nu we het web onderdeel hebben geëxporteerd moet alleen nog aangegeven worden waar de lijst vandaan komt zodat het web onderdeel compleet is. Open het export bestand binnen een tekst bewerker zoals kladblok, en ga op zoek naar het kenmerk (property) WebId. Hier zul je allemaal nullen zien staan wat betekend dat de lijst gevonden kan worden op de huidige site, maar dit moeten we veranderen naar een ID waar de lijst wel gevonden kan worden:

LijstSubsite_4

De ID van de site kan op verschillende manier gevonden worden als je een on premises omgeving hebt, maar voor Office 365 heb je deze methodes niet tot je beschikking. Hiervoor is een stukje javascript nodig die gebruikt maakt van de client object model:

var context = new SP.ClientContext.get_current();

var currentWeb = context.get_web();

context.load(currentWeb);

context.executeQueryAsync(function(){console.log(currentWeb.get_id())}, function(){});

Deze code kan uitgevoerd worden in de console van de browser en levert een nummer op die de ID van web weergeeft:

LijstSubsite_5

Kopieer dit nummer en plaats dit nummer i.p.v. de nullen in de webID van het export bestand. Sla het export bestand op

Importeren

Nu het export bestand helemaal volledig is kan het bestand worden toegevoegd aan de pagina die we willen, ook op sub sites. Navigeer naar een sub site en bewerk de pagina die je wilt voorzien van het web onderdeel:

LijstSubsite_6

Upload je export bestand:

LijstSubsite_7

Als het bestand is geüpload moet opnieuw worden aangeven dat je een web onderdeel wilt toevoegen. In dat overzicht zal je dan je toegevoegde web onderdeel zien:

LijstSubsite_8

Voeg dit web onderdeel toe en configureer het web onderdeel verder af!

LijstSubsite_9

You Might Also Like

1 reactie

  • avatar
    Reply Thijs 4 december 2014 at 16:16

    Superbeschrijving, thanks!

  • Plaats een reactie