<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>SPConfigStore Wiki &amp; Documentation Rss Feed</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home</link><description>SPConfigStore Wiki Rss Description</description><item><title>Updated Wiki: Home</title><link>http://spconfigstore.codeplex.com/Wiki/View.aspx?title=Home&amp;version=22</link><description>&lt;div class="wikidoc"&gt;&lt;i&gt;Update: Release 2.1.0.2 uploaded 03 Sept 2009 - see Release 2.1.0.2 page for release notes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; - &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;DownloadId=34178" alt="ConfigStoreList.jpg" title="ConfigStoreList.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;DownloadId=34179" alt="ConfigItemContentType.jpg" title="ConfigItemContentType.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;DownloadId=34180" alt="AddNewConfigItem.jpg" title="AddNewConfigItem.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows (you'll also need to add a reference to the Config Store assembly and 'using' statement of course):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;Note that there is also a method to retrieve &lt;b&gt;multiple&lt;/b&gt; values with a single query. This avoids the need to perform multiple queries so should be used for performance reasons if your control/page will retrieve &lt;i&gt;many&lt;/i&gt; items from the Config Store - think of it as a best practise. The code is slightly more involved, but should make sense when you think it through. We create a generic List of 'ConfigIdentifiers' (a ConfigIdentifier specifies the category and name of the item e.g. 'MyApplication', 'AdminEmail') and pass it to the 'GetMultipleItems()' method:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
List&amp;lt;ConfigIdentifier&amp;gt; configIds = new List&amp;lt;ConfigIdentifier&amp;gt;();
ConfigIdentifier adminEmail = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
ConfigIdentifier sendMails = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;SendWorkflowEmails&amp;quot;);
configIds.Add(adminEmail);
configIds.Add(sendMails);

Dictionary&amp;lt;ConfigIdentifier, string&amp;gt; configItems = ConfigStore.GetMultipleValues(configIds);

string sAdminEmail = configItems[adminEmail];
string sSendMails = configItems[sendMails];
&lt;/pre&gt;&lt;br /&gt;..the method returns a generic Dictionary containing the values, and we retrieve each one by passing the respective ConfigIdentifier we created earlier to the indexer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Other notes&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;All items are wrapped up in a Solution/Feature so there is no need to manually create site columns/content types/the Config Store list etc. There is also an install script for you to easily install the Solution.&lt;/li&gt;
&lt;li&gt;Config items are cached in memory, so where possible there &lt;i&gt;won't even be&lt;/i&gt; a database lookup!&lt;/li&gt;
&lt;li&gt;The Config Store is also designed to operate where no SPContext is present e.g. a list event receiver. In this scenario, it will look for values in your SharePoint web application's web.config file to establish the URL for the site containing the Config Store (N.B. these web.config keys get automatically added when the Config Store is installed to your site). This also means it can be used outside your SharePoint application, e.g. a console app. &lt;/li&gt;
&lt;li&gt;The Config Store can be moved from it's default location of the root web for your site. For example my sites usually have a hidden 'config' web, so I put the Config Store in here, along with other items. (To do this, create a new list (in whatever child web you want) from the 'Configuration Store list' template (added during the install), and modify the 'ConfigWebName'/'ConfigListName' keys which were added to your web.config to point to the new location. As an alternative if you already added 100 items which you don't want to recreate, you could use my other tool, the SharePoint Content Deployment Wizard at &lt;a href="http://www.codeplex.com/SPDeploymentWizard" class="externalLink"&gt;http://www.codeplex.com/SPDeploymentWizard&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to move the list.)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;All source code and Solution/Feature files are included&lt;/b&gt;, so if you want to change anything, you can&lt;/li&gt;
&lt;li&gt;Installation instructions are in the readme.txt in the download&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Hope you find it useful, all feedback welcome!&lt;br /&gt;&lt;br /&gt;Chris O'Brien.&lt;br /&gt;&lt;a href="http://www.sharepointnutsandbolts.com" class="externalLink"&gt;www.sharepointnutsandbolts.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Thu, 03 Sep 2009 23:18:10 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090903111810P</guid></item><item><title>Updated Wiki: Home</title><link>http://spconfigstore.codeplex.com/Wiki/View.aspx?title=Home&amp;version=21</link><description>&lt;div class="wikidoc"&gt;&lt;i&gt;Update: Release 2.1.0.1 uploaded 09 May 2009 - see Release 2.1.0.1 page for release notes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; - &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows (you'll also need to add a reference to the Config Store assembly and 'using' statement of course):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;Note that there is also a method to retrieve &lt;b&gt;multiple&lt;/b&gt; values with a single query. This avoids the need to perform multiple queries so should be used for performance reasons if your control/page will retrieve &lt;i&gt;many&lt;/i&gt; items from the Config Store - think of it as a best practise. The code is slightly more involved, but should make sense when you think it through. We create a generic List of 'ConfigIdentifiers' (a ConfigIdentifier specifies the category and name of the item e.g. 'MyApplication', 'AdminEmail') and pass it to the 'GetMultipleItems()' method:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
List&amp;lt;ConfigIdentifier&amp;gt; configIds = new List&amp;lt;ConfigIdentifier&amp;gt;();
ConfigIdentifier adminEmail = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
ConfigIdentifier sendMails = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;SendWorkflowEmails&amp;quot;);
configIds.Add(adminEmail);
configIds.Add(sendMails);

Dictionary&amp;lt;ConfigIdentifier, string&amp;gt; configItems = ConfigStore.GetMultipleValues(configIds);

