<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Blog posts by Yugeen Klimenko</title><link href="http://world.optimizely.com" /><updated>2011-06-30T10:33:37.0000000Z</updated><id>https://world.optimizely.com/blogs/Yugeen-Klimenko/</id> <generator uri="http://world.optimizely.com" version="2.0">Optimizely World</generator> <entry><title>How EPiServer URL Rewriting works.</title><link href="https://world.optimizely.com/blogs/Yugeen-Klimenko/Dates/2011/6/How-EPiServer-URL-Rewriting-works/" /><id>&lt;p&gt;It is known that EPiServer transforms the urls in both directions – internal and external. For example when you type in your browser &lt;a href=&quot;http:// YourEpiSite / Default&quot;&gt;“http:// YourEpiSite / Default&lt;/a&gt;” this address is transformed into its internal form&amp;#160; inside EPiServer –&amp;#160;&amp;#160; &lt;a href=&quot;http:// YourEpiSite / Default.aspx?id=3&amp;amp;epslanguage=se&quot;&gt;http:// YourEpiSite / Default.aspx?id=3&amp;amp;epslanguage=se&lt;/a&gt; . Anyway you will continue to observe the &lt;a href=&quot;http:// YourEpiSite / Default&quot;&gt;http:// YourEpiSite / Default&lt;/a&gt;&amp;#160; in the address field. &lt;/p&gt;  &lt;p&gt;From the other side if EpiServer&amp;#160; comes upon a reference somewhere in your .aspx page template –&amp;#160; like …&amp;lt;a href=’&lt;a href=&quot;http:// YourEpiSite / en / Default.aspx&quot;&gt;http:// YourEpiSite / en / Default.aspx&lt;/a&gt;?id=3’ \&amp;gt;, – then this address would be transformed into its external form:&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http:// YourEpiSite / Default&quot;&gt;http:// YourEpiSite / Default&lt;/a&gt; . &lt;/p&gt;  &lt;p&gt;Two main principles are at the heart of those transformatiions: modifying the HttpContext address and filtering the HttpResponse via streaming. Let us look on these techologies.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font size=&quot;2&quot;&gt;To Internal Direction.&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;One can change the URL addressed via HttpContext. That is if you address&amp;#160; the &lt;a href=&quot;http://&amp;hellip;./Default.aspx&quot;&gt;http://…./Default.aspx&lt;/a&gt; page but you provide your&amp;#160; &lt;em&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;Application_BeginRequest&lt;/font&gt;&lt;/strong&gt;&lt;/em&gt; handler with the following code :&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;HttpContext context = HttpContext.Current;&lt;/font&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;context.RewritePath (“~/WebForm.aspx), - &lt;/font&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;then the WebForm.aspx content would be displayed in browser while the &lt;a href=&quot;http://&amp;hellip;./Default.aspx&quot;&gt;http://…./Default.aspx&lt;/a&gt; being displayed in the browser address field.&lt;/p&gt;  &lt;p&gt;This technique is used in EPiServer URL Rewriting infrastructure. It relies upon two main items :&lt;/p&gt;  &lt;p&gt;1) UrlRewriteModule, i.e. http module implementing the IHttpModule interface;&lt;/p&gt;  &lt;p&gt;2) FriendlyUrlRewriteProvider – the “working horse&amp;quot; class which really performs converting the URL in both directions itself.&lt;/p&gt;  &lt;p&gt;This is the correspondent class diagram :&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/e164f222983a40a6979c4940eda48b97.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/5969c84bb9d74ba584e570b18727245d.png&quot; width=&quot;460&quot; height=&quot;179&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The core of the process consists in that UrlRewriteModule being the ASP.NET HttpModule performs its &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;Init&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; function in which it sets the &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;HttpApplication.BeginRequest&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; to its own &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;BeginRequestEventHandler&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;. As a result when the request takes place code in &lt;font color=&quot;#0000ff&quot;&gt;&lt;strong&gt;&lt;em&gt;BeginRequestEventHandler &lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;makes a call to the &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;HttpUrlRewriteToInternal&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; method. The latter one prepares the query parameters namely page id and language identificator. These parameters are passed to the&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt; HttpContext.RewritePath method.&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; This is the “magic” place itself where the redirection takes place.&lt;/p&gt;  &lt;p&gt;The sequence diagram is&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/afd8bd43232148f88836c628d3cda68b.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/cef73354dc824b7b8c1b8d4a671ac06c.png&quot; width=&quot;465&quot; height=&quot;539&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;To External Direction.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you want to put neccessary corrections into the whole http response content&amp;#160; (f.e. to turn every letter in uppercase or trim the spces between the words) you should:&lt;/p&gt;  &lt;p&gt;1) declare new class inherited from Stream, f.e.:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;public class TrimStream: Stream&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;2) implement the Write method in it:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;public override void Write (byte[] buffer …)&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;{&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;… trim all the spaces ….&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;}&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;3) set it to the http response filter (you can do it in &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;Application_PostRequestHandlerExecute&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; method in Global.asax):&lt;/p&gt;  &lt;p&gt;…&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;Response.Filter = new TrimStream (Response.Filter);&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;…&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;EPiServer uses the same principle.&lt;/p&gt;  &lt;p&gt;For example, you have &amp;lt;a href=’&lt;a href=&quot;http://YourEpiSite/en/Default.aspx?id=3&amp;amp;epslanguage=se&quot;&gt;http://YourEpiSite/en/Default.aspx&lt;/a&gt;?id=3’ \&amp;gt; in your .aspx page. When displayed in browser url would be transformed into its external form - &lt;a href=&quot;http://YourEpiSite/Default&quot;&gt;http://YourEpiSite/Default&lt;/a&gt;. This is made via streaming – in the &lt;font color=&quot;#0000ff&quot;&gt;&lt;em&gt;&lt;strong&gt;HtmlRewriteStream&lt;/strong&gt;&lt;/em&gt; &lt;/font&gt;&lt;font color=&quot;#000000&quot;&gt;class object.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The sequence diagram is given below.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/368aca576d2f46088a019bd7932f4fe1.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/c0056ba1503a42168ff3c8d4404b2bbb.png&quot; width=&quot;439&quot; height=&quot;509&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;1) In &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;UrlRewriteModuleBase.Init&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;PostRequestHandlerExecuteEventHandler&lt;/font&gt;&lt;/strong&gt;&lt;/em&gt; is attached:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;… Init (HttpApplication application)&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;{ &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;application.PostRequestHandlerExecute += new EventHandler(this.PostRequestHandlerExecuteEventHandler);&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;…&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;2) When &lt;em&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;PostRequest&lt;/font&gt;&lt;/strong&gt;&lt;/em&gt; takes place the &lt;em&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;HtmlRewriteStream&lt;/font&gt;&lt;/strong&gt;&lt;/em&gt; object is created in &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;UrlRewriteModule.HtmlAddRewriteToExternalFilter&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; method:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;UrlRewriteModule.HtmlAddRewriteToExternalFilter (HttpApplication application)&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;{&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;Stream stream = htmlRewriter.GetRewriteFilter;&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;application.Context.Response.Filter = stream;&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;},&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;where &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;HtmlRewriteToExternal.GetRewriteFilter()&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; returns the object of &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;HtmlRewriteStream&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; class.&lt;/p&gt;  &lt;p&gt;3)&amp;#160; Finally &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;HtmlRewriteStream.Close&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; is triggered and &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;HtmlRewritePipe.RewriteToEnd&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; method is called.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Then HtmlRewritePipe parses the html content looking for the special elements – i.e. those which can contain urls as their attributes values – f.e. a, area, script. etc…, – and transforms urls into their external forms. Transformation itself is made the following way:&lt;/p&gt;  &lt;p&gt;1) obtain the&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt; PageReference &lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;object from the current url via &lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;strong&gt;PermanentLinkUtility.GetPageReference( string url)&lt;/strong&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;2) obtain &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;PageData&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; object from the &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;PageReference &lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;object:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;PageData pageData = DataFactory.Instance.GetPage(PageReference pageReference, …)&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Due to PageData hierarchical structure we can call the &lt;strong&gt;&lt;em&gt;&lt;font color=&quot;#0000ff&quot;&gt;Parent.SegmentURLs&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; recursively and combine them into the whole external address: http:\\EpiSite\Level1\Level2\…..&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can exclude the part of your HTML markup from this kind of processing by putting it inside the container with EPiNoRewrite=”True” and id=”idNoRewrite” attributes:&lt;/p&gt;  &lt;p&gt;&amp;lt;div EPiNoRewrite=”True” id=”idNoRewrite”&amp;gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;a href=’&lt;a href=&quot;http://YourEpiSite/en/Default.aspx?id=3&amp;amp;epslanguage=se&quot;&gt;http://YourEpiSite/en/Default.aspx&lt;/a&gt;?id=3’ /&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;</id><updated>2011-06-30T10:33:37.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>The EPiServer Pages and Properties From the Database Point Of View.</title><link href="https://world.optimizely.com/blogs/Yugeen-Klimenko/Dates/2011/2/The-EPiServer-Pages-and-Properties-From-the-Database-Point-Of-View/" /><id>&lt;p&gt;The database diagram describing relations between EPiServer pages and their properties is given below.&lt;a href=&quot;/link/1fda545c5c0248de8cb499893628de31.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/a575dda46330463aa5309515db76742a.png&quot; width=&quot;366&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As you can see the tables tblPage and tblWorkPage are connected with “one – to - many ” relation. The main record about the page is stored in tblPage and the page&amp;#160; versions records are saved in the tblWorkPage. The query getting all the versions for the page with id = 49 looks this way:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color=&quot;#000000&quot;&gt;select * from tblPage p        &lt;br /&gt;join tblPageType pt on p.fkPageTypeID = pt.pkID         &lt;br /&gt;join tblWorkPage wp on wp.fkPageID = p.pkID         &lt;br /&gt;where p.pkID = 49&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;When you create new page new record is added to the tblPage table. Everytime you publish&amp;#160; new version of the page the correspondent record is inserted into the tblWorkPage. Information about the page current version is stored in tblPageLanguage.PublishedVersion field which can&amp;#160; contain one of the tblWorkPage.pkID values.&lt;/p&gt;  &lt;p&gt;Evidently, if you need to get the properties values for the given page version ( f.e.130)&amp;#160; you should execute&lt;/p&gt;  &lt;p&gt;&lt;em&gt;select * from tblWorkProperty where fkWorkPageID = 130,&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;where fkWorkPageID is a foreign key to tblWorkPage. So in much the same way the tblWorkProperty table keeps the history of properties values and tblProperty contains just a single record about given property – the value when created.&lt;/p&gt;</id><updated>2011-02-18T10:05:10.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>How plugin settings are saved?</title><link href="https://world.optimizely.com/blogs/Yugeen-Klimenko/Dates/2011/2/How-plugin-settings-are-saved/" /><id>&lt;p&gt;&lt;font size=&quot;2&quot;&gt;To extend UI functionality you can use plugins. One of their marvelous feature is the ability to store data entered by admin or editor. As to myself I was in curiousity about where and how these data are saved.&amp;#160; So I’d like to save the values of two parameters somewhere in the button click handler:&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &lt;font face=&quot;Times New Roman&quot;&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;protected&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;void&lt;/font&gt;&lt;/span&gt; btnSave_Click(&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;object&lt;/font&gt;&lt;/span&gt; sender, &lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;EventArgs&lt;/font&gt;&lt;/span&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;DataSet&lt;/font&gt;&lt;/span&gt; dataSet = &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;DataSet&lt;/font&gt;&lt;/span&gt;();&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;dataSet.Tables.Add(&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;DataTable&lt;/font&gt;&lt;/span&gt;());&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;dataSet.Tables[0].Columns.Add(&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;DataColumn&lt;/font&gt;&lt;/span&gt; (&lt;span&gt;&lt;font color=&quot;#a31515&quot;&gt;&amp;quot;Parameter1&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;typeof&lt;/font&gt;&lt;/span&gt;(&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;string&lt;/font&gt;&lt;/span&gt;)));&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;dataSet.Tables[0].Columns.Add(&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;DataColumn&lt;/font&gt;&lt;/span&gt;(&lt;span&gt;&lt;font color=&quot;#a31515&quot;&gt;&amp;quot;Parameter2&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;typeof&lt;/font&gt;&lt;/span&gt;(&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;string&lt;/font&gt;&lt;/span&gt;)));&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;DataRow&lt;/font&gt;&lt;/span&gt; dataRow = dataSet.Tables[0].NewRow();&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;dataRow[&lt;span&gt;&lt;font color=&quot;#a31515&quot;&gt;&amp;quot;Parameter1&amp;quot;&lt;/font&gt;&lt;/span&gt;] = &lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;HttpUtility&lt;/font&gt;&lt;/span&gt;.HtmlEncode(txtParameter1.Text);&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;dataRow[&lt;span&gt;&lt;font color=&quot;#a31515&quot;&gt;&amp;quot;Parameter2&amp;quot;&lt;/font&gt;&lt;/span&gt;] = &lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;HttpUtility&lt;/font&gt;&lt;/span&gt;.HtmlEncode(txtParameter2.Text);&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;dataSet.Tables[0].Rows.Add(dataRow);&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Times New Roman&quot;&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;&amp;#160; &lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&lt;strong&gt;&lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;PlugInSettings&lt;/font&gt;&lt;/span&gt;.Save(&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;typeof&lt;/font&gt;&lt;/span&gt;(&lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;CustomAdminPlugin&lt;/font&gt;&lt;/span&gt;), dataSet);&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;strong&gt;&lt;font size=&quot;2&quot; face=&quot;Times New Roman&quot;&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot;&gt;OK - With a help of .NET Reflector I dug into depth of &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font color=&quot;#2b91af&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&lt;strong&gt;PlugInSettings&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&lt;strong&gt;.Save(&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;typeof&lt;/font&gt;&lt;/span&gt;(&lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;MyAdminPlugin&lt;/font&gt;&lt;/span&gt;), data)&lt;/strong&gt; &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;call.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot;&gt;It applies for &lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font color=&quot;#2b91af&quot;&gt;PlugInDB &lt;font color=&quot;#000000&quot;&gt;in EPiServer.DataAccess namespace – namely to its SaveSettings function:&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;public&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt; &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;void&lt;/font&gt;&lt;/span&gt; SaveSettings(&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;int&lt;/font&gt;&lt;/span&gt; plugin, &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;string&lt;/font&gt;&lt;/span&gt; xml)&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;base&lt;/font&gt;&lt;/span&gt;.Execute(&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;delegate&lt;/font&gt;&lt;/span&gt; {&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;IDbCommand command = &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;this&lt;/font&gt;&lt;/span&gt;.CreateCommand(&lt;span&gt;&lt;font color=&quot;#a31515&quot;&gt;&amp;quot;netPlugInSaveSettings&amp;quot;&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;command.Parameters.Add(&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;this&lt;/font&gt;&lt;/span&gt;.CreateParameter(&lt;span&gt;&lt;font color=&quot;#a31515&quot;&gt;&amp;quot;PlugInID&amp;quot;&lt;/font&gt;&lt;/span&gt;, plugin));&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;command.Parameters.Add(&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;this&lt;/font&gt;&lt;/span&gt;.CreateParameter(&lt;span&gt;&lt;font color=&quot;#a31515&quot;&gt;&amp;quot;Settings&amp;quot;&lt;/font&gt;&lt;/span&gt;, xml));&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;command.ExecuteNonQuery();&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;});&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: 13pt; list-style-type: disc; margin: 0cm 0cm 10pt&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: 13pt; list-style-type: disc; margin: 0cm 0cm 10pt&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font size=&quot;2&quot;&gt;In my case plugin is equal to 141 and xml is &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;&amp;lt;NewDataSet&amp;gt;        &lt;br /&gt;&amp;#160; &amp;lt;Table1&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Parameter1&amp;gt;value 1&amp;lt;/Parameter1&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Parameter2&amp;gt;value 2&amp;lt;/Parameter2&amp;gt;         &lt;br /&gt;&amp;#160; &amp;lt;/Table1&amp;gt;         &lt;br /&gt;&amp;lt;/NewDataSet&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: 13pt; list-style-type: disc; margin: 0cm 0cm 10pt&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Courier New&quot;&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: 13pt; list-style-type: disc; margin: 0cm 0cm 10pt&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font size=&quot;2&quot;&gt;As you can see the working horse is the netPlugInSaveSettings stored procedure. Let’s look on it:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;ALTER&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt; &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;PROCEDURE&lt;/font&gt;&lt;/span&gt; [dbo]&lt;span&gt;&lt;font color=&quot;#808080&quot;&gt;.&lt;/font&gt;&lt;/span&gt;[netPlugInSaveSettings]&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;@PlugInID &lt;span style=&quot;mso-tab-count: 2&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;INT&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font style=&quot;font-size: 10pt&quot; color=&quot;#808080&quot;&gt;,&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;@Settings &lt;span style=&quot;mso-tab-count: 2&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font style=&quot;font-size: 10pt&quot; color=&quot;#0000ff&quot;&gt;NTEXT&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot; color=&quot;#0000ff&quot;&gt;AS&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot; color=&quot;#0000ff&quot;&gt;BEGIN&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot; color=&quot;#0000ff&quot;&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;span style=&quot;mso-tab-count: 1&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;UPDATE&lt;/font&gt;&lt;/span&gt; tblPlugIn &lt;/font&gt;&lt;span&gt;&lt;font style=&quot;font-size: 10pt&quot; color=&quot;#0000ff&quot;&gt;SET&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;span style=&quot;mso-tab-count: 2&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;Settings &lt;span style=&quot;mso-tab-count: 1&quot;&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span&gt;&lt;font color=&quot;#808080&quot;&gt;=&lt;/font&gt;&lt;/span&gt; @Settings&lt;/font&gt;&lt;span&gt;&lt;font style=&quot;font-size: 10pt&quot; color=&quot;#808080&quot;&gt;,&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;span style=&quot;mso-tab-count: 2&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;Saved&lt;span style=&quot;mso-tab-count: 2&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span&gt;&lt;font color=&quot;#808080&quot;&gt;=&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color=&quot;#ff00ff&quot;&gt;GetDate&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font style=&quot;font-size: 10pt&quot; color=&quot;#808080&quot;&gt;()&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;span style=&quot;mso-tab-count: 1&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;WHERE&lt;/font&gt;&lt;/span&gt; pkID &lt;span&gt;&lt;font color=&quot;#808080&quot;&gt;=&lt;/font&gt;&lt;/span&gt; @PlugInID&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: 13pt; list-style-type: disc; margin: 0cm 0cm 10pt&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot; color=&quot;#0000ff&quot;&gt;END&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: 13pt; list-style-type: disc; margin: 0cm 0cm 10pt&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes; mso-ansi-language: en-us&quot; lang=&quot;EN-US&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;Conclusion : plugin’s settings are saved in tblPlugIn table , namely in xml field. This is in consistency with SDK which says “PlugInSettings is used to store plug-in settings and information in a DataSet, these will be persisted as xml together will the plug-in definition in the EpiServer database.”&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font color=&quot;#2b91af&quot; size=&quot;2&quot; face=&quot;Courier New&quot;&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;</id><updated>2011-02-10T09:47:56.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Common properties amongst the pages</title><link href="https://world.optimizely.com/blogs/Yugeen-Klimenko/Dates/2011/2/Multiple-properties-amongst-the-pages/" /><id>Instead of using a lot of dynamic properties one can create a special settings page. On this page all site-wide settings are saved all together. Then you make only the name of this page to be a dynamic property (ref. to &lt;a href=&quot;http://www.meadow.se/wordpress/?cat=12&quot;&gt;http://www.meadow.se/wordpress/?cat=12&lt;/a&gt;). This is a common solution. However, code in the code-behind files becomes a little more complicated if you want to retrieve the settings from the settings page.   &lt;p&gt;For example:&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font color=&quot;#2b91af&quot;&gt;PropertyCriteriaCollection&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; propertyCriteriaCollection &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;= &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;PropertyCriteriaCollection&lt;/font&gt;&lt;/span&gt;();&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;PropertyCriteria&lt;/font&gt;&lt;/span&gt; criteria = &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;PropertyCriteria&lt;/font&gt;&lt;/span&gt;();&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;criteria.Condition = &lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;CompareCondition&lt;/font&gt;&lt;/span&gt;.Equal;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;criteria.Name = &lt;span&gt;&lt;font color=&quot;#a31515&quot;&gt;&amp;quot;PageTypeID&amp;quot;&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;criteria.Type = &lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;PropertyDataType&lt;/font&gt;&lt;/span&gt;.PageType;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;criteria.Value = &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;PageType&lt;/font&gt;&lt;/span&gt;.Load(&lt;span&gt;&lt;font color=&quot;#a31515&quot;&gt;&amp;quot;SettingsPage&amp;quot;&lt;/font&gt;&lt;/span&gt;).ID.ToString();&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;criteria.Required = &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;true&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;propertyCriteriaCollection.Add(criteria);&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Times New Roman&quot;&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font color=&quot;#2b91af&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;PageDataCollection&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt; pageDataCollection &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;= &lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;DataFactory&lt;/font&gt;&lt;/span&gt;.Instance.FindPagesWithCriteria&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: 13pt; list-style-type: disc; margin: 0cm 0cm 10pt&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;(&lt;span&gt;&lt;font color=&quot;#2b91af&quot;&gt;PageReference&lt;/font&gt;&lt;/span&gt;.RootPage, propertyCriteriaCollection);&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;if&lt;/font&gt;&lt;/span&gt; (pageDataCollection == &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;null&lt;/font&gt;&lt;/span&gt; || pageDataCollection.Count == 0)&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;return&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Times New Roman&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;if&lt;/font&gt;&lt;/span&gt; (pageDataCollection[0][&lt;span&gt;&lt;font color=&quot;#a31515&quot;&gt;&amp;quot;SomeProperty&amp;quot;&lt;/font&gt;&lt;/span&gt;] != &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;null&lt;/font&gt;&lt;/span&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;TextBox1.Text = &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: normal; list-style-type: disc; margin: 0cm 0cm 0pt; mso-layout-grid-align: none&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: ; mso-no-proof: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pageDataCollection[0] [&lt;span&gt;&lt;font color=&quot;#a31515&quot;&gt;&amp;quot;SomeProperty&amp;quot;&lt;/font&gt;&lt;/span&gt;].ToString();&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: 13pt; list-style-type: disc; margin: 0cm 0cm 10pt&quot; class=&quot;MsoNormal&quot;&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You see how many actions should be performed with a single aim – to get the SettingsPage’s SomeProperty value. Evidently it’s tiresome and error prone.&lt;/p&gt;  &lt;p&gt;Instead you can force the page to load properties values from some other page. For this just open the Shortcut/External Link tab in edit mode, assign&amp;#160; “Fetch data from page in EPiServer CMS” to Link type , and choose the page the properties are loaded from (f.e. SettingsPage):&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/bb307e2264f0498e99d346a42ca50836.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/a88159bb8ea8468faa0beed0602998fb.png&quot; width=&quot;363&quot; height=&quot;216&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;From this time you can apply to SettingsPage as if they belonged to the &lt;font color=&quot;#000000&quot;&gt;&lt;strong&gt;w1ef&lt;/strong&gt;&lt;/font&gt; page:&lt;/p&gt;  &lt;p style=&quot;line-height: 13pt; list-style-type: disc; margin: 0cm 0cm 10pt&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;string&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt; someProperty = CurrentPage[&lt;span&gt;&lt;font color=&quot;#a31515&quot;&gt;&amp;quot;SomeProperty&amp;quot;&lt;/font&gt;&lt;/span&gt;] &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;as&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;string&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: 13pt; list-style-type: disc; margin: 0cm 0cm 10pt&quot; class=&quot;MsoNormal&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;or:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;line-height: 13pt; list-style-type: disc; margin: 0cm 0cm 10pt&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font color=&quot;#a31515&quot;&gt;EPiServer&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font color=&quot;#0000ff&quot;&gt;:&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font color=&quot;#a31515&quot;&gt;Property&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;line-height: 12pt; font-family: ; mso-no-proof: yes&quot;&gt;&lt;font style=&quot;font-size: 10pt&quot;&gt; &lt;span&gt;&lt;font color=&quot;#ff0000&quot;&gt;PropertyName&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;=&amp;quot;SomeProperty&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color=&quot;#ff0000&quot;&gt;runat&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color=&quot;#0000ff&quot;&gt;=&amp;quot;server&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;/font&gt;&lt;span&gt;&lt;font style=&quot;font-size: 10pt&quot; color=&quot;#0000ff&quot;&gt;/&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;</id><updated>2011-02-08T14:20:38.0000000Z</updated><summary type="html">Blog post</summary></entry></feed>