Sharepoint Property bags

This post introduces SharePoint property bags as hierarchical key-value configuration storage across farm, web app, site collection, site, and list levels. It outlines how to read and manage property bags via SharePoint Designer, central admin tooling, and the object model.

Coveros Staff

October 21, 2013

SharePoint Property Bag allows to store configurations settings at different levels of the SharePoint hierarchy outside of the application itself. Property bag is basically a hash table of key-value pair options. Property bag feature is available in Windows SharePoint services 3.0, SharePoint 2010 and SharePoint 2013. Property bag helps you to store meta data as key-value pairs example Connection Strings, file paths, server names and other settings in SharePoint application. This is something like app.config information in classic ASP.NET. Property bags can be created / Modified / Deleted from Sharepoint designer, using Object model or using http://pbs2010.codeplex.com/ access Property bags from Central Administration.

Advantages of using Property bag element

1. The SharePoint Property Bag Settings includes a hierarchical configuration manager that can safely store and retrieve configuration settings at the following levels:

*Farm (SPFarm class)
*Web application (SPWebApplication class)
*Site collection (SPSite class)
*Site (SPWeb class)
*List (SPList class)

2. Import and Export Property bags

3. Access Property bags from Central Administration or Site Settings

4. Encrypting property bag value

Using SharePoint designer :

You can use SharePoint designer for getting the Property bag settings.

1. Open a site in SharePoint Designer

2. Go to Site menu click on Site options

3. Site Settings dialog box opens

4. Click on Parameters tab where you can see the list of existing properties

from the same place you can even perform add/modify/delete operations.

Using Central Admin :

There is no out of the box user interface available for setting and reading the property bag values, however you can download this Property Bag util from  http://pbs2010.codeplex.com/releases/view/46201 to have the interface in central admin for setting the property bag values. This SharePoint Property Bag Settings is a reusable component that you can include in your own SharePoint applications. It can store simple types, such as integers or strings, as well as any type that can be serialized to XML.

Using SharePoint object model :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using (SPSite RootSite = new SPSite(URL))
            {
                using (SPWeb web= RootSite.OpenWeb())
                {                   
                    try
                    {
                        web.AllowUnsafeUpdates = true;
                       // Get Property bag
                        if (web.AllProperties.ContainsKey("SiteID"))
                        {
                            var data = web.AllProperties["SiteID"].ToString();
                        }                       
                        // Set Property bag
                        web.Properties["SiteID"] = "GUID";
                        web.Properties.Update();
                        web.AllowUnsafeUpdates = false;                       
                    }
                    catch (Exception ex)
                    {
                      //Throw Exception 
                    }          
                }
            }
Coveros Staff

Coveros Staff

This post represents the collective insights of the Coveros team. Our staff consists of software experts who bring deep experience in secure agile development, DevOps, testing, and software quality. Over the past 20 years, Coveros has trained more than 30,000 professionals and worked with half of the Fortune 100 companies on mission-critical software development challenges. We draw on this extensive experience to share practical insights, proven strategies, and real-world solutions that help organizations build better software faster and more securely.