string sAdminEmail = configItems[adminEmail];
string sSendMails = configItems[sendMails];
&lt;/pre&gt;&lt;br /&gt;..the method returns a generic Dictionary containing the values, and we retrieve each one by passing the respective ConfigIdentifier we created earlier to the indexer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Other notes&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;All items are wrapped up in a Solution/Feature so there is no need to manually create site columns/content types/the Config Store list etc. There is also an install script for you to easily install the Solution.&lt;/li&gt;
&lt;li&gt;Config items are cached in memory, so where possible there &lt;i&gt;won't even be&lt;/i&gt; a database lookup!&lt;/li&gt;
&lt;li&gt;The Config Store is also designed to operate where no SPContext is present e.g. a list event receiver. In this scenario, it will look for values in your SharePoint web application's web.config file to establish the URL for the site containing the Config Store (N.B. these web.config keys get automatically added when the Config Store is installed to your site). This also means it can be used outside your SharePoint application, e.g. a console app. &lt;/li&gt;
&lt;li&gt;The Config Store can be moved from it's default location of the root web for your site. For example my sites usually have a hidden 'config' web, so I put the Config Store in here, along with other items. (To do this, create a new list (in whatever child web you want) from the 'Configuration Store list' template (added during the install), and modify the 'ConfigWebName'/'ConfigListName' keys which were added to your web.config to point to the new location. As an alternative if you already added 100 items which you don't want to recreate, you could use my other tool, the SharePoint Content Deployment Wizard at &lt;a href="http://www.codeplex.com/SPDeploymentWizard" class="externalLink"&gt;http://www.codeplex.com/SPDeploymentWizard&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to move the list.)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;All source code and Solution/Feature files are included&lt;/b&gt;, so if you want to change anything, you can&lt;/li&gt;
&lt;li&gt;Installation instructions are in the readme.txt in the download&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Hope you find it useful, all feedback welcome!&lt;br /&gt;&lt;br /&gt;Chris O'Brien.&lt;br /&gt;&lt;a href="http://www.sharepointnutsandbolts.com" class="externalLink"&gt;www.sharepointnutsandbolts.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sat, 09 May 2009 22:37:58 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090509103758P</guid></item><item><title>Updated Wiki: Home</title><link>http://spconfigstore.codeplex.com/Wiki/View.aspx?title=Home&amp;version=20</link><description>&lt;div class="wikidoc"&gt;&lt;i&gt;Update: Release 2.1.0.0 uploaded 20 April 2009 with important fix - see Release 2.1.0.0 page for release notes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; - &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows (you'll also need to add a reference to the Config Store assembly and 'using' statement of course):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;Note that there is also a method to retrieve &lt;b&gt;multiple&lt;/b&gt; values with a single query. This avoids the need to perform multiple queries so should be used for performance reasons if your control/page will retrieve &lt;i&gt;many&lt;/i&gt; items from the Config Store - think of it as a best practise. The code is slightly more involved, but should make sense when you think it through. We create a generic List of 'ConfigIdentifiers' (a ConfigIdentifier specifies the category and name of the item e.g. 'MyApplication', 'AdminEmail') and pass it to the 'GetMultipleItems()' method:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
List&amp;lt;ConfigIdentifier&amp;gt; configIds = new List&amp;lt;ConfigIdentifier&amp;gt;();
ConfigIdentifier adminEmail = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
ConfigIdentifier sendMails = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;SendWorkflowEmails&amp;quot;);
configIds.Add(adminEmail);
configIds.Add(sendMails);

Dictionary&amp;lt;ConfigIdentifier, string&amp;gt; configItems = ConfigStore.GetMultipleValues(configIds);

string sAdminEmail = configItems[adminEmail];
string sSendMails = configItems[sendMails];
&lt;/pre&gt;&lt;br /&gt;..the method returns a generic Dictionary containing the values, and we retrieve each one by passing the respective ConfigIdentifier we created earlier to the indexer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Other notes&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;All items are wrapped up in a Solution/Feature so there is no need to manually create site columns/content types/the Config Store list etc. There is also an install script for you to easily install the Solution.&lt;/li&gt;
&lt;li&gt;Config items are cached in memory, so where possible there &lt;i&gt;won't even be&lt;/i&gt; a database lookup!&lt;/li&gt;
&lt;li&gt;The Config Store is also designed to operate where no SPContext is present e.g. a list event receiver. In this scenario, it will look for values in your SharePoint web application's web.config file to establish the URL for the site containing the Config Store (N.B. these web.config keys get automatically added when the Config Store is installed to your site). This also means it can be used outside your SharePoint application, e.g. a console app. &lt;/li&gt;
&lt;li&gt;The Config Store can be moved from it's default location of the root web for your site. For example my sites usually have a hidden 'config' web, so I put the Config Store in here, along with other items. (To do this, create a new list (in whatever child web you want) from the 'Configuration Store list' template (added during the install), and modify the 'ConfigWebName'/'ConfigListName' keys which were added to your web.config to point to the new location. As an alternative if you already added 100 items which you don't want to recreate, you could use my other tool, the SharePoint Content Deployment Wizard at &lt;a href="http://www.codeplex.com/SPDeploymentWizard" class="externalLink"&gt;http://www.codeplex.com/SPDeploymentWizard&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to move the list.)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;All source code and Solution/Feature files are included&lt;/b&gt;, so if you want to change anything, you can&lt;/li&gt;
&lt;li&gt;Installation instructions are in the readme.txt in the download&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Hope you find it useful, all feedback welcome!&lt;br /&gt;&lt;br /&gt;Chris O'Brien.&lt;br /&gt;&lt;a href="http://www.sharepointnutsandbolts.com" class="externalLink"&gt;www.sharepointnutsandbolts.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Mon, 20 Apr 2009 22:39:32 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090420103932P</guid></item><item><title>Updated Wiki: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=19</link><description>&lt;div class="wikidoc"&gt;
&lt;i&gt;Update: Release 2.0.0.0 uploaded 20 January 2009 - see Release 2.0.0.0 page for release notes or &lt;a href="http://www.sharepointnutsandbolts.com/2009/01/better-config-store-for-sharepoint.html" class="externalLink"&gt;http://www.sharepointnutsandbolts.com/2009/01/better-config-store-for-sharepoint.html&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; for full details)&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; - &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. &lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt; &lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows (you'll also need to add a reference to the Config Store assembly and 'using' statement of course):&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt; &lt;br /&gt;Note that there is also a method to retrieve &lt;b&gt;multiple&lt;/b&gt; values with a single query. This avoids the need to perform multiple queries so should be used for performance reasons if your control/page will retrieve &lt;i&gt;many&lt;/i&gt; items from the Config Store - think of it as a best practise. The code is slightly more involved, but should make sense when you think it through. We create a generic List of 'ConfigIdentifiers' (a ConfigIdentifier specifies the category and name of the item e.g. 'MyApplication', 'AdminEmail') and pass it to the 'GetMultipleItems()' method:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
List&amp;lt;ConfigIdentifier&amp;gt; configIds = new List&amp;lt;ConfigIdentifier&amp;gt;();
ConfigIdentifier adminEmail = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
ConfigIdentifier sendMails = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;SendWorkflowEmails&amp;quot;);
configIds.Add(adminEmail);
configIds.Add(sendMails);
 
