Know your Office 365 and SharePoint 2016 _spPageContextInfo

    As I've worked with SharePoint over the past several years, more specifically the client side development aspect of it, one component of JavaScript Object Model that I can't live without is the _spPageContextInfo object. It is available within every SharePoint page after the SharePoint Client Context object has been loaded. The _spPageContextInfo object has been available since SharePoint 2010 and has grown since then to include the following attributes.  

      SP2010 SP2013 SP2016 O365 O365 w/ SP Framework Example
    alertsEnabled X X X X X true
    allowSilverlightPrompt X X X X X "True"
    clientServerTimeDelta   X X X -332
    cdnPrefix         X static.sharepointonline.com/bld
    CorrelationId         X 838295cd-201d-3aaa-3636-8cce395479ae
    crossDomainPhotosEnabled   X X X X false
    currentCultureName   X X X X "en-US"
    currentLanguage X X X X X 1033
    currentUICultureName   X X X X "en-US"
    env       X X "Prod"
    ExpFeatures X [ -1935704048, 1880353600, 1561415744, 33620252, 320014136, -1798548608, 12582919, 57158685, 4785188, -2046689280, 1049488, -536678120, -134118912, 1098973635, 2159492, 1879965696, -702520078, -535095679, 16928863, 0, 0, 268435456, -2145386494, 16777222, 0, 8, 0, 0, 0, 0, 0, 5888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32768 ]
    farmLabel X US_5_Content
    fid X 16214
    groupAlias X null
    groupColor X null
    groupId X null
    groupType X null
    hasManagedWebPermissions X X X true
    hideSyncButtonOnODB X FALSE
    isAppWeb X X X true
    isNoScriptEnabled X FALSE
    isSiteAdmin X X X true
    killSwitches X {"F8FF3F1E-AB40-4AE1-7BB9-8BB67172EB53", true,
    "0DD76D5B-35B6-42D0-AB40-7DDED9F09F98", true,
    "3C70F5DC-8D7E-4DAB-B53C-07A9C3E8D7C8", true,
    "E589C138-7DD8-42D0-4DAB-EBC92D395B94", true,
    "639A0731-C514-42BC-84ED-8BB67172EB53", true,
    "4D64EB0F-E71C-42D0-42BC-6B47CA92386E", true,
    "343B4477-F7AC-4143-A26A-559457481FBD", true,
    "88D8F6DE-F224-4D94-B53C-EBC92D395B94", true,
    "4D64EB0F-5309-42D0-8010-559457481FBD", true}
    layoutsUrl X X X X "_layouts/15"
    listBaseTemplate X -1
    listId X
    listPermsMask X null
    listTitle X null
    listUrl X
    navigationInfo X null
    nid X 125
    openInClient X FALSE
    pageItemId X X X X X 10
    pageListId X X X X X "{2c3b629a-ea6a-4b50-bd00-9686d627941d}"
    pagePersonalizationScope X X X X 1
    ProfileUrl X X "https://cribtoso-my.sharepoint.com/person.aspx"
    serverRequestPath X X X X "/Pages/default.aspx"
    serverTime X 2016-05-13T14:00:55.7911099Z
    showNGSCDialogForSyncOnODB X FALSE
    siteAbsoluteUrl X X X X "http://cribtososp16a01"
    siteClientTag X X X X "43$$16.0.4327.1000"
    siteId X {a873bec2-11fc-4952-8301-c90abc09767d}
    siteServerRelativeUrl X X X X X "/sites/sitesandbox"
    siteSubscriptionId X f59e3cb7-4bff-4aed-91a0-3a11c07128e8
    systemUserKey X X X X S-1-0-0
    tenantAppVersion X X X X "3904492014"
    themeCacheToken X X X "/sites/sandboxsite::0:16.0.5124.1208"
    themedCssFolderUrl X X X "/_catalogs/theme/Themed/7FA80357"
    themedImageFileNames X X X [object Object]
    updateFormDigestPageLoaded X X "Wed Apr 27 2016 19:20:30 GMT+0000 (Coordinated Universal Time)"
    userDisplayName X John Smith
    userId X X X X X 1073746825
    userLoginName X X X "test.user@cribtoso.com" or  "cribtoso\testuser"
    viewId X
    webAbsoluteUrl X X X X "http://cribtososp16a01/sites/sandboxsite"
    webId X {0f93846b-2c35-483b-abb4-ecab385ec2c2c}
    webLanguage X X X X X 1033
    webLogoUrl X X X X "_layouts/15/images/siteicon.png"
    webPermMasks X X X X [object Object]
    webServerRelativeUrl X X X X X "/sites/sandboxsite"
    webTemplate X X X X "53"
    webTitle X X X X "Cribtoso SP Sandbox Site"
    webUIVersion X X X X X 15

    Once you start using the _spPageContextInfo object on a regular basis, you'll wonder how you lived without it before.Looking at the table, you'll notice some new items for SharePoint 2016 and Office 365. Items like the userLoginName, the ProfileUrl, and the env property will be super helpful given the emphasis that SharePoint 2016 has made on hybrid environments. Microsoft is constantly updating the Office 365 environment with a specific focus on enhancing the personalized experience for users through their profile sites in the cloud. Having the ProfileUrl at your fingertips, provided by SharePoint, will always keep you pointing at the latest updated profile experience regardless of whether the page is in the cloud or on premise.


    Subscribe Here!

    Recent Posts

    Posts by Topic

    see all