Dictionary&amp;lt;ConfigIdentifier, string&amp;gt; configItems = ConfigStore.GetMultipleValues(configIds);
 
string sAdminEmail = configItems[adminEmail];
string sSendMails = configItems[sendMails];
&lt;/pre&gt; &lt;br /&gt;..the method returns a generic Dictionary containing the values, and we retrieve each one by passing the respective ConfigIdentifier we created earlier to the indexer.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Other notes&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;All items are wrapped up in a Solution/Feature so there is no need to manually create site columns/content types/the Config Store list etc. There is also an install script for you to easily install the Solution.&lt;/li&gt;&lt;li&gt;Config items are cached in memory, so where possible there &lt;i&gt;won't even be&lt;/i&gt; a database lookup!&lt;/li&gt;&lt;li&gt;The Config Store is also designed to operate where no SPContext is present e.g. a list event receiver. In this scenario, it will look for values in your SharePoint web application's web.config file to establish the URL for the site containing the Config Store (N.B. these web.config keys get automatically added when the Config Store is installed to your site). This also means it can be used outside your SharePoint application, e.g. a console app. &lt;/li&gt;&lt;li&gt;The Config Store can be moved from it's default location of the root web for your site. For example my sites usually have a hidden 'config' web, so I put the Config Store in here, along with other items. (To do this, create a new list (in whatever child web you want) from the 'Configuration Store list' template (added during the install), and modify the 'ConfigWebName'/'ConfigListName' keys which were added to your web.config to point to the new location. As an alternative if you already added 100 items which you don't want to recreate, you could use my other tool, the SharePoint Content Deployment Wizard at &lt;a href="http://www.codeplex.com/SPDeploymentWizard" class="externalLink"&gt;http://www.codeplex.com/SPDeploymentWizard&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to move the list.)&lt;/li&gt;&lt;li&gt;&lt;b&gt;All source code and Solution/Feature files are included&lt;/b&gt;, so if you want to change anything, you can&lt;/li&gt;&lt;li&gt;Installation instructions are in the readme.txt in the download&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Hope you find it useful, all feedback welcome!&lt;br /&gt; &lt;br /&gt;Chris O'Brien.&lt;br /&gt;&lt;a href="http://www.sharepointnutsandbolts.com" class="externalLink"&gt;www.sharepointnutsandbolts.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Tue, 20 Jan 2009 15:02:43 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090120030243P</guid></item><item><title>Updated Wiki: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=18</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; - &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. &lt;br /&gt; &lt;br /&gt;&lt;i&gt;Update: Release 2.0.0.0 uploaded 20 January 2009 - see Release 2.0.0.0 page for release notes or url:&lt;a href="http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=http%3a%2f%2fwww.sharepointnutsandbolts.com%2f2009%2f01%2fbetter-config-store-for-sharepoint.html&amp;amp;referringTitle=Home"&gt;http://www.sharepointnutsandbolts.com/2009/01/better-config-store-for-sharepoint.html&lt;/a&gt; for full details)&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt; &lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows (you'll also need to add a reference to the Config Store assembly and 'using' statement of course):&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt; &lt;br /&gt;Note that there is also a method to retrieve &lt;b&gt;multiple&lt;/b&gt; values with a single query. This avoids the need to perform multiple queries so should be used for performance reasons if your control/page will retrieve &lt;i&gt;many&lt;/i&gt; items from the Config Store - think of it as a best practise. The code is slightly more involved, but should make sense when you think it through. We create a generic List of 'ConfigIdentifiers' (a ConfigIdentifier specifies the category and name of the item e.g. 'MyApplication', 'AdminEmail') and pass it to the 'GetMultipleItems()' method:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
List&amp;lt;ConfigIdentifier&amp;gt; configIds = new List&amp;lt;ConfigIdentifier&amp;gt;();
ConfigIdentifier adminEmail = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
ConfigIdentifier sendMails = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;SendWorkflowEmails&amp;quot;);
configIds.Add(adminEmail);
configIds.Add(sendMails);
 
Dictionary&amp;lt;ConfigIdentifier, string&amp;gt; configItems = ConfigStore.GetMultipleValues(configIds);
 
string sAdminEmail = configItems[adminEmail];
string sSendMails = configItems[sendMails];
&lt;/pre&gt; &lt;br /&gt;..the method returns a generic Dictionary containing the values, and we retrieve each one by passing the respective ConfigIdentifier we created earlier to the indexer.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Other notes&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;All items are wrapped up in a Solution/Feature so there is no need to manually create site columns/content types/the Config Store list etc. There is also an install script for you to easily install the Solution.&lt;/li&gt;&lt;li&gt;Config items are cached in memory, so where possible there &lt;i&gt;won't even be&lt;/i&gt; a database lookup!&lt;/li&gt;&lt;li&gt;The Config Store is also designed to operate where no SPContext is present e.g. a list event receiver. In this scenario, it will look for values in your SharePoint web application's web.config file to establish the URL for the site containing the Config Store (N.B. these web.config keys get automatically added when the Config Store is installed to your site). This also means it can be used outside your SharePoint application, e.g. a console app. &lt;/li&gt;&lt;li&gt;The Config Store can be moved from it's default location of the root web for your site. For example my sites usually have a hidden 'config' web, so I put the Config Store in here, along with other items. (To do this, create a new list (in whatever child web you want) from the 'Configuration Store list' template (added during the install), and modify the 'ConfigWebName'/'ConfigListName' keys which were added to your web.config to point to the new location. As an alternative if you already added 100 items which you don't want to recreate, you could use my other tool, the SharePoint Content Deployment Wizard at &lt;a href="http://www.codeplex.com/SPDeploymentWizard" class="externalLink"&gt;http://www.codeplex.com/SPDeploymentWizard&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to move the list.)&lt;/li&gt;&lt;li&gt;&lt;b&gt;All source code and Solution/Feature files are included&lt;/b&gt;, so if you want to change anything, you can&lt;/li&gt;&lt;li&gt;Installation instructions are in the readme.txt in the download&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Hope you find it useful, all feedback welcome!&lt;br /&gt; &lt;br /&gt;Chris O'Brien.&lt;br /&gt;&lt;a href="http://www.sharepointnutsandbolts.com" class="externalLink"&gt;www.sharepointnutsandbolts.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Tue, 20 Jan 2009 15:02:04 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090120030204P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=17</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows (you'll also need to add a reference to the Config Store assembly and 'using' statement of course):&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt;Note that there is also a method to retrieve &lt;b&gt;multiple&lt;/b&gt; values with a single query. This avoids the need to perform multiple queries so should be used for performance reasons if your control/page will retrieve &lt;i&gt;many&lt;/i&gt; items from the Config Store - think of it as a best practise. The code is slightly more involved, but should make sense when you think it through. We create a generic List of 'ConfigIdentifiers' (a ConfigIdentifier specifies the category and name of the item e.g. 'MyApplication', 'AdminEmail') and pass it to the 'GetMultipleItems()' method:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
List&amp;lt;ConfigIdentifier&amp;gt; configIds = new List&amp;lt;ConfigIdentifier&amp;gt;();
ConfigIdentifier adminEmail = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
ConfigIdentifier sendMails = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;SendWorkflowEmails&amp;quot;);
configIds.Add(adminEmail);
configIds.Add(sendMails);
 
Dictionary&amp;lt;ConfigIdentifier, string&amp;gt; configItems = ConfigStore.GetMultipleValues(configIds);
 
string sAdminEmail = configItems[adminEmail];
string sSendMails = configItems[sendMails];
&lt;/pre&gt;..the method returns a generic Dictionary containing the values, and we retrieve each one by passing the respective ConfigIdentifier we created earlier to the indexer.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Other notes&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;All items are wrapped up in a Solution/Feature so there is no need to manually create site columns/content types/the Config Store list etc. There is also an install script for you to easily install the Solution.&lt;/li&gt;&lt;li&gt;Config items are cached in memory, so where possible there &lt;i&gt;won't even be&lt;/i&gt; a database lookup!&lt;/li&gt;&lt;li&gt;The Config Store is also designed to operate where no SPContext is present e.g. a list event receiver. In this scenario, it will look for values in your SharePoint web application's web.config file to establish the URL for the site containing the Config Store (N.B. these web.config keys get automatically added when the Config Store is installed to your site). This also means it can be used outside your SharePoint application, e.g. a console app. &lt;/li&gt;&lt;li&gt;The Config Store can be moved from it's default location of the root web for your site. For example my sites usually have a hidden 'config' web, so I put the Config Store in here, along with other items. (To do this, create a new list (in whatever child web you want) from the 'Configuration Store list' template (added during the install), and modify the 'ConfigWebName'/'ConfigListName' keys which were added to your web.config to point to the new location. As an alternative if you already added 100 items which you don't want to recreate, you could use my other tool, the SharePoint Content Deployment Wizard at &lt;a href="http://www.codeplex.com/SPDeploymentWizard" class="externalLink"&gt;http://www.codeplex.com/SPDeploymentWizard&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to move the list.)&lt;/li&gt;&lt;li&gt;&lt;b&gt;All source code and Solution/Feature files are included&lt;/b&gt;, so if you want to change anything, you can&lt;/li&gt;&lt;li&gt;Installation instructions are in the readme.txt in the download&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Hope you find it useful, all feedback welcome!&lt;br /&gt; &lt;br /&gt;Chris O'Brien.&lt;br /&gt;&lt;a href="www.sharepointnutsandbolts.com" class="externalLink"&gt;www.sharepointnutsandbolts.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 13:07:57 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511010757P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=16</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows (you'll also need to add a reference to the Config Store assembly and 'using' statement of course):&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt;Note that there is also a method to retrieve &lt;b&gt;multiple&lt;/b&gt; values with a single query. This avoids the need to perform multiple queries so should be used for performance reasons if your control/page will retrieve &lt;i&gt;many&lt;/i&gt; items from the Config Store - think of it as a best practise. The code is slightly more involved, but should make sense when you think it through. We create a generic List of 'ConfigIdentifiers' (a ConfigIdentifier specifies the category and name of the item e.g. 'MyApplication', 'AdminEmail') and pass it to the 'GetMultipleItems()' method:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
List&amp;lt;ConfigIdentifier&amp;gt; configIds = new List&amp;lt;ConfigIdentifier&amp;gt;();
ConfigIdentifier adminEmail = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
ConfigIdentifier sendMails = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;SendWorkflowEmails&amp;quot;);
configIds.Add(adminEmail);
configIds.Add(sendMails);
 
Dictionary&amp;lt;ConfigIdentifier, string&amp;gt; configItems = ConfigStore.GetMultipleValues(configIds);
 
string sAdminEmail = configItems[adminEmail];
string sSendMails = configItems[sendMails];
&lt;/pre&gt;..the method returns a generic Dictionary containing the values, and we retrieve each one by passing the respective ConfigIdentifier we created earlier to the indexer.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Other notes&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;All items are wrapped up in a Solution/Feature so there is no need to manually create site columns/content types/the Config Store list etc. There is also an install script for you to easily install the Solution.&lt;/li&gt;&lt;li&gt;Config items are cached in memory, so where possible there &lt;i&gt;won't even be&lt;/i&gt; a database lookup!&lt;/li&gt;&lt;li&gt;The Config Store is also designed to operate where no SPContext is present e.g. a list event receiver. In this scenario, it will look for values in your SharePoint web application's web.config file to establish the URL for the site containing the Config Store (N.B. these web.config keys get automatically added when the Config Store is installed to your site)&lt;/li&gt;&lt;li&gt;The Config Store can be moved from it's default location of the root web for your site. For example my sites usually have a hidden 'config' web, so I put the Config Store in here, along with other items. (To do this, create a new list (in whatever child web you want) from the 'Configuration Store list' template (added during the install), and modify the 'ConfigWebName'/'ConfigListName' keys which were added to your web.config to point to the new location. As an alternative if you already added 100 items which you don't want to recreate, you could use my other tool, the SharePoint Content Deployment Wizard at &lt;a href="http://www.codeplex.com/SPDeploymentWizard" class="externalLink"&gt;http://www.codeplex.com/SPDeploymentWizard&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to move the list.)&lt;/li&gt;&lt;li&gt;&lt;b&gt;All source code and Solution/Feature files are included&lt;/b&gt;, so if you want to change anything, you can&lt;/li&gt;&lt;li&gt;Installation instructions are in the readme.txt in the download&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Hope you find it useful, all feedback welcome!&lt;br /&gt; &lt;br /&gt;Chris O'Brien.&lt;br /&gt;&lt;a href="www.sharepointnutsandbolts.com" class="externalLink"&gt;www.sharepointnutsandbolts.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 12:56:38 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511125638P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=15</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows (you'll also need to add a reference to the Config Store assembly and 'using' statement of course):&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt;Note that there is a method to retrieve &lt;b&gt;multiple&lt;/b&gt; values with a single query. This avoids the need to perform multiple queries so should be used for performance reasons if your control/page will retrieve &lt;i&gt;many&lt;/i&gt; items from the Config Store - think of it as a best practise. The code is slightly more involved, but should make sense when you think it through. We create a generic List of 'ConfigIdentifiers' (a ConfigIdentifier specifies the category and name of the item e.g. 'MyApplication', 'AdminEmail') and pass it to the 'GetMultipleItems()' method:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
List&amp;lt;ConfigIdentifier&amp;gt; configIds = new List&amp;lt;ConfigIdentifier&amp;gt;();
ConfigIdentifier adminEmail = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
ConfigIdentifier sendMails = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;SendWorkflowEmails&amp;quot;);
configIds.Add(adminEmail);
configIds.Add(sendMails);
 
Dictionary&amp;lt;ConfigIdentifier, string&amp;gt; configItems = ConfigStore.GetMultipleValues(configIds);
 
string sAdminEmail = configItems[adminEmail];
string sSendMails = configItems[sendMails];
&lt;/pre&gt;..the method returns a generic Dictionary containing the values, and we retrieve each one by passing the respective ConfigIdentifier we created earlier to the indexer.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Other notes&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;All items are wrapped up in a Solution/Feature so there is no need to manually create site columns/content types/the Config Store list etc. There is also an install script for you to easily install the Solution.&lt;/li&gt;&lt;li&gt;Config items are cached in memory, so where possible there &lt;i&gt;won't even be&lt;/i&gt; a database lookup!&lt;/li&gt;&lt;li&gt;The Config Store is also designed to operate where no SPContext is present e.g. a list event receiver. In this scenario, it will look for values in your SharePoint web application's web.config file to establish the URL for the site containing the Config Store (N.B. these web.config keys get automatically added when the Config Store is installed to your site)&lt;/li&gt;&lt;li&gt;The Config Store can be moved from it's default location of the root web for your site. For example my sites usually have a hidden 'config' web, so I put the Config Store in here, along with other items. (To do this, create a new list (in whatever child web you want) from the 'Configuration Store list' template (added during the install), and modify the 'ConfigWebName'/'ConfigListName' keys which were added to your web.config to point to the new location. As an alternative if you already added 100 items which you don't want to recreate, you could use my other tool, the SharePoint Content Deployment Wizard at &lt;a href="http://www.codeplex.com/SPDeploymentWizard" class="externalLink"&gt;http://www.codeplex.com/SPDeploymentWizard&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to move the list.)&lt;/li&gt;&lt;li&gt;&lt;b&gt;All source code and Solution/Feature files are included&lt;/b&gt;, so if you want to change anything, you can&lt;/li&gt;&lt;li&gt;Installation instructions are in the readme.txt in the download&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Hope you find it useful, all feedback welcome!&lt;br /&gt; &lt;br /&gt;Chris O'Brien.&lt;br /&gt;&lt;a href="www.sharepointnutsandbolts.com" class="externalLink"&gt;www.sharepointnutsandbolts.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 12:02:31 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511120231P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=14</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows (you'll also need to add a reference to the Config Store assembly and 'using' statement of course):&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt;Note that there is a method to retrieve &lt;b&gt;multiple&lt;/b&gt; values with a single query. This avoids the need to perform multiple queries so should be used for performance reasons if your control/page will retrieve &lt;i&gt;many&lt;/i&gt; items from the Config Store - think of it as a best practise. The code is slightly more involved, but should make sense when you think it through. We create a generic List of 'ConfigIdentifiers' (a ConfigIdentifier specifies the category and name of the item e.g. 'MyApplication', 'AdminEmail') and pass it to the 'GetMultipleItems()' method:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
List&amp;lt;ConfigIdentifier&amp;gt; configIds = new List&amp;lt;ConfigIdentifier&amp;gt;();
ConfigIdentifier adminEmail = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
ConfigIdentifier sendMails = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;SendWorkflowEmails&amp;quot;);
configIds.Add(adminEmail);
configIds.Add(sendMails);
 
Dictionary&amp;lt;ConfigIdentifier, string&amp;gt; configItems = ConfigStore.GetMultipleValues(configIds);
 
string sAdminEmail = configItems[adminEmail];
string sSendMails = configItems[sendMails];
&lt;/pre&gt;..the method returns a generic Dictionary containing the values, and we retrieve each one by passing the respective ConfigIdentifier we created earlier to the indexer.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Other notes&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;All items are wrapped up in a Solution/Feature so there is no need to manually create site columns/content types/the Config Store list etc. There is also an install script for you to easily install the Solution.&lt;/li&gt;&lt;li&gt;Config items are cached in memory, so where possible there won't even be a database lookup!&lt;/li&gt;&lt;li&gt;The Config Store is also designed to operate where no SPContext is present e.g. a list event receiver. In this scenario, it will look for values in your SharePoint web application's web.config file to establish the URL for the site containing the Config Store (N.B. these web.config keys get automatically added when the Config Store is installed to your site)&lt;/li&gt;&lt;li&gt;The Config Store can be moved from it's default location of the root web for your site. For example my sites usually have a hidden 'config' web, so I put the Config Store in here, along with other items. (To do this, create a new list (in whatever child web you want) from the 'Configuration Store list' template (added during the install), and modify the 'ConfigWebName'/'ConfigListName' keys which were added to your web.config to point to the new location. As an alternative if you already added 100 items which you don't want to recreate, you could use my other tool, the SharePoint Content Deployment Wizard at &lt;a href="http://www.codeplex.com/SPDeploymentWizard" class="externalLink"&gt;http://www.codeplex.com/SPDeploymentWizard&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to move the list.)&lt;/li&gt;&lt;li&gt;&lt;b&gt;All source code and Solution/Feature files are included&lt;/b&gt;, so if you want to change anything, you can&lt;/li&gt;&lt;li&gt;Installation instructions are in the readme.txt in the download&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Hope you find it useful, all feedback welcome!&lt;br /&gt; &lt;br /&gt;Chris O'Brien.&lt;br /&gt;&lt;a href="www.sharepointnutsandbolts.com" class="externalLink"&gt;www.sharepointnutsandbolts.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 12:00:28 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511120028P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=13</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows (you'll also need to add a reference to the Config Store assembly and 'using' statement of course):&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt;Note that there is a method to retrieve &lt;b&gt;multiple&lt;/b&gt; values with a single query. This avoids the need to perform multiple queries so should be used for performance reasons if your control/page will retrieve &lt;i&gt;many&lt;/i&gt; items from the Config Store - think of it as a best practise. The code is slightly more involved, but should make sense when you think it through. We create a generic List of 'ConfigIdentifiers' (a ConfigIdentifier specifies the category and name of the item e.g. 'MyApplication', 'AdminEmail') and pass it to the 'GetMultipleItems()' method:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
List&amp;lt;ConfigIdentifier&amp;gt; configIds = new List&amp;lt;ConfigIdentifier&amp;gt;();
ConfigIdentifier adminEmail = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
ConfigIdentifier sendMails = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;SendWorkflowEmails&amp;quot;);
configIds.Add(adminEmail);
configIds.Add(sendMails);
 
Dictionary&amp;lt;ConfigIdentifier, string&amp;gt; configItems = ConfigStore.GetMultipleValues(configIds);
 
string sAdminEmail = configItems[adminEmail];
string sSendMails = configItems[sendMails];
&lt;/pre&gt;..the method returns a generic Dictionary containing the values, and we retrieve each one by passing the respective ConfigIdentifier we created earlier to the indexer.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Other notes&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;All items are wrapped up in a Solution/Feature so there is no need to manually create site columns/content types/the Config Store list etc. There is also an install script for you to easily install the Solution.&lt;/li&gt;&lt;li&gt;Config items are cached in memory, so where possible there won't even be a database lookup!&lt;/li&gt;&lt;li&gt;The Config Store is also designed to operate where no SPContext is present e.g. a list event receiver. In this scenario, it will look for values in your SharePoint web application's web.config file to establish the URL for the site containing the Config Store (N.B. these web.config keys get automatically added when the Config Store is installed to your site)&lt;/li&gt;&lt;li&gt;The Config Store can be moved from it's default location of the root web for your site. For example my sites usually have a hidden 'config' web, so I put the Config Store in here along with other items. (To do this, create a new list (in whatever child web you want) from the 'Configuration Store list' template (added during the install), and modify the 'ConfigWebName'/'ConfigListName' keys which were added to your web.config to point to the new location. As an alternative if you already added 100 items which you don't want to recreate, you could use my other tool, the SharePoint Content Deployment Wizard at &lt;a href="http://www.codeplex.com/SPDeploymentWizard" class="externalLink"&gt;http://www.codeplex.com/SPDeploymentWizard&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to move the list.)&lt;/li&gt;&lt;li&gt;&lt;b&gt;All source code and Solution/Feature files are included&lt;/b&gt;, so if you want to change anything, you can&lt;/li&gt;&lt;li&gt;See the readme.txt for installation instructions&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Hope you find it useful, all feedback welcome!&lt;br /&gt; &lt;br /&gt;Chris O'Brien.&lt;br /&gt;&lt;a href="www.sharepointnutsandbolts.com" class="externalLink"&gt;www.sharepointnutsandbolts.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 11:55:02 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511115502A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=12</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows (you'll also need to add a reference to the Config Store assembly and 'using' statement of course):&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt;Note that there is a method to retrieve &lt;b&gt;multiple&lt;/b&gt; values with a single query. This avoids the need to perform multiple queries so should be used for performance reasons if your control/page will retrieve &lt;i&gt;many&lt;/i&gt; items from the Config Store - think of it as a best practise. The code is slightly more involved, but should make sense when you think it through. We create a generic List of 'ConfigIdentifiers' (a ConfigIdentifier specifies the category and name of the item e.g. 'MyApplication', 'AdminEmail') and pass it to the 'GetMultipleItems()' method:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
List&amp;lt;ConfigIdentifier&amp;gt; configIds = new List&amp;lt;ConfigIdentifier&amp;gt;();
ConfigIdentifier adminEmail = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
ConfigIdentifier sendMails = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;SendWorkflowEmails&amp;quot;);
configIds.Add(adminEmail);
configIds.Add(sendMails);
 
Dictionary&amp;lt;ConfigIdentifier, string&amp;gt; configItems = ConfigStore.GetMultipleValues(configIds);
 
string sAdminEmail = configItems[adminEmail];
string sSendMails = configItems[sendMails];
&lt;/pre&gt;..the method returns a generic Dictionary containing the values, and we retrieve each one by passing the respective ConfigIdentifier we created earlier to the indexer.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Other notes&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;All items are wrapped up in a Solution/Feature so there is no need to manually create site columns/content types/the Config Store list etc. There is also an install script for you to easily install the Solution.&lt;/li&gt;&lt;li&gt;Config items are cached in memory, so where possible there won't even be a database lookup!&lt;/li&gt;&lt;li&gt;The Config Store is also designed to operate where no SPContext is present e.g. a list event receiver. In this scenario, it will look for values in your SharePoint web application's web.config file to establish the URL for the site containing the Config Store (N.B. these web.config keys get automatically added when the Config Store is installed to your site)&lt;/li&gt;&lt;li&gt;The Config Store can be moved from it's default location of the root web for your site. For example my sites usually have a hidden 'config' web, so I put the Config Store in here along with other items. (To do this, create a new list (in whatever child web you want) from the 'Configuration Store list' template (added during the install), and modify the 'ConfigWebName'/'ConfigListName' keys which were added to your web.config to point to the new location. As an alternative if you already added 100 items which you don't want to recreate, you could use my other tool, the SharePoint Content Deployment Wizard at &lt;a href="http://www.codeplex.com/SPDeploymentWizard" class="externalLink"&gt;http://www.codeplex.com/SPDeploymentWizard&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to move the list.)&lt;/li&gt;&lt;li&gt;All source code and Solution/Feature files are included, so if you want to change anything you can&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Hope you find it useful, all feedback welcome!&lt;br /&gt; &lt;br /&gt;Chris O'Brien.&lt;br /&gt;&lt;a href="www.sharepointnutsandbolts.com" class="externalLink"&gt;www.sharepointnutsandbolts.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 11:53:17 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511115317A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=11</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows (you'll also need to add a reference to the Config Store assembly and 'using' statement of course):&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt;Note that there is a method to retrieve &lt;b&gt;multiple&lt;/b&gt; values with a single query. This avoids the need to perform multiple queries so should be used for performance reasons if your control/page will retrieve &lt;i&gt;many&lt;/i&gt; items from the Config Store - think of it as a best practise. The code is slightly more involved, but should make sense when you think it through. We create a generic List of 'ConfigIdentifiers' (a ConfigIdentifier specifies the category and name of the item e.g. 'MyApplication', 'AdminEmail') and pass it to the 'GetMultipleItems()' method:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
List&amp;lt;ConfigIdentifier&amp;gt; configIds = new List&amp;lt;ConfigIdentifier&amp;gt;();
ConfigIdentifier adminEmail = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
ConfigIdentifier sendMails = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;SendWorkflowEmails&amp;quot;);
configIds.Add(adminEmail);
configIds.Add(sendMails);
 
Dictionary&amp;lt;ConfigIdentifier, string&amp;gt; configItems = ConfigStore.GetMultipleValues(configIds);
 
string sAdminEmail = configItems[adminEmail];
string sSendMails = configItems[sendMails];
&lt;/pre&gt;..the method returns a generic Dictionary containing the values, and we retrieve each one by passing the respective ConfigIdentifier we created earlier.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Other notes&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;All items are wrapped up in a Solution/Feature so there is no need to manually create site columns/content types/the Config Store list etc. There is also an install script for you to easily install the Solution.&lt;/li&gt;&lt;li&gt;Config items are cached in memory, so where possible there won't even be a database lookup!&lt;/li&gt;&lt;li&gt;The Config Store is also designed to operate where no SPContext is present e.g. a list event receiver. In this scenario, it will look for values in your SharePoint web application's web.config file to establish the URL for the site containing the Config Store (N.B. these web.config keys get automatically added when the Config Store is installed to your site)&lt;/li&gt;&lt;li&gt;The Config Store can be moved from it's default location of the root web for your site. For example my sites usually have a hidden 'config' web, so I put the Config Store in here along with other items. (To do this, create a new list (in whatever child web you want) from the 'Configuration Store list' template (added during the install), and modify the 'ConfigWebName'/'ConfigListName' keys which were added to your web.config to point to the new location. As an alternative if you already added 100 items which you don't want to recreate, you could use my other tool, the SharePoint Content Deployment Wizard at &lt;a href="http://www.codeplex.com/SPDeploymentWizard" class="externalLink"&gt;http://www.codeplex.com/SPDeploymentWizard&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to move the list.)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 11:48:56 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511114856A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=10</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows (you'll also need to add a reference to the Config Store assembly and 'using' statement of course):&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt; &lt;br /&gt;Note that there is a method to retrieve &lt;b&gt;multiple&lt;/b&gt; values with a single query. This avoids the need to perform multiple queries so should be used for performance reasons - this is a best practice if your control/page will retrieve many items from the Config Store. The code is slightly more involved, but should make sense when you think it through - we create a generic List of 'ConfigIdentifiers' (a ConfigIdentifier specifies the category and name of the item e.g. 'MyApplication', 'AdminEmail') and pass it to the 'GetMultipleItems()' method:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
List&amp;lt;ConfigIdentifier&amp;gt; configIds = new List&amp;lt;ConfigIdentifier&amp;gt;();
ConfigIdentifier adminEmail = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
ConfigIdentifier sendMails = new ConfigIdentifier(&amp;quot;MyApplication&amp;quot;, &amp;quot;SendWorkflowEmails&amp;quot;);
configIds.Add(adminEmail);
configIds.Add(sendMails);
 
Dictionary&amp;lt;ConfigIdentifier, string&amp;gt; configItems = ConfigStore.GetMultipleValues(configIds);
 
string sAdminEmail = configItems[adminEmail];
string sSendMails = configItems[sendMails];
&lt;/pre&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 11:32:36 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511113236A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=9</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;..and the content type is defined so that all the required fields are mandatory:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Retrieving values&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;Once a value has been added to the Config Store, it can be retrieved in code as follows:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
string sAdminEmail = ConfigStore.GetValue(&amp;quot;MyApplication&amp;quot;, &amp;quot;AdminEmail&amp;quot;);
&lt;/pre&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 11:20:30 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511112030A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=8</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this (N.B. the items shown are my examples, you'd add your own):&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;..the relevant fields are shown for you to add the config item:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34180" alt="AddNewConfigItem.jpg" /&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 11:14:07 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511111407A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=7</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34179" alt="ConfigItemContentType.jpg" /&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 10:47:39 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511104739A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Details&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;There is a special content type associated with the list, so adding a new item is easy:&lt;br /&gt; &lt;br /&gt;&lt;span class="unresolved"&gt;Cannot resolve link: &lt;/span&gt;[image:ConfigStoreContentType.jpg]&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 10:47:17 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511104717A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Details
&lt;/h2&gt; &lt;br /&gt;The list used to store config items looks like this:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 10:42:01 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511104201A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Details
&lt;/h1&gt; &lt;br /&gt;The list used to store config items looks like this:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 10:41:41 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511104141A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/SPConfigStore/Wiki/View.aspx?title=Home&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The SharePoint Config Store is intended for SharePoint developers, and provides the framework to be able to use a SharePoint list for application configuration values. This is useful when there are certain values used in a site or application&amp;#39;s code, but we don&amp;#39;t to hardcode them or even store them in web.config. Storing such values in a list means they can be easily updated &amp;#40;possibly by end users if you choose to allow this&amp;#41; without requiring access to the web server&amp;#39;s filesystem.&lt;br /&gt;&lt;br /&gt;Example config items for a SharePoint site&amp;#47;application&amp;#47;control could be&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#39;AdministratorEmail&amp;#39; - &amp;#39;bob&amp;#64;somewhere.com&amp;#39;&lt;br /&gt;&amp;#39;SendWorkflowEmails&amp;#39; &amp;#61; &amp;#39;true&amp;#39;&lt;br /&gt;&lt;br /&gt;The Config Store is also highly-optimized, and so offers more than just a simple implementation of just retrieving values from a list. 
&lt;br /&gt; &lt;br /&gt;!Details&lt;br /&gt; &lt;br /&gt;The list used to store config items looks like this:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=SPConfigStore&amp;amp;DownloadId=34178" alt="ConfigStoreList.jpg" /&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>chrisobrien</author><pubDate>Sun, 11 May 2008 10:41:22 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080511104122A</guid></item></channel></rss>