<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11283529</id><updated>2011-12-01T07:10:32.558+08:00</updated><category term='Win32'/><category term='C#'/><category term='General'/><category term='MCMS'/><category term='Sharepoint'/><category term='ASP.NET'/><category term='.NET'/><title type='text'>Chester's Blog</title><subtitle type='html'>C#, .NET &amp; MCMS</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>57</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11283529.post-8049053938423421248</id><published>2007-03-13T13:42:00.000+08:00</published><updated>2007-03-20T16:28:49.249+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Shell Extensions - Context Menu</title><content type='html'>&lt;span style="font-family:verdana;font-size:100%;"&gt;I couldn’t blog for long time due to some personal reasons. Hope I’ll be able to blog without any breaks in future. I'm going to write something different this time, Context Menu for explorer.&lt;br /&gt;&lt;br /&gt;I wanted to write a context menu extension for the explorer using some Win32 API calls, which took me a while and it was really a pain. Had problems in debugging, needed to reboot the machine number of times, etc… So thought of coming up with a wrapper in .NET. The wrapper is mainly an abstract class which can be driven to create a personalized context menu extension. The assembly can be downloaded from &lt;/span&gt;&lt;a href="http://www.fileden.com/files/2007/3/13/880394/Utils.ShellExtensions.ContextMenu.zip"&gt;&lt;span style="font-family:verdana;font-size:100%;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:100%;"&gt; and the source can be downloaded from &lt;/span&gt;&lt;a href="http://www.fileden.com/files/2007/3/13/880394/Utils.ShellExtensions.ContextMenu_Source.zip"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:100%;"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:100%;"&gt;How To use Utils.ShellExtensions.ContextMenu.dll&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:100%;"&gt;&lt;/strong&gt;&lt;br /&gt;Deploy Utils.ShellExtensions.ContextMenu.dll in gac. Create a class library project. Add Utils.ShellExtensions.ContextMenu.dll to your project. Drive a class from BaseContextMenu. Make it com visible, install it in gac and register it for com.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:100%;"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5041294320846742050" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_8fcwfuOYwco/RfZGeZJDoiI/AAAAAAAAAAU/5fmkEcJDvMs/s320/ContexMenu.JPG" border="0" /&gt;&lt;br /&gt;[ComVisible(true), Guid("0056DA96-FFD6-4180-BAB2-8C9B6F552B2D")]&lt;br /&gt;public class MyMenu : BaseContextMenu&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ComRegisterFunction]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void RegisterFunction(Type t)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Register for files&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterContextMenu.Register("*", t.GUID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Register for folders&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterContextMenu.Register("Directory", t.GUID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Register for drives&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterContextMenu.Register("Drive", t.GUID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ComUnregisterFunction]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void UnregisterFunction(Type t)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterContextMenu.Unregister("*", t.GUID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterContextMenu.Unregister("Directory", t.GUID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterContextMenu.Unregister("Drive", t.GUID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public override void AssembleMenu()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(@"c:\test.bmp");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Drawing.Bitmap bmp1 = new System.Drawing.Bitmap(@"c:\test1.bmp");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MenuItems menuItems1 = new MenuItems("Test1",0,false);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MenuItems menuItems2 = new MenuItems("Test2",1,false,bmp,true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MenuItems menuItems3 = new MenuItems("Test3",2,false,bmp1,false);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;menuItems2.Click +=new Utils.ShellContextMenu.MenuItems.MenuClickHandler(menuItems2_Click);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;menuItems3.Click +=new Utils.ShellContextMenu.MenuItems.MenuClickHandler(menuItems3_Click);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//This order is important. Always insert the parent container and then the child!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InsertMenu(menuItems1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AddMenu(menuItems1, menuItems2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AddMenu(menuItems1, menuItems3);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private void menuItems2_Click()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Windows.Forms.MessageBox.Show("Menu Test2 clicked");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private void menuItems3_Click()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Windows.Forms.MessageBox.Show("Menu Test3 clicked");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-8049053938423421248?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/8049053938423421248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=8049053938423421248&amp;isPopup=true' title='25 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/8049053938423421248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/8049053938423421248'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2007/03/shell-extension-context-menu.html' title='Shell Extensions - Context Menu'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_8fcwfuOYwco/RfZGeZJDoiI/AAAAAAAAAAU/5fmkEcJDvMs/s72-c/ContexMenu.JPG' height='72' width='72'/><thr:total>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-115125059747720758</id><published>2006-06-25T23:27:00.000+08:00</published><updated>2007-03-19T02:14:27.800+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MCMS'/><title type='text'>MCMS Manager 6.2</title><content type='html'>&lt;span style="font-family:verdana;"&gt;This release is for users who want MCMS Manager to be worked with .NET framework 2.0. Also from the &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=133592&amp;package_id=146706&amp;amp;release_id=425734"&gt;previous version&lt;/a&gt;, MCMS Manager works with MCMS 2002 SP2. In future if necessary otherwise there wont be any releases for .NET framework 1.1 (I'm really struggling to manage my time).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Get the new version from &lt;/span&gt;&lt;a href="http://sourceforge.net/project/showfiles.php?group_id=133592&amp;package_id=146706&amp;amp;release_id=427513"&gt;&lt;span style="font-family:verdana;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;. For more information check &lt;/span&gt;&lt;a href="http://mcmsmanager.sourceforge.net/"&gt;&lt;span style="font-family:verdana;"&gt;MCMS Manager&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; Site. Please don't forget to post your &lt;/span&gt;&lt;a href="http://mcmsmanager.sourceforge.net/phpBB2"&gt;&lt;span style="font-family:verdana;"&gt;feedbacks&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-115125059747720758?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/115125059747720758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=115125059747720758&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/115125059747720758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/115125059747720758'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2006/06/mcms-manager-62.html' title='MCMS Manager 6.2'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-115065490188810627</id><published>2006-06-19T02:13:00.000+08:00</published><updated>2007-03-20T16:34:56.131+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='MCMS'/><title type='text'>MCMS Manager 6.1</title><content type='html'>After a while.. This version includes,&lt;br /&gt;&lt;br /&gt;1. Adding Resource(s).&lt;br /&gt;2. Windows Authentication support.&lt;br /&gt;3. Authentication for the web service &amp; more.&lt;br /&gt;&lt;br /&gt;Get the new version from &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=133592&amp;amp;amp;amp;package_id=146706&amp;amp;release_id=425734"&gt;here&lt;/a&gt;. For more information check &lt;a href="http://mcmsmanager.sourceforge.net/"&gt;MCMS Manager site&lt;/a&gt;. Please don't forget to post your feedbacks &lt;a href="http://mcmsmanager.sourceforge.net/phpBB2"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-115065490188810627?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/115065490188810627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=115065490188810627&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/115065490188810627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/115065490188810627'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2006/06/mcms-manager-61.html' title='MCMS Manager 6.1'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-114278151492895976</id><published>2006-03-19T22:56:00.000+08:00</published><updated>2007-03-20T16:30:40.090+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>MVP for  Microsoft Office Content Management Server (MCMS)</title><content type='html'>I got a mail (not email - parcel - with certificate) from Microsoft stating that I got awarded as MVP for MCMS!&lt;br /&gt;&lt;br /&gt;I want to thank &lt;a href="http://blogs.technet.com/stefan_gossner/default.aspx"&gt;Stefan&lt;/a&gt;, &lt;a href="http://www.mcmsfaq.com/"&gt;Spancer&lt;/a&gt;, &lt;a href="http://meiyinglim.blogspot.com/"&gt;Mei Ying&lt;/a&gt;, &lt;a href="http://andrewconnell.com/blog/"&gt;Andrew&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/angus_logan/default.aspx"&gt;Angus&lt;/a&gt; and &lt;a href="http://joelsef.blogspot.com/"&gt;Jole Ward&lt;/a&gt; for their guidance! Surely I couldn’t have made it this far without their help.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-114278151492895976?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/114278151492895976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=114278151492895976&amp;isPopup=true' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/114278151492895976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/114278151492895976'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2006/03/mvp-for-microsoft-office-content.html' title='MVP for  Microsoft Office Content Management Server (MCMS)'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-114096250070604201</id><published>2006-02-26T21:52:00.000+08:00</published><updated>2007-03-20T16:30:20.849+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>The underlying connection was closed: An unexpected error occurred on a receive. (Web Service)</title><content type='html'>&lt;p&gt;We had a web service which was working without any problem for few months and suddenly last week it started to give the above mentioned error. Even though I found some similar threads on the web, nothing helped me to solve the problem.&lt;br /&gt;&lt;br /&gt;After few hours of R&amp;D I found a workable solution! Overriding the web service's proxy class fixed the error where I’ve created a new HttpWebRequest.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;protected override System.Net.WebRequest GetWebRequest(Uri uri)&lt;br /&gt;{&lt;br /&gt;//Get a new HttpWebRequest&lt;br /&gt;System.Net.HttpWebRequest webRequest = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(uri);&lt;br /&gt;webRequest.KeepAlive = false;&lt;br /&gt;return webRequest;&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-114096250070604201?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/114096250070604201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=114096250070604201&amp;isPopup=true' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/114096250070604201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/114096250070604201'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2006/02/underlying-connection-was-closed.html' title='The underlying connection was closed: An unexpected error occurred on a receive. (Web Service)'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-114096187460748935</id><published>2006-02-26T21:17:00.000+08:00</published><updated>2007-03-20T16:28:25.102+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Where am I Now?</title><content type='html'>For last couple of months I was very busy with my new job (if you are not aware, currently I’m in Singapore and working for &lt;a href="http://www.sonopress.com.hk/"&gt;Sonopress Pvt Ltd&lt;/a&gt;) and couldn’t concentrate on maintain my blog as well as &lt;a href="http://mcmsmanager.sourceforge.net/"&gt;MCMS Manager&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now I’m somewhat settled and also playing Lead role ;). I should thank Ananth (my lead) for recognizing me within this short period of time and recommending my name for the above mentioned position!&lt;br /&gt;&lt;br /&gt;I’m sure that I’ll start my routine work very soon… (Surely there will be a release on &lt;a href="http://mcmsmanager.sourceforge.net/"&gt;MCMS Manager&lt;/a&gt; within couple of weeks!).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-114096187460748935?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/114096187460748935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=114096187460748935&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/114096187460748935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/114096187460748935'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2006/02/where-am-i-now.html' title='Where am I Now?'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-113595967851256136</id><published>2005-12-31T00:05:00.000+08:00</published><updated>2007-03-20T16:34:27.114+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='MCMS'/><title type='text'>Spencer's Article Series on 'ASP.NET 2.0 and MCMS 2002 SP2'</title><content type='html'>Via &lt;a href="http://www.harbar.net/"&gt;Spencer&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;a href="http://www.mcmsfaq.com/articles/sp2ads.asp"&gt;MCMS ASP.NET 2 AdRotator&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;blockquote&gt;&lt;div align="justify"&gt;With the recent release of Service Pack 2 for MCMS, it is now&lt;br /&gt;possible to take advantage of many ASP.NET 2.0 features within your&lt;br /&gt;MCMS applications. The ASP.NET 2.0 AdRotator control has been enhanced to&lt;br /&gt;allow for programatic population, which makes it much easier to produce a&lt;br /&gt;AdRotator using MCMS Resource Gallery Items.&lt;/div&gt;&lt;/blockquote&gt;[&lt;a href="http://www.mcmsfaq.com/articles/sp2ads.asp"&gt;Read More&lt;/a&gt;]&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;a href="http://www.mcmsfaq.com/articles/sp2mp.asp"&gt;Using ASP.NET Master Pages in your MCMS Applications&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;blockquote&gt;With the recent release of Service Pack 2 for MCMS, it is now&lt;br /&gt;possible to take advantage of many ASP.NET 2.0 features within your MCMS&lt;br /&gt;applications. One the best new features introduced with ASP.NET 2.0 is Master&lt;br /&gt;Pages, which allow developers to enforce common layout and behaviour across&lt;br /&gt;pages within an application. Whilst at first pass many Master Pages concepts are&lt;br /&gt;similar to those of MCMS, there are a number of benefits to be gained by taking&lt;br /&gt;advantage of Master Pages within MCMS applications.&lt;/blockquote&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;[&lt;a href="http://www.mcmsfaq.com/articles/sp2mp.asp"&gt;Read More&lt;/a&gt;]&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-113595967851256136?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/113595967851256136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=113595967851256136&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113595967851256136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113595967851256136'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/12/spencers-article-series-on-aspnet-20.html' title='Spencer&apos;s Article Series on &apos;ASP.NET 2.0 and MCMS 2002 SP2&apos;'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-113563733818435674</id><published>2005-12-27T06:28:00.000+08:00</published><updated>2007-03-20T16:36:18.261+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='MCMS'/><title type='text'>MCMS Manager 6.0</title><content type='html'>&lt;p&gt;This version includes,&lt;/p&gt;&lt;p&gt;1. Incremental Export/Import &amp; User Backup/Restore&lt;br /&gt;2. Resource hit Statistics&lt;br /&gt;3. Extended Search&lt;/p&gt;&lt;p&gt;Get the new version from &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=133592&amp;amp;package_id=146706&amp;amp;release_id=380920"&gt;here&lt;/a&gt;. For more information check &lt;a href="http://mcmsmanager.sourceforge.net"&gt;MCMS Manager site&lt;/a&gt;. Please don't forget to post your feedbacks &lt;a href="http://mcmsmanager.sourceforge.net/phpBB2"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-113563733818435674?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/113563733818435674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=113563733818435674&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113563733818435674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113563733818435674'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/12/mcms-manager-60.html' title='MCMS Manager 6.0'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-113526912334812664</id><published>2005-12-23T00:16:00.000+08:00</published><updated>2005-12-23T01:00:11.513+08:00</updated><title type='text'>Modifying Resource Browser to Display Thumbnail for Bitmaps</title><content type='html'>The Resource Browser (Web Author - Resource Manager) ships with MCMS doesn't provide a thumbnail preview for bmp files. That is acceptable as bmp is not a web image format. But if you are interested in showing a thumbnail for bmp files, it can be done via a customized Resource Manager.&lt;br /&gt;&lt;br /&gt;1. Create a class inheriting Microsoft.ContentManagement.WebAuthor.ResourcesBrowse&lt;br /&gt;a) Create a class library.&lt;br /&gt;b) Body of the class -&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Drawing;&lt;br /&gt;using Microsoft.ContentManagement.WebAuthor;&lt;br /&gt;using Microsoft.ContentManagement.Publishing;&lt;br /&gt;&lt;br /&gt;namespace MCMS&lt;br /&gt;{&lt;br /&gt;public class CustomResourceBrowser : ResourcesBrowse&lt;br /&gt;{&lt;br /&gt;public CustomResourceBrowser()&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Create a new method to hide the default DataBindResourceColumnThumbnailUrl&lt;br /&gt;protected new string DataBindResourceColumnThumbnailUrl(object dataitem)&lt;br /&gt;{&lt;br /&gt;Resource resource = (Resource)dataitem;&lt;br /&gt;string url = string.Empty;&lt;br /&gt;IntPtr Missing = IntPtr.Zero;&lt;br /&gt;if(resource.FileExtension.ToLower()=="bmp")&lt;br /&gt;{&lt;br /&gt;using(Image image = Bitmap.FromStream(resource.OpenReadStream()))&lt;br /&gt;{&lt;br /&gt;using(Image thumbImage = image.GetThumbnailImage(32,32,null,Missing))&lt;br /&gt;{&lt;br /&gt;thumbImage.Save(@"PhysicalPath"+resource.Name,System.Drawing.Imaging.ImageFormat.Icon);&lt;br /&gt;url = "http://WebPath/"+resource.Name;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;url = resource.UrlThumbnail;&lt;br /&gt;}&lt;br /&gt;return url;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;2. Add the following references&lt;br /&gt;a) using System.Drawing&lt;br /&gt;b) System.Web&lt;br /&gt;c) using Microsoft.ContentManagement.WebAuthor&lt;br /&gt;d) using Microsoft.ContentManagement.Publishing&lt;br /&gt;&lt;br /&gt;3. Create a temporary folder with appropriate rights for a web user to write data to that. Have the folder in a saver place as it can be assessed by anyone. Make it as a virtual directory. In the PhysicalPath above class replace it with the path of this directory and WebPath with the virtual directory name.&lt;br /&gt;&lt;br /&gt;4. Deploy the dll in the bin folder of your MCMS project.&lt;br /&gt;&lt;br /&gt;5. Make a copy of ResourcesBrowse.aspx - its default location "C:\Program Files\Microsoft Content Management&lt;br /&gt;Server\Server\IIS_CMS\WebAuthor\Dialogs\ResourceBrowser\Management\"&lt;br /&gt;&lt;br /&gt;6. Open ResourcesBrowse.aspx in notepad and change the Page derivative as bellow&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;%@ Page language="c#" Codebehind="ResourcesBrowse.aspx.cs" SmartNavigation="true" AutoEventWireup="false"&lt;br /&gt;Inherits="MCMS.CustomResourceBrowser" %&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;This will make thumbnail in the temporary folder for bitmap files, which will be referred by Resource Manager - used to show the preview.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Note: Take precautions before using this method as ResourcesBrowse.aspx may get changed without any notification.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-113526912334812664?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/113526912334812664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=113526912334812664&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113526912334812664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113526912334812664'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/12/modifying-resource-browser-to-display.html' title='Modifying Resource Browser to Display Thumbnail for Bitmaps'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-113328290617021213</id><published>2005-11-30T00:44:00.000+08:00</published><updated>2005-11-30T00:48:26.186+08:00</updated><title type='text'>MCMS Manager Site Updated</title><content type='html'>I’ve updated the &lt;a href="http://mcmsmanager.sourceforge.net/" target="_blank"&gt;MCMS Manager&lt;/a&gt; site. Hope all of you will like the new look!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-113328290617021213?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/113328290617021213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=113328290617021213&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113328290617021213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113328290617021213'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/11/mcms-manager-site-updated.html' title='MCMS Manager Site Updated'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-113313858893905673</id><published>2005-11-28T08:30:00.000+08:00</published><updated>2005-11-28T08:49:47.433+08:00</updated><title type='text'>Rational Guide to installing MCMS 2002 Service Pack 2</title><content type='html'>Via &lt;a href="http://www.harbar.net/"&gt;Spencer&lt;/a&gt; :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;This article provides a step by step installation for MCMS SP2, including the&lt;br /&gt;developer tools for VS.NET 2005, SQL Server 2005, development gotchas and&lt;br /&gt;upgrading the WoodgroveNet sample site.&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://www.mcmsfaq.com/articles/sp2install.asp"&gt;Rational Guide to installing MCMS 2002 Service Pack 2&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-113313858893905673?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/113313858893905673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=113313858893905673&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113313858893905673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113313858893905673'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/11/rational-guide-to-installing-mcms-2002.html' title='Rational Guide to installing MCMS 2002 Service Pack 2'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-113271207910411013</id><published>2005-11-23T01:55:00.000+08:00</published><updated>2005-11-23T10:14:39.156+08:00</updated><title type='text'>MCMS Manager 5.3</title><content type='html'>This version includes,&lt;br /&gt;&lt;br /&gt;1. Placeholder content Find and Replace&lt;br /&gt;2. Template switching&lt;br /&gt;3. Save search (postings/resource) result in CSV format&lt;br /&gt;&lt;br /&gt;Get the new version from &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=133592&amp;package_id=146706&amp;amp;release_id=373121"&gt;here&lt;/a&gt;. For more information check &lt;a href="http://mcmsmanager.sourceforge.net/"&gt;MCMS Manager&lt;/a&gt; Site. Please don't forget to post your &lt;a href="http://mcmsmanager.sourceforge.net/phpBB2"&gt;feedbacks&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-113271207910411013?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/113271207910411013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=113271207910411013&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113271207910411013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113271207910411013'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/11/mcms-manager-53.html' title='MCMS Manager 5.3'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-113225183247526797</id><published>2005-11-18T01:59:00.000+08:00</published><updated>2005-11-18T03:24:41.566+08:00</updated><title type='text'>A Web service to create Postings</title><content type='html'>There can be situations where the only solution to access MCMS is via web services. KB 327750 (&lt;a href="http://support.microsoft.com/Default.aspx?kbid=327750" target="_blank"&gt;How to use an MCMS Web service to ...&lt;/a&gt;) can be used as a starting point on creating a web service for MCMS. This article explains how a posting can be created using a web service (only the web method is provided).&lt;br /&gt;&lt;br /&gt;&lt;p&gt;[WebMethod]&lt;br&gt;public bool CreatePosting(string userName, string password, string channelGuid, string postingName, string templateGuid, out string error)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //The above parameter list can contain more information about the posting such as display name, placeholder content, etc.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //It is always recommended to encrypt the password and decrypt it.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Usually error will be very much useful to get the exact problem form MCMS.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; error = &amp;quot;&amp;quot;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool postiongCreated = false;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using(CmsApplicationContext cmsContext = new CmsApplicationContext())&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Authenticate the context in update mode&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmsContext.AuthenticateAsUser(userName, password, PublishingMode.Update);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Get the channel object&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Channel parentChannel = cmsContext.Searches.GetByGuid(channelGuid) as Channel;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Get the template object&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Template sourceTemplate = cmsContext.Searches.GetByGuid(templateGuid) as Template;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //To check whether they are found or not. If necessary it can be separated&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //to two conditions&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(parentChannel!=null &amp;amp;&amp;amp; sourceTemplate!=null)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Can this user create a posting/this template can be used to create posting?&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//If necessary it can be separated to two conditions&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(parentChannel.CanCreatePostings &amp;amp;&amp;amp; sourceTemplate.CanUseForAuthoring)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Posting newPosting = parentChannel.CreatePosting(sourceTemplate);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //More information can be set here if available.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newPosting.Name = postingName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Commit the changes&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmsContext.CommitAll();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; postiongCreated = true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch(Exception creationException)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Oops.. An error occurred. Rollback!&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmsContext.RollbackAll();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error = creationException.ToString();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error = &amp;quot;User &amp;quot; + userName +&amp;quot; don't have rights to create a posting in &amp;quot;+ parentChannel.Name + &amp;quot; channel or the template &amp;quot; + sourceTemplate.Name + &amp;quot; cannot be used for authoring.&amp;quot;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error = &amp;quot;Channel/Source Template not found&amp;quot;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch(Exception generalException)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error = generalException.ToString();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;return postiongCreated;&lt;br&gt;}&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-113225183247526797?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/113225183247526797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=113225183247526797&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113225183247526797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113225183247526797'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/11/web-service-to-create-postings.html' title='A Web service to create Postings'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-113151663623991147</id><published>2005-11-09T09:40:00.000+08:00</published><updated>2005-11-09T14:10:36.253+08:00</updated><title type='text'>MCMS Manager 5.2</title><content type='html'>&lt;p&gt;In this release,&lt;/p&gt;&lt;p&gt;1. Improved version of Posting Size Checker&lt;br /&gt;2. Improved version of Log generator&lt;br /&gt;3. Resource gallery size check and more...&lt;br /&gt;&lt;br /&gt;Get the new version from &lt;a href="https://sourceforge.net/project/showfiles.php?group_id=133592&amp;package_id=146706&amp;amp;release_id=369577"&gt;here&lt;/a&gt;. For more information check &lt;a href="http://mcmsmanager.sourceforge.net"&gt;MCMS Manager&lt;/a&gt; site.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-113151663623991147?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/113151663623991147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=113151663623991147&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113151663623991147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113151663623991147'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/11/mcms-manager-52.html' title='MCMS Manager 5.2'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-113149992977477466</id><published>2005-11-09T09:14:00.000+08:00</published><updated>2005-11-09T16:06:24.520+08:00</updated><title type='text'>MCMS 2002 Service Pack 2 (Updated)</title><content type='html'>Via &lt;a href="http://blogs.technet.com/stefan_gossner/default.aspx"&gt;Stefan&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/stefan_gossner/archive/2005/11/08/413990.aspx"&gt;MCMS 2002 Service Pack 2 is now ready for download!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/stefan_gossner/archive/2005/11/09/414055.aspx"&gt;Knowledge Base articles for MCMS 2002 SP2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-113149992977477466?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/113149992977477466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=113149992977477466&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113149992977477466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113149992977477466'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/11/mcms-2002-service-pack-2-updated.html' title='MCMS 2002 Service Pack 2 (Updated)'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-113017804131223099</id><published>2005-10-25T02:17:00.000+08:00</published><updated>2005-11-08T01:34:33.340+08:00</updated><title type='text'>Book : Advanced Microsoft Content Management Server Development (Updated)</title><content type='html'>&lt;a href="http://www.packtpub.com/more_mcms/book"&gt;Advanced Microsoft Content Management Server Development&lt;/a&gt; book is available now.&lt;br /&gt;&lt;br /&gt;Via &lt;a href="http://andrewconnell.com/blog/"&gt;Andrew&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a id="_f0c8d103c1f_HomePageDays_DaysList__ctl0_DayItem_DayList__ctl0_TitleUrl" href="http://andrewconnell.com/blog/archive/2005/11/07/2317.aspx"&gt;NOW AVAILABLE - Advanced Microsoft Content Server Development&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I can understand his feelings as I'm a first time Reviewer!&lt;br /&gt;&lt;br /&gt;Via &lt;a href="http://blogs.technet.com/stefan_gossner/default.aspx"&gt;Stefan&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/stefan_gossner/archive/2005/11/07/413869.aspx"&gt;New MCMS Book has been released!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-113017804131223099?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/113017804131223099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=113017804131223099&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113017804131223099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113017804131223099'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/10/book-advanced-microsoft-content.html' title='Book : Advanced Microsoft Content Management Server Development (Updated)'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-113017611495037705</id><published>2005-10-25T01:44:00.000+08:00</published><updated>2005-10-25T01:48:34.956+08:00</updated><title type='text'>MCMS Manager 5.1</title><content type='html'>This release includes,&lt;br /&gt;&lt;br /&gt;1. Posting Size Checker - a new tool to check the size of Postings&lt;br /&gt;2. UI Improvements&lt;br /&gt;3. Channel level Posting Submit/Approve&lt;br /&gt;&lt;br /&gt;Get the new version from &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=133592&amp;package_id=146706&amp;amp;release_id=365689"&gt;here&lt;/a&gt;. For more information check &lt;a href="http://mcmsmanager.sourceforge.net/"&gt;MCMS Manager&lt;/a&gt; site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-113017611495037705?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/113017611495037705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=113017611495037705&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113017611495037705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/113017611495037705'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/10/mcms-manager-51.html' title='MCMS Manager 5.1'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112974116932903184</id><published>2005-10-20T00:44:00.000+08:00</published><updated>2005-10-28T00:06:56.526+08:00</updated><title type='text'>Maximum uploadable size of a Resource to Resource Gallery</title><content type='html'>&lt;p align="justify"&gt;Resource can be uploaded to resource galleries via Site Manager as well as via Resource Manager (web author). The size of the resource file which can be uploaded via Resource Manager can be changed by modifying the httpRuntime attribute in the relevant web.config file (a sample for that with explanation can be found here – &lt;a style="COLOR: blue; TEXT-DECORATION: underline; text-underline: single" href="http://download.microsoft.com/download/4/2/5/4250f79a-c3a1-4003-9272-2404e92bb76a/MCMS+2002+-+(complete)+FAQ.htm#21529F34-A8D4-47B5-8B63-6FBE6A1BC91E"&gt;MCMS faq&lt;/a&gt;).&lt;/p&gt;&lt;p align="justify"&gt;Site Manager uses underlying ASP service to interact with MCMS server. So to change the upload resource size via Site Manager, some modification should be done in the IIS MetaBase.xml/service depending on Maximum size. If the maximum size is less than 100000 bytes, follow Step 1. Otherwise follow Step 2.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 1 - To restrict the size less than 100000 bytes:&lt;/strong&gt;&lt;/p&gt;&lt;ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in" type="disc"&gt;&lt;li&gt;Open MetaBase.xml file – this can be found in &amp;lt;windows installation path&amp;gt;\system32\inetsrv&lt;/li&gt;&lt;li&gt;Go to&lt;br /&gt;&lt;span style="MARGIN-LEFT: 0.5in"&gt;&amp;lt;IIsWebDirectory Location ="/LM/W3SVC/1/ROOT/NR/System/ResUpload"&lt;br /&gt;&lt;span style="MARGIN-LEFT: 0.5in"&gt;AppFriendlyName=""&lt;br /&gt;&lt;span style="MARGIN-LEFT: 0.5in"&gt;AppIsolated="2"&lt;br /&gt;&lt;span style="MARGIN-LEFT: 0.5in"&gt;AppRoot="/LM/W3SVC/1/Root/NR/System/ResUpload"&lt;br /&gt;&lt;span style="MARGIN-LEFT: 0.5in"&gt;&lt;b&gt;AspMaxRequestEntityAllowed="xxxxxx"&lt;/b&gt;&lt;br /&gt;&lt;span style="MARGIN-LEFT: 0.5in"&gt;&amp;gt;&amp;lt;/IIsWebDirectory&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="MARGIN-LEFT: 0.1in"&gt;Set the AspMaxRequestEntityAllowed to required maximum size – it should be in bytes and less than 100000 bytes.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Stop the IIS (iisreset /stop).&lt;/li&gt;&lt;li&gt;Save MetaBase.xml(before saving, make a copy of that file).&lt;/li&gt;&lt;li&gt;Now start the IIS (iisreset /start).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Step 2 - To restrict the size more than or equal to 100000 bytes:&lt;/strong&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 39pt; TEXT-INDENT: -0.25in"&gt;&lt;ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in" type="disc"&gt;&lt;li&gt;Asp service (Site Manager uses this to interact with MCMS Server) counts 100000 bytes as a chunk. So if the size is 100000 bytes or more, it will be divided in to 100000 byte chunks, so it will get uploaded without the maximum limit boundary which can be specified in Step1 – to avoid this must validate this in asp service.&lt;/li&gt;&lt;li&gt;Open resupload.asp in notepad – it can be found in &amp;lt;MCMS Installation folder&amp;gt;\Server\IIS_NR\System\ResUpload – have a copy of it before doing any modification.&lt;/li&gt;&lt;li&gt;WriteFile function should be modified. Add the code(bold) given below before the creation of “AEBinFile.AEBinFile.1” object.&lt;br /&gt;&lt;br /&gt;&lt;span style="MARGIN-LEFT: 21pt"&gt;……………&lt;/span&gt;&lt;br /&gt;&lt;span style="MARGIN-LEFT: 21pt"&gt;if len(strFileExt)=0 then&lt;br /&gt;&lt;span style="MARGIN-LEFT: 40pt"&gt;Response.End&lt;br /&gt;&lt;span style="MARGIN-LEFT: 21pt"&gt;end if&lt;br /&gt;&lt;span style="MARGIN-LEFT: 21pt"&gt;&lt;b&gt;Dim maxSize&lt;/b&gt;&lt;br /&gt;&lt;span style="MARGIN-LEFT: 21pt; TEXT-INDENT: 15pt"&gt;&lt;b&gt;maxSize = 1000000 ' maximum size of upload specified in MetaBase.xml&lt;/b&gt;&lt;br /&gt;&lt;span style="MARGIN-LEFT: 21pt; TEXT-INDENT: 15pt"&gt;&lt;b&gt;nCount = Request.TotalBytes&lt;/b&gt;&lt;br /&gt;&lt;span style="MARGIN-LEFT: 21pt"&gt;&lt;b&gt;if nCount &amp;gt; maxSize then&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="MARGIN-LEFT: 40pt"&gt;&lt;strong&gt;Response.Status = "500" 'Some error....&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="MARGIN-LEFT: 40pt"&gt;&lt;b&gt;Response.End&lt;/b&gt;&lt;br /&gt;&lt;span style="MARGIN-LEFT: 21pt"&gt;&lt;b&gt;end if&lt;/b&gt;&lt;br /&gt;&lt;span style="MARGIN-LEFT: 21pt"&gt;&lt;b&gt;&lt;/b&gt;Set BinFile = Server.CreateObject("AEBinFile.AEBinFile.1")&lt;br /&gt;&lt;span style="MARGIN-LEFT: 21pt"&gt;…………&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="color:#ff0000;"&gt;Note: As modifying resupload.asp is not supported, take precautions before using the 2nd method.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112974116932903184?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112974116932903184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112974116932903184&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112974116932903184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112974116932903184'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/10/maximum-uploadable-size-of-resource-to.html' title='Maximum uploadable size of a Resource to Resource Gallery'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112905478211477220</id><published>2005-10-12T02:14:00.000+08:00</published><updated>2005-10-12T02:27:53.483+08:00</updated><title type='text'>MCMS Manager 5.0</title><content type='html'>&lt;p&gt;This release includes, &lt;/p&gt;&lt;p&gt;1. Posting Comparer (new tool) - can compare postings/posting revisions&lt;br /&gt;2. Resource Properties Editor - to edit Resource Properties&lt;br /&gt;3. XML Editor - to edit XmlPlaceholder content&lt;br /&gt;&lt;br /&gt;Get the new version from &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=133592&amp;package_id=146706&amp;amp;release_id=362775"&gt;here&lt;/a&gt;. For more information check &lt;a href="http://mcmsmanager.sourceforge.net/"&gt;MCMS Manager&lt;/a&gt; site. Please post your feedbacks!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112905478211477220?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112905478211477220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112905478211477220&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112905478211477220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112905478211477220'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/10/mcms-manager-50.html' title='MCMS Manager 5.0'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112905443003645704</id><published>2005-10-12T02:02:00.000+08:00</published><updated>2005-10-12T02:32:43.676+08:00</updated><title type='text'>MCMS Manager Performance Test (Initialization)</title><content type='html'>&lt;p&gt;Performance test for &lt;a href="http://mcmsmanager.sourceforge.net"&gt;MCMS Manager&lt;/a&gt; was done with Search enabled (otherwise it must not take more than 5 sec to initialize).&lt;/p&gt;&lt;p&gt;&lt;b&gt;Machine Configuration&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Processor - Intel Pentium 4 Mobile CPU 1.80GHz&lt;br /&gt;RAM - 256MB&lt;br /&gt;O/S - Windows 2003&lt;/p&gt;&lt;p&gt;&lt;b&gt;MCMS Configuration&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Postings - 2982 (size - 8.5mb)&lt;br /&gt;Resources - 50 (size - 0.5mb)&lt;br /&gt;Templates - 20 (size - 0mb)&lt;/p&gt;&lt;p&gt;Total Application Size 9.0mb (here size is the size of objects generated by MCMS Manager).&lt;/p&gt;&lt;p&gt;Web Service (in the same machine) took &lt;b&gt;117.7800 Sec&lt;/b&gt; to initialize where as Local API took &lt;b&gt;72.7053 Sec&lt;/b&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112905443003645704?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112905443003645704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112905443003645704&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112905443003645704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112905443003645704'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/10/mcms-manager-performance-test.html' title='MCMS Manager Performance Test (Initialization)'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112889159502586186</id><published>2005-10-10T04:57:00.000+08:00</published><updated>2005-10-14T00:56:15.683+08:00</updated><title type='text'>Accessing Postings via HttpWebRequest/WebClient</title><content type='html'>&lt;p&gt;After the post - &lt;a style="COLOR: blue; TEXT-DECORATION: underline; text-underline: single" href="http://chestermr.blogspot.com/2005/09/using-comparehtml-to-compare-postings.html"&gt;Using CompareHTML to compare postings&lt;/a&gt; , few people asked me - how to access postings via WebClient.&lt;br /&gt;&lt;br /&gt;Normally when we try to access posting via HttpWebRequest/WebClient, it will return "&lt;span style="color:red;"&gt;The remote server returned an error: (500) Internal Server Error.&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;The reason for the 500 server error is that authoring with MCMS is only supported with IE. And IE will always send the user agent string. So the code in WebAuthor requires this user agent string and does not check for this. As access with a user higher as subscriber is always treated as authoring the problem the above error will occur (thanks &lt;a href="http://blogs.technet.com/stefan_gossner/default.aspx"&gt;Stefan&lt;/a&gt; – for giving the correct reason!).&lt;br /&gt;&lt;br /&gt;To avoid the above error when accessing a posting with a higher role than subscriber, it is required to specify the “User Agent”.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;Via HttpWebRequest&lt;br /&gt;&lt;/strong&gt;&lt;span style="color:#1000ff;"&gt;HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("url of the posting");&lt;br /&gt;NetworkCredential networkCredential = new&lt;br /&gt;NetworkCredential("username","password","domain");&lt;br /&gt;httpWebRequest.Credentials = networkCredential;&lt;br /&gt;httpWebRequest.UserAgent = "Mozilla/4.0+";&lt;br /&gt;//UserAgent should be specified before getting the response.&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#1000ff;"&gt;HttpWebResponse webResponse = (HttpWebResponse)httpWebRequest.GetResponse();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:black;"&gt;Via WebClient&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:#1000ff;"&gt;WebClient webClient = new WebClient();&lt;br /&gt;NetworkCredential networkCredential = new&lt;br /&gt;NetworkCredential("username","password","domain");&lt;br /&gt;webClient.Credentials = networkCredential;&lt;br /&gt;webClient.Headers.Add("User-Agent","Mozilla/4.0+");&lt;br /&gt;//User-Agent should be specified in header before getting the response.&lt;br /&gt;Stream webStream= webClient.OpenRead("url of the posting");&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112889159502586186?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112889159502586186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112889159502586186&amp;isPopup=true' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112889159502586186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112889159502586186'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/10/accessing-postings-via.html' title='Accessing Postings via HttpWebRequest/WebClient'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112853380248024464</id><published>2005-10-06T01:23:00.000+08:00</published><updated>2005-10-06T01:36:43.886+08:00</updated><title type='text'>MCMS Manager 4.4</title><content type='html'>This version includes,&lt;br /&gt;&lt;br /&gt;1. UI enhancements.&lt;br /&gt;2. &lt;a href="http://meiyinglim.blogspot.com/"&gt;Mei Ying&lt;/a&gt;'s &lt;a id="BrowseResourcesSamples_ViewResources_ResourcesList__ctl4__ctl0_HyperLinkTitle" href="http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=9804F9C9-54D3-4735-9967-41CF1FD88740"&gt;HyperLink Dependency Report Generator&lt;/a&gt; - I've made some modifications to fit MCMS Manager.&lt;br /&gt;3. Disabled Search - so that if search is not necessary, it can be disabled - will increase the performance of MCMS Manager.&lt;br /&gt;&lt;br /&gt;It can be downloaded from &lt;a href="https://sourceforge.net/project/showfiles.php?group_id=133592&amp;package_id=146706&amp;amp;release_id=361405"&gt;here&lt;/a&gt;. For more information check &lt;a href="http://mcmsmanager.sourceforge.net"&gt;MCMS Manager Site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112853380248024464?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112853380248024464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112853380248024464&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112853380248024464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112853380248024464'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/10/mcms-manager-44.html' title='MCMS Manager 4.4'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112787876895465118</id><published>2005-09-28T11:11:00.000+08:00</published><updated>2007-03-20T16:36:34.887+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='MCMS'/><title type='text'>Using CompareHTML to compare postings</title><content type='html'>CompareHTML is a component which ships with MCMS which can be used to compare two postings. This blog explains how it can be used to compare two postings. It can be extended as needed.&lt;br /&gt;&lt;br /&gt;Add a reference to CompareHTML.dll. Also your class must have reference to System.Net, System.IO, and COMPAREHTMLLib.&lt;br /&gt;&lt;br /&gt;The code piece given below contains the part which can be used to compare two postings. As it is simple and self explanatory, I’m not going to walk through that.&lt;br /&gt;&lt;br /&gt;//Web client is used to get the content from the server&lt;br /&gt;using(WebClient webClient = new WebClient())&lt;br /&gt;{&lt;br /&gt;NetworkCredential networkCredential = new NetworkCredential("username","password","domain");&lt;br /&gt;webClient.Credentials = networkCredential;&lt;br /&gt;string firstPosting = "";&lt;br /&gt;string secondPosting = "";&lt;br /&gt;using(Stream networkStream = webClient.OpenRead("first posting's url"))&lt;br /&gt;{&lt;br /&gt;using(StreamReader streamReader = new StreamReader(networkStream))&lt;br /&gt;{&lt;br /&gt;firstPosting = streamReader.ReadToEnd();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;using(Stream networkStream = webClient.OpenRead("second posting's url"))&lt;br /&gt;{&lt;br /&gt;using(StreamReader streamReader = new StreamReader(networkStream))&lt;br /&gt;{&lt;br /&gt;secondPosting = streamReader.ReadToEnd();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;//This is from CompareHTML.dll, which will compare both the content.&lt;br /&gt;Compare postingCompare = new CompareClass();&lt;br /&gt;string comparedPosting = postingCompare.CompareBuffers(firstPosting,secondPosting,false);&lt;br /&gt;string pathDiffFile = "a place to save the compared html file";&lt;br /&gt;using(StreamWriter streamWriter = new StreamWriter(pathDiffFile))&lt;br /&gt;{&lt;br /&gt;streamWriter.Write(comparedPosting);&lt;br /&gt;}&lt;br /&gt;//This is to open the created html file.&lt;br /&gt;System.Diagnostics.Process.Start(pathDiffFile);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Note : As CompareHTML.dll is not documented, take precautions before using it as it may change at any stage without any notification. Also reverse engineering CompareHTML is a license violation!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112787876895465118?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112787876895465118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112787876895465118&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112787876895465118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112787876895465118'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/09/using-comparehtml-to-compare-postings.html' title='Using CompareHTML to compare postings'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112684897009813709</id><published>2005-09-16T13:04:00.000+08:00</published><updated>2007-03-20T16:36:05.067+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='MCMS'/><title type='text'>MCMS Manager 4.3</title><content type='html'>This version includes&lt;br /&gt;&lt;br /&gt;1. Posting Revert.&lt;br /&gt;2. Resource Replace.&lt;br /&gt;3. Multiple posting Approve, Submit, decline etc...&lt;br /&gt;&lt;br /&gt;Download the newer version of &lt;a href="http://mcmsmanager.sourceforge.net/"&gt;MCMS Manager&lt;/a&gt; from &lt;a href="https://sourceforge.net/project/showfiles.php?group_id=133592&amp;package_id=146706&amp;amp;release_id=356885"&gt;here&lt;/a&gt;. Please post your feedbacks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112684897009813709?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112684897009813709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112684897009813709&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112684897009813709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112684897009813709'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/09/mcms-manager-43.html' title='MCMS Manager 4.3'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112593173449939412</id><published>2005-09-05T22:29:00.000+08:00</published><updated>2005-09-05T22:48:54.506+08:00</updated><title type='text'>MCMS Manager 4.2</title><content type='html'>I've got plenty of feedbacks on ‘slowness’ of the current version of MCMS Manager compared with old ones. So, in this version I’ve used zip-compression to reduce the time taken for response. I hope this will be faster than the old one.&lt;br /&gt;&lt;br /&gt;Also with MCMS Manager 4.2, ‘Local MCMS API’ can be directly accessed by leaving the web service part in the login form blank. This will be surely faster than via web service. Go to &lt;a href="http://mcmsmanager.sourceforge.net/"&gt;MCMS Manager Site&lt;/a&gt; and download the new version. Please post your feedbacks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112593173449939412?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112593173449939412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112593173449939412&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112593173449939412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112593173449939412'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/09/mcms-manager-42.html' title='MCMS Manager 4.2'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112471328843485498</id><published>2005-08-22T20:11:00.000+08:00</published><updated>2005-08-22T20:41:39.336+08:00</updated><title type='text'>MCMS Manager 4.1</title><content type='html'>This version is mainly targeted to improve the performance of the tool. I’m sure - this version will work faster than the previous one. Also this one includes resource search – it can be searched by guid, name, display name, mime type, size, etc. Download &lt;a href="http://mcmsmanager.sourceforge.net"&gt;MCMS Manager&lt;/a&gt; from &lt;a href="https://sourceforge.net/project/showfiles.php?group_id=133592&amp;package_id=146706&amp;amp;release_id=350867"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112471328843485498?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112471328843485498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112471328843485498&amp;isPopup=true' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112471328843485498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112471328843485498'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/08/mcms-manager-41.html' title='MCMS Manager 4.1'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112470652038010006</id><published>2005-08-22T18:10:00.000+08:00</published><updated>2005-08-22T20:39:36.586+08:00</updated><title type='text'>Regular Expression to check Posting or Channel name</title><content type='html'>Few weeks back, &lt;a href="http://blogs.technet.com/stefan_gossner"&gt;Stefan&lt;/a&gt; has posted a &lt;a href="http://blogs.technet.com/stefan_gossner/archive/2005/07/21/408019.aspx"&gt;function&lt;/a&gt; which can be used to validate the name of a posting or channel. I had a similar requirement, but wanted to have it as a single regular expression so that it can be easily used with RegularExpressionValidators.&lt;br /&gt;&lt;br /&gt;Regular expression -&lt;br /&gt;&lt;br /&gt;^(([a-zA-Z0-9 ()_\-]+(\.(?!\.)))*)[^/.]$&lt;br /&gt;&lt;br /&gt;Also it is required to add a RequiredFieldValidator to check blank / whitespaces.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112470652038010006?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112470652038010006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112470652038010006&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112470652038010006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112470652038010006'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/08/regular-expression-to-check-posting-or.html' title='Regular Expression to check Posting or Channel name'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112408095580727547</id><published>2005-08-15T12:32:00.000+08:00</published><updated>2005-09-16T12:50:15.433+08:00</updated><title type='text'>Site Manager and MCMS Manager</title><content type='html'>&lt;p&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;I've listed the features of Site Manager and &lt;a href="http://mcmsmanager.sourceforge.net"&gt;MCMS Manager&lt;/a&gt; - to have a better understanding of MCMS Manager's features. Now MCMS Manager seems to fill most of the gaps between Site Manager and MCMS Sites!&lt;/span&gt;&lt;/p&gt;&lt;table id="table1" width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="46%" height="54"&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;&lt;b&gt;Site Manager&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="53%" height="54"&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;&lt;b&gt;MCMS Manager&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" height="32"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Channels &amp; Posting&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Create, Copy, Delete, Move Channels&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Get the Guid of the Channels / Postings / Template Guid of the Posting&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Copy, Move, Delete Postings&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Search inside a Channel (Search has many features)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Import/Export Channels&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Generate Statistics for Channels&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Import/Export Postings&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Edit Posting / Posting Properties / Custom Properties&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Work with Properties of Channels&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Open the posting in Published / Unpublished / Update mode&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Kill lock on Channel/Postings&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Kill lock on Postings&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Rename Channels&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Submit/ Approve/Decline a Posting&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Clear Revision histories&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Get the posting State&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Preview postings&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt; &lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;Get all the connected postings&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Revert a posting to older version&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" height="33"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Resource Galleries &amp; Resources&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Create, Copy, Delete, Move Resource Galleries&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Get the Guid of the Resource Galleries / Resources&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Copy, Move, Delete Resources&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Preview /Browse Resources&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Import/Export Resource Galleries&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Save the Resources&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Import/Export Resources&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Get the postings which uses a Resource&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;Rename Resource Galleries&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Search in resources &lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;(Search has many features)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;Edit Properties of Resource Galleries&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Replace a resource&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" height="37"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Template Galleries &amp;amp; Templates&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Create, Copy, Delete, Move Template Galleries&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Get the Guid of Template Galleries / Templates&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Copy, Move, Delete Templates&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Preview Templates&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Import/Export Template Galleries&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Get the postings depend on the Template&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Import/Export Templates&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;View the connected Templates&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Rename Template Galleries&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Get the state of Templates&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Edit Properties of Template Galleries&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Submit Templates&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Generate Dependent Report for Templates&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Approve Templates&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" height="42"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;User Groups &amp; User&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Add / Remove / Modify Rights groups&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="46%"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Add / Remove / Modify Users&lt;/span&gt;&lt;/td&gt;&lt;td width="53%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Also MCMS Manager includes few tools. They are,&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;IIS Log Converter, MCMS Log Generator &amp;amp; MCMS Log Viewer&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;MCMS Health Checker&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Incremental Export Script Generator&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Incremental Import Script Generator&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UserGroup Backup-Restore Script Generator&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;NB: MCMS Manager 4.0 and above can be used from remote machines.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112408095580727547?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112408095580727547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112408095580727547&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112408095580727547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112408095580727547'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/08/site-manager-and-mcms-manager.html' title='Site Manager and MCMS Manager'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112381756346981664</id><published>2005-08-12T11:29:00.000+08:00</published><updated>2005-08-12T14:44:53.686+08:00</updated><title type='text'>MCMS Manager 4.0</title><content type='html'>&lt;p&gt;I want to thank everyone for helping me to make it as a stable version. Also I've added Page properties editor with this release. Hope to see more feedback! You can download it from &lt;a href="https://sourceforge.net/project/showfiles.php?group_id=133592&amp;package_id=146706&amp;amp;release_id=348648"&gt;here&lt;/a&gt;. For more information check &lt;a href="http://mcmsmanager.sourceforge.net/"&gt;MCMS Manager&lt;/a&gt; Site.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112381756346981664?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112381756346981664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112381756346981664&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112381756346981664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112381756346981664'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/08/mcms-manager-40.html' title='MCMS Manager 4.0'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112348726006035521</id><published>2005-08-08T15:33:00.000+08:00</published><updated>2005-08-08T16:21:40.986+08:00</updated><title type='text'>MCMS Manager 3.2 (Remote) - beta</title><content type='html'>As I promised, this version of MCMS Manager can be used remotely. It uses a bundle of web services. More information can be found &lt;a href="http://mcmsmanager.sourceforge.net/remote.htm"&gt;here&lt;/a&gt;. Click &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=133592&amp;package_id=160148&amp;amp;release_id=347664"&gt;here&lt;/a&gt; to download.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112348726006035521?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112348726006035521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112348726006035521&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112348726006035521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112348726006035521'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/08/mcms-manager-32-remote-beta.html' title='MCMS Manager 3.2 (Remote) - beta'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112227226514704567</id><published>2005-07-25T13:55:00.000+08:00</published><updated>2005-07-25T20:49:21.636+08:00</updated><title type='text'>MCMS Performance - Best Practices</title><content type='html'>&lt;table id="table1" width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Hardware&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;p class="Text"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;To avoid competition for resources among applications, it is important that you keep MCMS on dedicated servers. Instances of SQL Server should be installed on their own computers as well. This will avoid the applications and services competing for CPU and memory.&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Memory&lt;/span&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;Sufficient memory to store the working set of pages in output or fragment cache.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;Speed up the page assembly - ensure that there is sufficient memory available for the node cache.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;Processor capacity&lt;/span&gt;&lt;/span&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Ensure that enough CPU capacity available to efficiently assemble pages using data from node cache, disk cache, and the MSQL database.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Network&lt;/span&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Ensure that the Web server is placed on the same switch as the database servers to minimize network latency. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Caching&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ASP.NET Output Cache&lt;/span&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Output caching increases performance so dramatically, all MCMS sites using ASP.NET should make use of this cache where appropriate. This is managed by .NET framework.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Fragment Cache&lt;/span&gt; &lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;This is similar to Output cache, but managed by MCMS. Fragment caching is used only with "guest" content. Fragment caching user-specific content requires a great deal of care to ensure that sensitive information is not accidentally revealed. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;This only exists for ASP based templates&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;MCMS Node Cache&lt;/span&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;Node cache plays a central role in page assembly - increasing the amount of memory available to it is an important part of improving MCMS performance.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;To set the node cache depending on your site check &lt;a href="http://support.microsoft.com/default.aspx?id=318976" target="_blank"&gt;set the node cache size based on site size&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Disk Cache&lt;/span&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;You should increase the size of the disk cache so that it can contain most, if not all, of your MCMS managed resources.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;To know more about Caching read &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_MCMS2002_bk/html/CMSCh22EnhancingPerfCaching.asp" target="_blank"&gt;Enhancing Performance with Caching&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Navigation&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Render only what is necessary.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;Make the site-level navigation as generic as possible.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Use output caching when ever possible.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Authentication&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The sites require authentication perform 15% (for basic templates it's around 30%) slower than those require no authentication - remove the&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt; authorization module if no authentication is required - this will increase the performance of the site be 10%.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Resource Management&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;p class="Text"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Make resources as minimum as possible to increase the performance of the site. Resources such as images, sound clips, and video clips can have a large impact on your Web site's performance. As a general rule, you should avoid using large resources. Compress resources whenever possible. For example, for pictures, use .jpg images instead of .bmp images. Also, unmanaged resources are not part of MCMS, you can achieve performance improvements by using them. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Content Updates&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The affected nodes will be invalidated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;If you are using the AddValidationCallbackAllCmsContent method then it will flush the output caching.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;So it's better to make batch content updates as much as possible.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Background Processing&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;p class="Text"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Database performance will decline during background processing. Therefore, as a general rule you should schedule background processing for non-peak times to reduce the chance that it will affect your site performance. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Managing IIS&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;On a read-only site, remove HTML packager ISAPI filter.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;SQL Server&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;For optimal performance, the databases should be separated from their transaction logs on different physical drives to prevent resource conflicts. For more information about SQL Server performance tuning, go to &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=9512" target="_blank"&gt;Optimizing Database Performance&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Design time Performance&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;MCMS can handle a reasonably large number of authors (25 to 100), each updating a small number of postings (around 10) per day. However, the performance of MCMS will suffer under a high load of concurrent update operations where the interval between updates is small.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;MCMS performance will suffer when a live source is coupled with authored content updates.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;Placeholders&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;Limit the number of placeholders on a template to fewer than 100. For best performance, consider limiting the number of placeholders to 30.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;Limit the line of content to less than 1000. It is better to have less than 100 to have high performance.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Container Hierarchy&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="BulletedList1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Limit the number of containers under the root node. (For example, channels should not have more than 10 to 15 immediate child containers). This won't affect the MCMS performance significantly. But, it will affect the performance of non-MCMS content on the same server.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="BulletedList1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Limit the items in a container to fewer than 300. You can do this by distributing items over multiple containers, to ensure that the number of items in each container does not exceed 300.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Custom Property Searches&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;p class="Text"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Design such that, the total number of posting searched using custom property is less than 5000. It is better to have lesser that 500.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="186"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Site Partitioning&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;Very large MCMS sites that contain many postings (which has more than 20,000 postings) should consider whether it is possible to partition the site into a series of smaller sites to get optimum performance.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;This is a summary from &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/CMS2002_GB/htm/mcms2002_perf_deploy_abstract_msdn_xugb.asp" target="_blank"&gt;Performance Planning and Deployment with Content Management Server 2002&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Also &lt;a href="http://blogs.technet.com/stefan_gossner" target="_blank"&gt;Stefan&lt;/a&gt; has posted two less known performance issues caused by in-proper use of publishing API in his &lt;a href="http://blogs.technet.com/stefan_gossner/archive/2005/07/25/408178.aspx" target="_blank"&gt;article&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112227226514704567?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112227226514704567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112227226514704567&amp;isPopup=true' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112227226514704567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112227226514704567'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/07/mcms-performance-best-practices.html' title='MCMS Performance - Best Practices'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112175957766934618</id><published>2005-07-19T15:04:00.000+08:00</published><updated>2005-07-19T20:32:41.343+08:00</updated><title type='text'>MCMS Manager 3.1</title><content type='html'>&lt;p&gt;All the tools are separated from MCMS Manager. This version includes - &lt;/p&gt;&lt;p&gt;1. Tools Add in Manager.&lt;br /&gt;2. Reports exporter.&lt;br /&gt;3. MCMS Health Checker.&lt;br /&gt;&lt;br /&gt;Also, when minimized - it will stay in System tray - no need to close and open. Download MCMS Manager (and other tools) from &lt;a href="http://mcmsmanager.sourceforge.net/"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112175957766934618?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112175957766934618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112175957766934618&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112175957766934618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112175957766934618'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/07/mcms-manager-31.html' title='MCMS Manager 3.1'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112139967245321108</id><published>2005-07-15T11:44:00.000+08:00</published><updated>2005-07-15T17:28:04.116+08:00</updated><title type='text'>Rights Check via Publishing API</title><content type='html'>&lt;p&gt;&lt;span style="font-family:Verdana;color:#000000;"&gt;&lt;b&gt;CmsContext&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The rights check given below on CmsContext are side-wide checks. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;This doesn't depend on PublishingMode.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;table id="table1" width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="80" height="16"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Property&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="540" height="16"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;User roles - who have rights on site&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="80" height="16"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UserCanApprove&lt;/span&gt;&lt;/td&gt;&lt;td width="540" height="16"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, Moderator, or Editor&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="80" height="16"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UserCanAuthor&lt;/span&gt;&lt;/td&gt;&lt;td width="540" height="16"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, Moderator, Editor, or Author&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="80" height="16"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UserCanEditResources&lt;/span&gt;&lt;/td&gt;&lt;td width="540" height="16"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, or Resource Manager&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="80" height="20"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UserCanEditTemplates&lt;/span&gt;&lt;/td&gt;&lt;td width="540" height="20"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="80" height="32"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UserCanModifySite&lt;/span&gt;&lt;/td&gt;&lt;td width="540" height="32"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, Resource Manager, Moderator, Editor, or Author&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;b&gt;Channel&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The checks given below are done on the appropriate channels. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Channels can be only modified in Update mode.&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;table id="table1" width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="278"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;Property&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="592"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;Additional Checks&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="451"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;User roles - who have rights on channel&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="278"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanCreateChannels&lt;/span&gt;&lt;/td&gt;&lt;td width="592"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="451"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="278"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanCreatePostings&lt;/span&gt;&lt;/td&gt;&lt;td width="592"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="451"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, Moderator, Editor, or Author&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="278"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanDelete&lt;/span&gt;&lt;/td&gt;&lt;td width="592"&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Channel must be empty&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The root channel cannot be deleted by anyone&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/td&gt;&lt;td width="451"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="278"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanSetProperties&lt;/span&gt;&lt;/td&gt;&lt;td width="592"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="451"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;b&gt;&lt;br /&gt;Posting&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The checks given below are done on those postings. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Postings can be only modified in Update mode.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;table width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="16%" height="21"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;Property&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="18%" height="21"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;Rights on Channel&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="32%" height="21"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;PostingState&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="34%" height="21"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;User roles - who have rights on posting&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="16%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanMove&lt;/span&gt;&lt;/td&gt;&lt;td width="18%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="32%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Approved, EditorDeclined, Expired, ModeratorDeclined, New, None, Published, Saved, WaitingForEditorApproval, WaitingForModeratorApproval&lt;/span&gt;&lt;/td&gt;&lt;td width="34%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, Moderator, Editor or Author if it is not OwnedBy another user&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="16%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanSubmit&lt;/span&gt;&lt;/td&gt;&lt;td width="18%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="32%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;New , Saved , Editor Declined , or Moderator Declined&lt;/span&gt;&lt;/td&gt;&lt;td width="34%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, Editor or Author if it is not OwnedBy another user&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="16%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanDelete&lt;/span&gt;&lt;/td&gt;&lt;td width="18%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="32%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Approved, EditorDeclined, Expired, ModeratorDeclined, New, None, Published, Saved, WaitingForEditorApproval, WaitingForModeratorApproval&lt;/span&gt;&lt;/td&gt;&lt;td width="34%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel manager, Template Designer, Moderator, Editor, or Author if it is not OwnedBy another user&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="16%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanSetProperties&lt;/span&gt;&lt;/td&gt;&lt;td width="18%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="32%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Approved, EditorDeclined, Expired, ModeratorDeclined, New, None, Published, Saved, WaitingForEditorApproval, WaitingForModeratorApproval&lt;/span&gt;&lt;/td&gt;&lt;td width="34%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, Moderator, Editor, or Author if it is not OwnedBy another user&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="16%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanApprove&lt;/span&gt;&lt;/td&gt;&lt;td width="18%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Only Editor Rights&lt;/span&gt;&lt;/td&gt;&lt;td width="32%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;New, Saved, EditorDeclined or WaitingForEditorApproval&lt;/span&gt;&lt;/td&gt;&lt;td width="34%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, Editor&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="16%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanApprove&lt;/span&gt;&lt;/td&gt;&lt;td width="18%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Editor and Moderator Rights&lt;/span&gt;&lt;/td&gt;&lt;td width="32%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ModeratorDeclined or WaitingForModeratorApproval&lt;/span&gt;&lt;/td&gt;&lt;td width="34%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, or Moderator &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="16%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanApprove&lt;/span&gt;&lt;/td&gt;&lt;td width="18%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Only Moderator Rights&lt;/span&gt;&lt;/td&gt;&lt;td width="32%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;New, Saved&lt;/span&gt;&lt;/td&gt;&lt;td width="34%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, or Moderator &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="16%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanApprove&lt;/span&gt;&lt;/td&gt;&lt;td width="18%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;No Moderator or Editor Rights&lt;/span&gt;&lt;/td&gt;&lt;td width="32%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;New, Saved, EditorDeclined, WaitingForEditorApproval, WaitingForModeratorApproval or ModeratorDeclined&lt;/span&gt;&lt;/td&gt;&lt;td width="34%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;b&gt;TemplateGallery&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The checks given below are done on the appropriate template galleries. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Template Galleries can be only modified in Update mode.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;table id="table2" width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="251"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;Property&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="672"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;Additional Checks&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="398"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;User roles - who have rights on templategallery&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="251"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanCreateTemplateGalleries&lt;/span&gt;&lt;/td&gt;&lt;td width="672"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="398"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="251"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanCreateTemplates&lt;/span&gt;&lt;/td&gt;&lt;td width="672"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="398"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="251"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanDelete&lt;/span&gt;&lt;/td&gt;&lt;td width="672"&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;TemplateGallery must be empty&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The root TemplateGallery cannot be deleted by anyone&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/td&gt;&lt;td width="398"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="251"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanMove&lt;/span&gt;&lt;/td&gt;&lt;td width="672"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="398"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="251"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanSetProperties&lt;/span&gt;&lt;/td&gt;&lt;td width="672"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="398"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;b&gt;&lt;br /&gt;Template&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The checks given below are done on those templates. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Templates can be only modified in Update mode.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;table width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="10%" height="21"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;Property&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="24%" height="21"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;TemplateState&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="41%" height="21"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;User roles - who have rights on template&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="10%" height="34"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanMove&lt;/span&gt;&lt;/td&gt;&lt;td width="24%" height="34"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="41%" height="34"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer if it is not OwnedBy another user&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="10%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanSubmit&lt;/span&gt;&lt;/td&gt;&lt;td width="24%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;New, NewShared, Saved or SavedShared&lt;/span&gt;&lt;/td&gt;&lt;td width="41%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer if it is not OwnedBy another user&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="10%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanDelete&lt;/span&gt;&lt;/td&gt;&lt;td width="24%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="41%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer if it is not OwnedBy another user&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="10%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanUseForAuthoring&lt;/span&gt;&lt;/td&gt;&lt;td width="24%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="41%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, Moderator, Editor, or Author &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="10%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanSetProperties&lt;/span&gt;&lt;/td&gt;&lt;td width="24%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="41%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer if it is not OwnedBy another user&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;b&gt;ResourceGallery&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The checks given below are done on the appropriate resource galleries. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Resource Galleries can be only modified in Update mode.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;table id="table3" width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="251"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;Property&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="425"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;Additional Checks&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="288"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;User roles - who have rights on resourcegallery&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="251"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanCreateResources&lt;/span&gt;&lt;/td&gt;&lt;td width="425"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="288"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, or Resource Manager&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="251"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanDelete&lt;/span&gt;&lt;/td&gt;&lt;td width="425"&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ResourceGallery must be empty&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The root ResourceGallery cannot be deleted by anyone&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/td&gt;&lt;td width="288"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="251" height="20"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanSetProperties&lt;/span&gt;&lt;/td&gt;&lt;td width="425" height="20"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="288" height="20"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, or Template Designer&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;b&gt;&lt;br /&gt;Resource&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The checks given below are done on those resources. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Resources can be only modified in Update mode.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;table height="114" width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="24%" height="21"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;Property&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="75%" height="21"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;User roles - who have rights on resource&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="24%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanSetContent&lt;/span&gt;&lt;/td&gt;&lt;td width="75%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, or Resource Manager&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="24%" height="20"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanDelete&lt;/span&gt;&lt;/td&gt;&lt;td width="75%" height="20"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, or Resource Manager&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="24%" height="20"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanUseForAuthoring&lt;/span&gt;&lt;/td&gt;&lt;td width="75%" height="20"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, Moderator, Editor, or Author &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="24%" height="20"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CanSetProperties&lt;/span&gt;&lt;/td&gt;&lt;td width="75%" height="20"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Administrator, Channel Manager, Template Designer, or Resource Manager&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112139967245321108?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112139967245321108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112139967245321108&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112139967245321108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112139967245321108'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/07/rights-check-via-publishing-api.html' title='Rights Check via Publishing API'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112105828402079203</id><published>2005-07-11T13:00:00.000+08:00</published><updated>2005-07-11T13:36:13.863+08:00</updated><title type='text'>Connected Posting State Change by Approval and Submission</title><content type='html'>&lt;p&gt;Connected postings are related with underlying 'Posting' objects and 'Page' objects. As I've stated in my previous post all the connected posting will have the same page objects. FollowGuids will be used to refer page objects with postings (to understand more check &lt;a style="COLOR: #58a; TEXT-DECORATION: none" href="http://chestermr.blogspot.com/2005/05/posting-posting-channel-relationship.html"&gt;Posting - Posting - Channel Relationship&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;When creating a new connected posting, a new posting will be created with same page objects - which other connected postings are using. All the connected postings, they will have their own posting objects, but will use the same page object. &lt;span style="color:#0000ff;"&gt;So any modification to page object will move all the connected postings to the appropriate state where if a posting object is modified, it will move only that connected posting to the appropriate state&lt;/span&gt; (to know what are bounded with page object and posting object check &lt;a style="COLOR: #58a; TEXT-DECORATION: none" href="http://chestermr.blogspot.com/2005/06/posting-state-change-by-approval.html"&gt;Posting State Change by Approval&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;The state changes of postings can be found in my previous posts,&lt;/p&gt;&lt;p&gt;1. &lt;a style="COLOR: #58a; TEXT-DECORATION: none" href="http://chestermr.blogspot.com/2005/06/posting-state-change-by-approval.html"&gt;Posting State Change by Approval&lt;/a&gt;&lt;br /&gt;2. &lt;a style="COLOR: #58a; TEXT-DECORATION: none" href="http://chestermr.blogspot.com/2005/06/posting-state-change-by-submission.html"&gt;Posting State Change by Submission&lt;/a&gt;&lt;/p&gt;&lt;p&gt;and it will be same for connected postings as well. The only difference is that when a modification - state change is done to one connected posting, if it is a modification on page object - that will get reflected in all the connected postings as it has only one copy of page object whereas if the modification is on posting object then it will only affect that connected posting as all the connected posting has their own posting objects.&lt;br /&gt;&lt;br /&gt;PS: Don't get confused with Posting , Posting object and Page object. Posting is used over the API and other two are underlying objects which will makeup the overall posting (Posting = Posting object + Page object).&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112105828402079203?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112105828402079203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112105828402079203&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112105828402079203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112105828402079203'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/07/connected-posting-state-change-by.html' title='Connected Posting State Change by Approval and Submission'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112062799351197127</id><published>2005-07-06T13:26:00.000+08:00</published><updated>2005-07-06T14:20:42.873+08:00</updated><title type='text'>MCMS Manager 3.0</title><content type='html'>&lt;p&gt;New version includes tools to reduce the time spend on creation of script files for Export/Import. &lt;/p&gt;&lt;p&gt;1. Incremental Export Script Generator.&lt;br /&gt;2. Incremental Import Script Generator.&lt;br /&gt;3. Cms User Group Backup/Restore Script Generator. &lt;/p&gt;&lt;p&gt;These tools support saving the settings as xml files. So if you require modified version of the script in future, you can just load and modify (using the provided gui) the xml file and generate required script without much difficulty!&lt;/p&gt;&lt;p&gt;Goto &lt;a href="http://mcmsmanager.sourceforge.net"&gt;MCMS Manager&lt;/a&gt; Site.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112062799351197127?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112062799351197127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112062799351197127&amp;isPopup=true' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112062799351197127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112062799351197127'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/07/mcms-manager-30.html' title='MCMS Manager 3.0'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112001484853817728</id><published>2005-06-29T11:01:00.000+08:00</published><updated>2005-06-29T11:49:24.780+08:00</updated><title type='text'>MCMS Manager 2.2</title><content type='html'>This release includes,&lt;br /&gt;&lt;br /&gt;1. Rich Html Editor (Uses &lt;a href="mailto:carlnolan@pavonis.co.uk"&gt;Carl Norton&lt;/a&gt;'s &lt;a href="http://windowsforms.net/downloads/gdn/htmleditorV1.zip" target="_blank"&gt;Html Editor Control&lt;/a&gt;).&lt;br /&gt;2. More Features in Search.&lt;br /&gt;3. Updated Resource Dependency Finder.&lt;br /&gt;&lt;br /&gt;Now MCMS Manager can be downloaded from &lt;a href="Http://sourceforge.net" target="_blank"&gt;SourceForge&lt;/a&gt; - &lt;a href="http://MCMSManager.Sourceforge.net" target="_blank"&gt;MCMS Manager&lt;/a&gt; Site.&lt;br /&gt;Please post your feedbacks.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112001484853817728?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112001484853817728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112001484853817728&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112001484853817728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112001484853817728'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/06/mcms-manager-22.html' title='MCMS Manager 2.2'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-112001403311342065</id><published>2005-06-29T10:46:00.000+08:00</published><updated>2005-08-15T14:42:32.443+08:00</updated><title type='text'>Stefan's Article Series on 'ASP.NET 2.0 and MCMS'</title><content type='html'>This collection of articles explain some new features which MCMS will gain from ASP.NET 2.0. Even though ASP.NET 2.0 is not supported in the current version of MCMS (MCMS 2002 Service Pack 2 will support ASP.NET 2.0), Stefan plays around with ASP.NET 2.0 and the current version of MCMS with some limitations. Check these articles, they are way cool!&lt;br /&gt;&lt;br /&gt;&lt;a id="_ctl0__ctl0__ctl0__ctl0_RecentPosts__ctl0_postlist__ctl0_EntryItems__ctl4_PostTitle" href="http://blogs.technet.com/stefan_gossner/archive/2005/06/26/406874.aspx"&gt;ASP.NET 2.0 and MCMS - a first look&lt;/a&gt;&lt;br /&gt;&lt;a id="_ctl0__ctl0__ctl0__ctl0_RecentPosts__ctl0_postlist__ctl0_EntryItems__ctl3_PostTitle" href="http://blogs.technet.com/stefan_gossner/archive/2005/06/28/406918.aspx"&gt;ASP.NET 2.0 and MCMS - The easy way to site navigation&lt;/a&gt; &amp;amp; &lt;a href="http://blogs.technet.com/stefan_gossner/archive/2005/07/12/407579.aspx"&gt;glitches with navigation controls when switching between modes&lt;/a&gt;&lt;br /&gt;&lt;a id="_ctl0__ctl0__ctl0__ctl0_RecentPosts__ctl0_postlist__ctl0_EntryItems__ctl2_PostTitle" href="http://blogs.technet.com/stefan_gossner/archive/2005/06/28/406933.aspx"&gt;ASP.NET 2.0 and MCMS - Try it out now!&lt;/a&gt;&lt;br /&gt;&lt;a id="_ctl0__ctl0__ctl0__ctl0_RecentPosts__ctl0_postlist__ctl0_EntryItems__ctl1_PostTitle" href="http://blogs.technet.com/stefan_gossner/archive/2005/06/28/406934.aspx"&gt;ASP.NET 2.0 and MCMS - Master Pages&lt;/a&gt;&lt;br /&gt;&lt;a id="_ctl0__ctl0__ctl0__ctl0_RecentPosts__ctl0_postlist__ctl0_EntryItems__ctl0_PostTitle" href="http://blogs.technet.com/stefan_gossner/archive/2005/06/28/406965.aspx"&gt;ASP.NET 2.0 and MCMS - Web Parts&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/stefan_gossner/archive/2005/07/13/407655.aspx"&gt;ASP.NET 2.0 and MCMS - glitches with themes&lt;/a&gt;&lt;br /&gt;&lt;a id="_ctl0__ctl0__ctl0__ctl0_RecentPosts__ctl0_postlist__ctl0_EntryItems__ctl10_PostTitle" href="http://blogs.technet.com/stefan_gossner/archive/2005/07/29/408373.aspx"&gt;ASP.NET 2.0 and MCMS - Try it out - Now even in Authoring Mode!&lt;/a&gt;&lt;br /&gt;&lt;a id="_ctl0__ctl0__ctl0__ctl0_RecentPosts__ctl0_postlist__ctl0_EntryItems__ctl5_PostTitle" href="http://blogs.technet.com/stefan_gossner/archive/2005/08/03/408588.aspx"&gt;ASP.NET 2.0 and MCMS - creating a custom membership provider for MCMS&lt;/a&gt;&lt;br /&gt;&lt;a id="_ctl0__ctl0__ctl0__ctl0_RecentPosts__ctl0_postlist__ctl0_EntryItems__ctl4_PostTitle" href="http://blogs.technet.com/stefan_gossner/archive/2005/08/04/408671.aspx"&gt;ASP.NET 2.0 and MCMS - implementing page summary controls using a custom SiteMapProvider and a TreeView control&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-112001403311342065?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/112001403311342065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=112001403311342065&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112001403311342065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/112001403311342065'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/06/stefans-article-series-on-aspnet-20.html' title='Stefan&apos;s Article Series on &apos;ASP.NET 2.0 and MCMS&apos;'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111986239603024906</id><published>2005-06-27T16:17:00.000+08:00</published><updated>2005-06-29T11:46:22.370+08:00</updated><title type='text'>MCMS Resource Stream</title><content type='html'>&lt;span style="color:#000000;"&gt;At some point of time, we may need to access MCMS resource through code. Getting the stream of the resource may be very much useful, if we are trying to manipulate an image resource to do some trick with .NET.&lt;br /&gt;&lt;br /&gt;Before analyzing how to get the resource, it is a must to understand MCMS Resources first. MCMS Resources can be divided into two categories depending on how they are added to the system / used by the system. &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;The first type is commonly referred as 'Resources' in MCMS. They are added to the system through Site Manager / Web Author / MCMS API as resource into the system and with posting these resources can be referred. These resources are named as Shared Resources / Resources. They can be accessed using MCMS API. &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;The other type of resource come in when adding a local resource with a posting / using MCMS API (CmsContext.AcceptBinaryFile) - a local resource can be added to the system, which can be only referred by that posting / using the URL. It is not possible to access this type of resources through MCMS API. These types of resources are called as Local Resources / Internal Resources. &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;URL - Shared Resource - "/NR/rdonlyres/GUID of the Resource/an integer/Name of the Resource.File Type"&lt;br /&gt;URL - Internal Resource - "/NR/rdonlyres/GUID of the Positng/BlobId/Name of the Resource.File Type"&lt;br /&gt;&lt;br /&gt;So accessing a Shared Resource is simple as accessing a posting. By using the Publishing API, it is possible to get the resource. As we have the GUID of the resource, we can use that to get the resource.&lt;br /&gt;&lt;br /&gt;Code:&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;//Here GUID is the guid of the Shared Resource&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Resource r = CmsContext.GetByGuid("{"+GUID+"}") as Resource; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Stream stream = r.OpenStream;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;But, as internal resources are related with postings (the GUID which relates with internal resource is the Guid of the posting, not the resource - they don't have public Guids) and not publicly available through MCMS API it is not straight forward as Shared Resource to access them. So we may need to use some other common method to access internal resources.&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;(Don't forget to add references to System.IO and System.Net) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;WebClient webClient=new WebClient();&lt;br /&gt;NetworkCredential networkCredential = new NetworkCredential("username", "password","domain");&lt;br /&gt;webClient.Credentials = networkCredential;&lt;br /&gt;Stream outputStream = webClient.OpenRead("URL of the resource");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111986239603024906?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111986239603024906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111986239603024906&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111986239603024906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111986239603024906'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/06/mcms-resource-stream.html' title='MCMS Resource Stream'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111907209291568848</id><published>2005-06-18T12:35:00.000+08:00</published><updated>2005-06-20T12:51:58.910+08:00</updated><title type='text'>Posting State Change by Submission</title><content type='html'>&lt;p&gt;&lt;table id="table1" width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="141"&gt;&lt;span style="font-family:Verdana;"&gt;Rights on Channel (Posting)&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="306"&gt;&lt;span style="font-family:Verdana;"&gt;Current User's Rights on posting&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="221"&gt;&lt;span style="font-family:Verdana;"&gt;Current State of the Posting (PostingState)&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="199"&gt;&lt;span style="font-family:Verdana;"&gt;After Submission (PostingState)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="141"&gt;&lt;span style="font-family:Verdana;"&gt;Editor and Moderator&lt;/span&gt;&lt;/td&gt;&lt;td width="306"&gt;&lt;span style="font-family:Verdana;"&gt;Author, Editor, Moderator, Template Designer, Channel Manager, or Administrator&lt;/span&gt;&lt;/td&gt;&lt;td width="221"&gt;&lt;span style="font-family:Verdana;"&gt;New, Saved, or EditorDeclined&lt;/span&gt;&lt;/td&gt;&lt;td width="199"&gt;&lt;span style="font-family:Verdana;"&gt;Waiting for Editor Approval&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="141"&gt;&lt;span style="font-family:Verdana;"&gt;Editor and Moderator&lt;/span&gt;&lt;/td&gt;&lt;td width="306"&gt;&lt;span style="font-family:Verdana;"&gt;Author, Editor, Moderator, Template Designer, Channel Manager, or Administrator&lt;/span&gt;&lt;/td&gt;&lt;td width="221"&gt;&lt;span style="font-family:Verdana;"&gt;ModeratorDeclined&lt;/span&gt;&lt;/td&gt;&lt;td width="199"&gt;&lt;span style="font-family:Verdana;"&gt;Waiting for Moderator Approval&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="141"&gt;&lt;span style="font-family:Verdana;"&gt;Only Editor&lt;/span&gt;&lt;/td&gt;&lt;td width="306"&gt;&lt;span style="font-family:Verdana;"&gt;Author, Editor, Template Designer, Channel Manager, or Administrator&lt;/span&gt;&lt;/td&gt;&lt;td width="221"&gt;&lt;span style="font-family:Verdana;"&gt;New, Saved, or EditorDeclined&lt;/span&gt;&lt;/td&gt;&lt;td width="199"&gt;&lt;span style="font-family:Verdana;"&gt;Waiting for Editor Approval&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="141"&gt;&lt;span style="font-family:Verdana;"&gt;Only Moderator&lt;/span&gt;&lt;/td&gt;&lt;td width="306"&gt;&lt;span style="font-family:Verdana;"&gt;Author, Moderator, Template Designer, Channel Manager, or Administrator&lt;/span&gt;&lt;/td&gt;&lt;td width="221"&gt;&lt;span style="font-family:Verdana;"&gt;New, Saved, or &lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;ModeratorDeclined&lt;/span&gt;&lt;/td&gt;&lt;td width="199"&gt;&lt;span style="font-family:Verdana;"&gt;Waiting for Moderator Approval&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="141"&gt;&lt;span style="font-family:Verdana;"&gt;No Editor or Moderator&lt;/span&gt;&lt;/td&gt;&lt;td width="306"&gt;&lt;span style="font-family:Verdana;"&gt;Author, Template Designer, Channel Manager, or Administrator&lt;/span&gt;&lt;/td&gt;&lt;td width="221"&gt;&lt;span style="font-family:Verdana;"&gt;New, or Saved&lt;/span&gt;&lt;/td&gt;&lt;td width="199"&gt;&lt;span style="font-family:Verdana;"&gt;Approved, Published, or Expired&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Notes :&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;1. A posting can be approved without submission, if that person has appropriate rights.&lt;br /&gt;&lt;br /&gt;2. Authors can only submit a posting if it is not owned by any other person. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;This is a summary from MCMS 2002 SP1a SDK.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111907209291568848?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111907209291568848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111907209291568848&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111907209291568848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111907209291568848'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/06/posting-state-change-by-submission.html' title='Posting State Change by Submission'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111898842741223062</id><published>2005-06-17T14:01:00.000+08:00</published><updated>2005-06-17T19:52:34.700+08:00</updated><title type='text'>Posting State Change by Approval</title><content type='html'>&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;table id="table1" width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="129"&gt;&lt;span style="font-family:verdana;"&gt;Rights on Channel (Posting)&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="170"&gt;&lt;span style="font-family:verdana;"&gt;Current User's Rights on posting&lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="209"&gt;&lt;span style="font-family:verdana;"&gt;Current State of the Posting (PostingState) &lt;/span&gt;&lt;/td&gt;&lt;td align="middle" width="220"&gt;&lt;span style="font-family:verdana;"&gt;After Approval (PostingState)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="129"&gt;&lt;span style="font-family:verdana;"&gt;Only Editor&lt;/span&gt;&lt;/td&gt;&lt;td width="170"&gt;&lt;span style="font-family:verdana;"&gt;Administrator, Editor, Template Designer, or Channel Manager&lt;/span&gt;&lt;/td&gt;&lt;td width="209"&gt;&lt;span style="font-family:verdana;"&gt;New, Saved, EditorDeclined or WaitingForEditorApproval&lt;/span&gt;&lt;/td&gt;&lt;td width="220"&gt;&lt;span style="font-family:verdana;"&gt;Approved, Published, or Expired &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="129"&gt;&lt;span style="font-family:verdana;"&gt;Editor and Moderator&lt;/span&gt;&lt;/td&gt;&lt;td width="170"&gt;&lt;span style="font-family:verdana;"&gt;Editor&lt;/span&gt;&lt;/td&gt;&lt;td width="209"&gt;&lt;span style="font-family:verdana;"&gt;New, Saved, EditorDeclined or WaitingForEditorApproval&lt;/span&gt;&lt;/td&gt;&lt;td width="220"&gt;&lt;span style="font-family:verdana;"&gt;Waiting for Moderator Approval&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="129"&gt;&lt;span style="font-family:verdana;"&gt;Editor and Moderator&lt;/span&gt;&lt;/td&gt;&lt;td width="170"&gt;&lt;span style="font-family:verdana;"&gt;Administrator, Template Designer, or Channel Manager&lt;/span&gt;&lt;/td&gt;&lt;td width="209"&gt;&lt;span style="font-family:verdana;"&gt;New, Saved, EditorDeclined or WaitingForEditorApproval&lt;/span&gt;&lt;/td&gt;&lt;td width="220"&gt;&lt;span style="font-family:verdana;"&gt;Approved, Published, or Expired &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="129"&gt;&lt;span style="font-family:verdana;"&gt;Editor and Moderator&lt;/span&gt;&lt;/td&gt;&lt;td width="170"&gt;&lt;span style="font-family:verdana;"&gt;Administrator, Moderator, Template Designer, or Channel Manager&lt;/span&gt;&lt;/td&gt;&lt;td width="209"&gt;&lt;span style="font-family:verdana;"&gt;ModeratorDeclined or WaitingForModeratorApproval&lt;/span&gt;&lt;/td&gt;&lt;td width="220"&gt;&lt;span style="font-family:verdana;"&gt;Approved, Published, or Expired &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="129"&gt;&lt;span style="font-family:verdana;"&gt;Only Moderator&lt;/span&gt;&lt;/td&gt;&lt;td width="170"&gt;&lt;span style="font-family:verdana;"&gt;Administrator, Moderator, Template Designer, or Channel Manager&lt;/span&gt;&lt;/td&gt;&lt;td width="209"&gt;&lt;span style="font-family:verdana;"&gt;New, Saved, ModeratorDeclined or WaitingForModeratorApproval&lt;/span&gt;&lt;/td&gt;&lt;td width="220"&gt;&lt;span style="font-family:verdana;"&gt;Approved, Published, or Expired &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="129"&gt;&lt;span style="font-family:verdana;"&gt;No Moderator or Editor&lt;/span&gt;&lt;/td&gt;&lt;td width="170"&gt;&lt;span style="font-family:verdana;"&gt;Administrator, Template Designer, or Channel Manager &lt;/span&gt;&lt;/td&gt;&lt;td width="209"&gt;&lt;span style="font-family:verdana;"&gt;New or Saved&lt;/span&gt;&lt;/td&gt;&lt;td width="220"&gt;&lt;span style="font-family:verdana;"&gt;Approved, Published, or Expired&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Notes :&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;1. Posting object in MCMS API is actually a Combination of underlying Page object and Posting object. Properties such as StartDate, ExpiryDate, and IsImportant belong to underlying posting object, while Description and Name are properties of the underlying page object (Also placeholders and custom properties are bounded to page objects). When an editor approves a posting, they are actually approving the page the posting is based on. When a moderator subsequently approves the posting, they approve the posting itself.&lt;br /&gt;&lt;br /&gt;2. Modification to posting object require Moderator Approval.&lt;br /&gt;&lt;br /&gt;3. Only page object have revisions, not posting objects. So a modification to posting object if the posting is published will make the posting offline until it gets approved by a moderator.&lt;br /&gt;&lt;br /&gt;4. A page object modification will require Editor Approval.&lt;br /&gt;&lt;br /&gt;5. As page objects can have revisions when it gets modified, the live posting will be still there until the modified one gets proper approval.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;This is a summary from MCMS 2002 SP1a SDK.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111898842741223062?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111898842741223062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111898842741223062&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111898842741223062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111898842741223062'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/06/posting-state-change-by-approval.html' title='Posting State Change by Approval'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111790901229047879</id><published>2005-06-05T02:11:00.000+08:00</published><updated>2005-06-15T20:45:49.230+08:00</updated><title type='text'>Validatable Controls and Validators</title><content type='html'>Everyone knows that MCMS controls can't be validated with normal ASP.NET validators. I always had the feeling that common MCMS placeholder controls were not made for validation by default.&lt;br /&gt;&lt;br /&gt;Controls, which are to be validated, are bounded with validator controls using their ControlToValidate property. In a web form, if we have a validatable control and a validator, ControlToValidate property (dropdown) of the validator lists all the controls, which can be validated. But the placeholder controls that I've seen up to now are not showed up in the dropdown of the validators.&lt;br /&gt;&lt;br /&gt;Normally validators pick the controls which can be validated by them using an attribute -&lt;br /&gt;ValidationPropertyAttribute - ValidationProperty. But normally the placeholder control doesn't have this attribute defined with them - they are not listed in the dropdown of validators - ControlToValidate property.&lt;br /&gt;&lt;br /&gt;So if we are designing a custom placeholder control and if we like it to be a validatable control (I always like) then we must have ValidationProperty attribute defined with the class definition.&lt;br /&gt;&lt;br /&gt;e.g. If we are creating a placeholder control from BasePlaceholder control, and the property of the control which we want to validate is Html then the class declaration must be&lt;br /&gt;&lt;br /&gt;[ValidationProperty("Html")]&lt;br /&gt;public class HtmlValidattableControl : BasePlaceholderControl&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111790901229047879?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111790901229047879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111790901229047879&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111790901229047879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111790901229047879'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/06/validatable-controls-and-validators.html' title='Validatable Controls and Validators'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111738510843915003</id><published>2005-05-30T00:30:00.000+08:00</published><updated>2005-05-30T11:25:58.786+08:00</updated><title type='text'>Urls and Modes</title><content type='html'>&lt;p&gt;Few common query strings (which are related with modes) and their possible values are given bellow. A query string can take one of the possible value given in the bellow table.&lt;/p&gt;&lt;table height="1" width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="16%" height="56"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Query string&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="44%" height="56"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Possible Value&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="16%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;NRMODE (PublishingMode)&lt;/span&gt;&lt;/td&gt;&lt;td width="44%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PUBLISHED or UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="16%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;WBCMODE (WebAuthorContextMode)&lt;/span&gt;&lt;/td&gt;&lt;td width="44%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationUnpublished or PresentationUnpublishedPreview or AuthoringNew or AuthoringReedit or AuthoringPreview&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="16%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;wbc_purpose&lt;/span&gt;&lt;/td&gt;&lt;td width="44%" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Authoring or Basic&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="16%" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;nr_emit&lt;/span&gt;&lt;/td&gt;&lt;td width="44%" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ThinEdit or View&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Even though NRMODE is directly related with PublishingMode, WebAuthorContextMode is not only related with WBCMODE.&lt;b&gt; &lt;/b&gt;The table given below have modes and relevant query string in detail.&lt;/p&gt;&lt;table height="647" width="534" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="385" colspan="4" height="50"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Query string and value&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="129" height="100" rowspan="2"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Additional check&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="263" colspan="2" height="50"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Mode&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="92" height="50"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;NRMODE&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="116" height="50"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;WBCMODE&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="99" height="50"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;wbc_purpose&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="60" height="50"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;nr_emit&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="92" height="50"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Publishing&lt;br /&gt;Mode&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="165" height="50"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;WebAuthorContext Mode&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PUBLISHED&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PUBLISHED&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationPublished&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;AuthoringNew&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Posting. CanSetProperties =true&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;AuthoringNew&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Authoring&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ThinEdit&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Posting.State =PostingState.New and Posting. CanSetProperties =true&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;AuthoringNew&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;AuthoringNew&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Posting. CanSetProperties =false&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationUnpublished&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Authoring&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ThinEdit&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Posting.State =stingState.New and Posting. CanSetProperties =false&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationUnpublished&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;AuthoringReedit&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Posting. CanSetProperties =true&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;AuthoringReedit&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Authoring&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ThinEdit &lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Posting. CanSetProperties =true&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;AuthoringReedit&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;AuthoringReedit&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Posting. CanSetProperties =false&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="1"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationUnpublished&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Authoring&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;ThinEdit&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Posting. CanSetProperties =false&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationUnpublished&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;AuthoringPreview&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Posting. CanSetProperties =true&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;AuthoringPreview&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;AuthoringPreview&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Posting. CanSetProperties =false&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationUnpublished&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Presentation Unpublished Preview&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationUnpublished Preview&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;""&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;""&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationUnpublished Preview&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;""&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;View&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationUnpublished Preview&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;CmsHttpContext. IsUsingTemplate =true&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;TemplatePreview&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Presentation Unpublished&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationUnpublished&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;""&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;""&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationUnpublished&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;View&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="38"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationUnpublished&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="116" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="99" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="60" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td width="129" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Otherwise ( if non of the above)&lt;/span&gt;&lt;/td&gt;&lt;td width="92" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;UNPUBLISHED or UPDATE&lt;/span&gt;&lt;/td&gt;&lt;td width="165" height="19"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;PresentationUnpublished&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;Note :&lt;/p&gt;&lt;ul&gt;&lt;li&gt;PublishingMode - Staging is ignored, it is equivalent to WebAuthorContextMode&lt;b&gt; &lt;/b&gt;PresentationPublished. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;PublishingMode - UPDATE is only used; and need to be used when making changes to the site.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Even though HierarchyItem.CanSetProperties is not relevant with PublishingMode,&lt;br /&gt;WebAuthorContextMode relates with that.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;As stated before, PublishingMode will be same as NRMODE.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;More information about modes can be found here - &lt;a href="http://msdn.microsoft.com/library/en-us/dnmscms02/html/MCMSMDSG.asp?frame=true#mcmsmdsg_topic11" target="_blank"&gt;Microsoft Content Management Server 2002 Developers Guide&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111738510843915003?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111738510843915003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111738510843915003&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111738510843915003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111738510843915003'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/05/urls-and-modes.html' title='Urls and Modes'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111656665563583416</id><published>2005-05-20T11:52:00.000+08:00</published><updated>2005-05-21T07:19:37.613+08:00</updated><title type='text'>Posting - Posting - Channel Relationship</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;p&gt;Everyone knows that there can be relationship between posting - posting (connected postings) and posting - channel (patent of the posting). But how they are really connected? To understand that, we must have a look at MCMS database schema.&lt;br /&gt;&lt;br /&gt;All the objects in MCMS are referred as Nodes in database level. If we take a node of a posting, it will have &lt;span style="color:#3333ff;"&gt;NodeGuid&lt;/span&gt;(Guid of the posting), &lt;span style="color:#3333ff;"&gt;ParentGuid&lt;/span&gt; and &lt;span style="color:#3333ff;"&gt;FollowGuid&lt;/span&gt;. Each node has a type. Type 16 can be a page object or a Posting object. If the &lt;span style="color:#3333ff;"&gt;IsShortcut&lt;/span&gt; value is 1 then the item is a Posting. If it is 0 then it is a Page object. Placeholders are bound to the Page objects. The FollowGuid of the Posting Object points to it's underlying Page object. (Thanks for the clear explanation Stefan!)&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Posting-Posting&lt;br /&gt;&lt;br /&gt;So all the connected postings will have the same FollowGuid. Because placeholders are bound to the Page objects (IsShortcut=0), connected postings will have reference to the same placeholders.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Posting-Channel&lt;br /&gt;&lt;br /&gt;All the posting will have a ParentGuid which are the Guids of the channels. So relationship between posting and channels are maintained via this. So until ParentGuid gets changed, the relationship will be always there.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;As a conclusion, Change to any - other than these Guids and IsShortcut, won’t change the relationship. Which means renaming channels, postings wont change relationship. &lt;/span&gt;&lt;/p&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="color:#000000;"&gt;N.B: This blog is only to make a clear understanding on how postings and channels are related.&lt;/span&gt;&lt;strong&gt; Handling MCMS database directly or using any undocumented API to handle the database will break the Microsoft support boundary - don't do that.&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111656665563583416?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111656665563583416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111656665563583416&amp;isPopup=true' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111656665563583416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111656665563583416'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/05/posting-posting-channel-relationship.html' title='Posting - Posting - Channel Relationship'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111617604875560434</id><published>2005-05-16T00:52:00.000+08:00</published><updated>2005-05-20T13:26:56.060+08:00</updated><title type='text'>CmsHttpContext Vs CmsApplicationContext</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;table cellspacing="1" width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="15%"&gt;Compared On&lt;/td&gt;&lt;td align="middle" width="42%"&gt;CmsHttpContext&lt;/td&gt;&lt;td align="middle" width="43%"&gt;CmsApplicationContext&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="15%"&gt;Instance&lt;/td&gt;&lt;td width="42%"&gt;Only one instance can be created using Current property. When we call CmsHttpContext.Current, the request is send to the server and it will check the HttpContext for an existing CmsHttpContext. If it finds one, then it will returns that. Otherwise it will create a new instance of it with the current identity, save that in the HttpContext and returns the new one.&lt;/td&gt;&lt;td width="43%"&gt;Any number of instances can be created with the constructor. All the instances will be created with an authentication and mode.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="15%"&gt;Authentication&lt;/td&gt;&lt;td width="42%"&gt;It will take the correct authentication from the current HttpContext. The identity will be created accordingly (Windows Identity or Passport Identity or Forms Identity) and the correct token will be taken for the creation of a new context.&lt;/td&gt;&lt;td width="43%"&gt;There are four kind of Authentication available with four different type of overloads. The appropriate one can be used. For more info on this, check the PAPI help.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="15%"&gt;Where it can be used&lt;/td&gt;&lt;td width="42%"&gt;This one can be only used in application's which comes under HttpContext (web applications and web services). &lt;/td&gt;&lt;td width="43%"&gt;This can be used in windows applications, web applications, console applications, web services, etc.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="15%"&gt;Mode&lt;/td&gt;&lt;td width="42%"&gt;An instance is created by the server with the mode, which depends on the request we send. It can't be changed. Must switch the request to change the mode (it will create an instance with that mode).&lt;/td&gt;&lt;td width="43%"&gt;An instance can be created with any mode which is required. It can't be changed, a new instance must be created with a different mode.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="15%"&gt;Duration&lt;/td&gt;&lt;td width="42%"&gt;Because this is used in web based, duration of the instance is small.&lt;/td&gt;&lt;td width="43%"&gt;It is possible to have long running sessions (duration of time from when an object is modified to when CommitAll() is called) using this. But it is not a good practice to have long sessions. Because long running sessions can block accessing a site.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="15%"&gt;&lt;span style="color:#ff0066;"&gt;Dispose()&lt;/span&gt;&lt;/td&gt;&lt;td width="42%"&gt;It is not necessary to dispose the instance always, it will automatically handled by the server - CmsEndRequestModule will call this, if there is a valid instance exist in HttpContext after the response is send to client.&lt;/td&gt;&lt;td width="43%"&gt;After the use of CmsApplicationContext instance it must be disposed. Otherwise it may give problems. For more&lt;br /&gt;information check &lt;a href="http://blogs.technet.com/stefan_gossner/archive/2005/03/07/386526.aspx"&gt;&lt;span style="color:#3333ff;"&gt;Creating scalable applications using the CmsApplicationContext&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="15%"&gt;&lt;span style="color:#ff0066;"&gt;RollBackAll()&lt;/span&gt;&lt;/td&gt;&lt;td width="42%"&gt;After calling RollBackAll(), the instance is invalid, but after the call to this method, if we don't use the instance, no need to call Dispose(), server will handle that. If we use after calling this, then its a must to call Dispose() and get a new instance.&lt;/td&gt;&lt;td width="43%"&gt;After calling RollBackAll(), the instance is invalid and it must be disposed and a new instance must be created for future use.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;There are few properties and a method which are only available in CmsHttpContext(driven from CmsAspContext). They are not available in CmsApplicaitonContext. They are Channel, ChannelItem, CmsQueryString, IsUsingTemplate, Posting, UserCacheKey, ChannelItemIsVisible and &lt;span style="color:#ff0066;"&gt;ResolveUrl ()&lt;/span&gt;. For more information, check the PAPI documentation.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111617604875560434?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111617604875560434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111617604875560434&amp;isPopup=true' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111617604875560434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111617604875560434'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/05/cmshttpcontext-vs-cmsapplicationcontex.html' title='CmsHttpContext Vs CmsApplicationContext'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111575675344340661</id><published>2005-05-11T04:04:00.000+08:00</published><updated>2005-05-11T13:04:28.593+08:00</updated><title type='text'>EnableLeaveAuthoringWarning - A Closer look</title><content type='html'>After Mei Ying's post about &lt;a href="http://meiyinglim.blogspot.com/2005/05/getting-rid-of-leave-warning-alert.html"&gt;Getting Rid of the Leave Warning Alert after a Preview&lt;/a&gt; and Stefan's &lt;a href="http://meiyinglim.blogspot.com/2005/05/getting-rid-of-leave-warning-alert.html#c111564633367091055"&gt;comment&lt;/a&gt; I thought of checking EnableLeaveAuthoringWarning more deeper. If EnableLeaveAuthoringWarning is set to true, Console generate this script to the page,&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;var __consoleCachedOriginalPostBack;&lt;br /&gt;if( eval("window.__doPostBack") != null )&lt;br /&gt;{&lt;br /&gt;__consoleCachedOriginalPostBack = __doPostBack;&lt;br /&gt;__doPostBack = __consoleCustomDoPostBack;&lt;br /&gt;} __consoleCachedOriginalOnSubmit = __CMS_PostbackForm.onsubmit; __CMS_PostbackForm.onsubmit = __consoleHandleOnSubmit;&lt;br /&gt;function __consoleCustomDoPostBack( eventTarget, eventArgument )&lt;br /&gt;{&lt;br /&gt;WBC_offWarningBeforeLeave();&lt;br /&gt;__consoleCachedOriginalPostBack( eventTarget, eventArgument );&lt;br /&gt;}&lt;br /&gt;function __consoleHandleOnSubmit()&lt;br /&gt;{&lt;br /&gt;WBC_offWarningBeforeLeave();&lt;br /&gt;if (__consoleCachedOriginalOnSubmit != null)&lt;br /&gt;{&lt;br /&gt;__consoleCachedOriginalOnSubmit();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;where if it is false it generates&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;WBC_offWarningBeforeLeave();&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Both are totally different. As Stefan explained in his post - &lt;a href="http://blogs.technet.com/stefan_gossner/archive/2004/12/03/274255.aspx"&gt;How to disable the "Leave Authoring" warning for a specific control rather than for the whole template (last update: 08/12/2004)&lt;/a&gt;&lt;em&gt;,"So the problem is that using href in anchor tags will not allow the client side code to be executed that checks if the current action is actually a postback or if the user really decided to leave the page. If the redirect would have been done using the onclick attribute rather than the href this would not have happened." &lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;It is true for the first instance (where EnableLeaveAuthoringWarning = true). But in the second place, there are no client side script to check this! This is fine until CMS_restoreAfterPreviewPostback() get called. Because upto that point global variable g_bWarnBeforeLeave is set to false. So any call to beforeUnload wont bring the warning because beforeUnload will check whether g_bWarnBeforeLeave is true or not to give the warning. But the function CMS_restoreAfterPreviewPostback() set g_bWarnBeforeLeave to true, so until WBC_offWarningBeforeLeave() get called, it will be true (eg : another postback). Which means after a preview first action will give the warning message even if EnableLeaveAuthoringWarning is set to false, because the preview set g_bWarnBeforeLeave to true.&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;As a solution it can be resolved by &lt;a href="http://meiyinglim.blogspot.com/2005/05/getting-rid-of-leave-warning-alert.html"&gt;Getting Rid of the Leave Warning Alert after a Preview&lt;/a&gt; or by &lt;a href="http://meiyinglim.blogspot.com/2005/05/getting-rid-of-leave-warning-alert.html#c111566693079530278"&gt;this one&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111575675344340661?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111575675344340661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111575675344340661&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111575675344340661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111575675344340661'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/05/enableleaveauthoringwarning-closer.html' title='EnableLeaveAuthoringWarning - A Closer look'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111561264551400492</id><published>2005-05-09T12:17:00.000+08:00</published><updated>2005-05-09T12:52:29.493+08:00</updated><title type='text'>MCMS Manager 2.1</title><content type='html'>&lt;p&gt;Another update to &lt;a href="http://www.codeproject.com/aspnet/MCMSManager.asp"&gt;MCMS Manager&lt;/a&gt;! The new version have some more new features...&lt;br /&gt;&lt;br /&gt;1. Connected posting search.&lt;br /&gt;2. Tooltip preview for postings, templates - (Thanks Rob, Jubjup, Nimalan and Sutha for html to image creator) and resources. But tooltip for postings and templates will take more resource and time :(.&lt;br /&gt;3. New UI related features to give more useful information (Connected postings, templates, important channels and more).&lt;br /&gt;&lt;br /&gt;Please post your feedbacks.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111561264551400492?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111561264551400492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111561264551400492&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111561264551400492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111561264551400492'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/05/mcms-manager-21.html' title='MCMS Manager 2.1'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111476137663626500</id><published>2005-04-29T15:36:00.000+08:00</published><updated>2005-05-04T19:39:29.510+08:00</updated><title type='text'>MCMS Manager - The Best Article for March 2005 [CodeProject]</title><content type='html'>Today Code Project have announced &lt;a href="http://www.codeproject.com/aspnet/MCMSManager.asp"&gt;MCMS Manager&lt;/a&gt; as the best article of the month in ASP.NET category.&lt;br /&gt;&lt;br /&gt;It happened because of all the support and feedbacks I received from you! I want to thank those who gave me all the support and feedbacks. They truly helped me to make MCMS Manager more usable. My thanks goes to &lt;a href="http://http://www.codeproject.com/script/profile/whos_who.asp?id=554995"&gt;Rick Mason&lt;/a&gt;, Wolfgang Schober, David Humphreys, &lt;a href="http://www.codeproject.com/script/profile/whos_who.asp?id=543171"&gt;Austrian&lt;/a&gt;, &lt;a href="http://spaces.msn.com/members/justindrerup/"&gt;Justin Drerup&lt;/a&gt;, &lt;a href="http://robrohr.org/"&gt;Rob Rohr&lt;/a&gt;, &lt;a href="http://spaces.msn.com/members/ajaymistry/"&gt;Ajay Mistry&lt;/a&gt;, &lt;a href="http://www.mcmsfaq.com/"&gt;Spencer Harbar&lt;/a&gt;, &lt;a href="http://www.andrewconnell.com/"&gt;Andrew Connell&lt;/a&gt;, &lt;a href="http://spaces.msn.com/members/mcmsrapid/"&gt;Nick&lt;/a&gt;, Sachintana, Sanjaya and all others who have motivated me. Thanks a lot!&lt;br /&gt;&lt;br /&gt;Also I wanted to thank &lt;a href="http://www.cmswire.com/about.php#bd"&gt;Brice Dunwoodie&lt;/a&gt; for his nice &lt;a href="http://www.cmswire.com/cms/web-cms/microsoft-cms-management-tool-updated-000583.php"&gt;article&lt;/a&gt; about MCMS Manager on &lt;a href="http://www.cmswire.com"&gt;CMS Wire&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111476137663626500?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111476137663626500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111476137663626500&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111476137663626500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111476137663626500'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/04/mcms-manager-best-article-for-march.html' title='MCMS Manager - The Best Article for March 2005 [CodeProject]'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111449992805206358</id><published>2005-04-26T14:51:00.000+08:00</published><updated>2005-04-26T17:18:42.026+08:00</updated><title type='text'>MCMS Manager 2.0</title><content type='html'>Now with few new features,&lt;br /&gt;&lt;br /&gt;1. Resource Gallery&lt;br /&gt;- Can Check resource related things&lt;br /&gt;- Save the resource&lt;br /&gt;- Get the resource dependency&lt;br /&gt;- and more&lt;br /&gt;&lt;br /&gt;2. Template Gallery&lt;br /&gt;- Can Check template related things&lt;br /&gt;- Get the template usage&lt;br /&gt;- and more&lt;br /&gt;&lt;br /&gt;Currently it is not available in &lt;a href="http://www.codeproject.com/aspnet/MCMSManager.asp"&gt;CodeProject&lt;/a&gt; &amp; &lt;a href="http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=2E2E69A3-811D-401D-92FB-C3DA9D01A83C"&gt;GotDotNet&lt;/a&gt; (I think it will take some time to update) . It can be downloaded from &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=133592"&gt;Sourceforge&lt;/a&gt; now. Please post your feedbacks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111449992805206358?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111449992805206358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111449992805206358&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111449992805206358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111449992805206358'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/04/mcms-manager-20.html' title='MCMS Manager 2.0'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111440312993152204</id><published>2005-04-25T11:44:00.000+08:00</published><updated>2005-04-29T17:59:29.133+08:00</updated><title type='text'>HttpModule to solve glitches when using a posting as login form</title><content type='html'>Via Stefan :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/stefan_gossner/archive/2005/04/21/404040.aspx"&gt;HttpModule to solve glitches when using a posting as login form&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When I used this module I got in to a problem.&lt;br /&gt;&lt;br /&gt;Recreation of the issue:&lt;br /&gt;&lt;br /&gt;1. Create a posting as admin&lt;br /&gt;2. Submit it for approval&lt;br /&gt;3. Go to Approval Assistant and approve it from there&lt;br /&gt;&lt;br /&gt;Even though it approves the posting it throws this exception:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#3366ff;"&gt;A posting created and approved with the name 'TestApproveViaAssitant' Approve operation of the selected pages was unsuccessful.&lt;br /&gt;Microsoft.ContentManagement. Publishing.CmsInvalidObjectStateException: Invalid version for current Posting. The object referred to by this Web request has already been retrieved by another mechanism, for example Searches.GetByGUID. The version of the object requested by this Web request is not consistent with the previously retrieved version. ---&gt; System.Runtime. InteropServices.COMException (0x80041B5B): Invalid version for current Posting. The object referred to by this Web request has already been retrieved by another mechanism, for example Searches.GetByGUID. The version of the object requested by this Web request is not consistent with the previously retrieved version. atMicrosoft.ContentManagement. Interop.Publishing. CmsHttpContextClass. get_Posting() at Microsoft. ContentManagement. Publishing. CmsAspContext. get_Posting() --- End of inner exception stack trace --- at Microsoft. ContentManagement. Publishing. CmsAspContext. get_Posting() at Microsoft. ContentManagement. WebAuthor. ApprovalAssistant. OnPostingApproveDecline(Object sender, EventArgs e)&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;I was never heard of this issue with approval assistant before. So I was digging bit in on CmsAuthorizationModule and came up with a bit different EnhancedCmsAuthorizationModule which worked without any problem.&lt;br /&gt;&lt;br /&gt;Modified code :&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Web;using System.Configuration;&lt;br /&gt;using Microsoft.ContentManagement.Publishing;&lt;br /&gt;using Microsoft.ContentManagement.Web.Security;&lt;br /&gt;namespace StefanG.HttpModule&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;public class EnhancedCmsAuthorizationModule: IHttpModule&lt;br /&gt;{&lt;br /&gt;public virtual void Init(HttpApplication application)&lt;br /&gt;{&lt;br /&gt;if (application == null)&lt;br /&gt;{&lt;br /&gt;throw new ArgumentNullException("HttpApplication == null");&lt;br /&gt;}&lt;br /&gt;// register new Authorization handler&lt;br /&gt;application.AuthorizeRequest += new EventHandler(this.OnAuthorizeRequest);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public virtual void Dispose()&lt;br /&gt;{&lt;br /&gt;// nothing to do&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private void OnAuthorizeRequest(object source, EventArgs e)&lt;br /&gt;{&lt;br /&gt;HttpApplication httpApplication = (HttpApplication)source;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;// lets try to retrieve the current CmsHttpContext&lt;br /&gt;CmsHttpContext cmsContext = CmsHttpContext.Current;&lt;br /&gt;// ok, we got the context. Now lets see if we have permission&lt;br /&gt;// to access the current item.&lt;br /&gt;// If not, lets present the login page to the user&lt;br /&gt;if (!cmsContext.UserHasRightToBrowse())&lt;br /&gt;{&lt;br /&gt;redirectToLoginPage(httpApplication);&lt;br /&gt;}&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;if (!cmsContext.ChannelItemIsVisible())&lt;br /&gt;{&lt;br /&gt;cmsContext.Dispose();&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;}&lt;/span&gt;&lt;br /&gt;catch (CmsAccessDeniedException)&lt;br /&gt;{&lt;br /&gt;// ok, no luck accessing the context. Access denied.&lt;br /&gt;// We need to logout and redirect to login page&lt;br /&gt;redirectToLoginPage(httpApplication);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private void redirectToLoginPage(HttpApplication application)&lt;br /&gt;{&lt;br /&gt;// throw away old authentication token to allow access&lt;br /&gt;// to logon posting as guest user&lt;br /&gt;CmsFormsAuthentication.SignOut();&lt;br /&gt;// get the URL to the login posting from the appSettings section of&lt;br /&gt;// the Web.Config&lt;br /&gt;string loginUrl = ConfigurationSettings.AppSettings["LoginUrl"];&lt;br /&gt;// we need to call the login page with the ReturnURL to the item we&lt;br /&gt;// tried to access if possible we will use the friendly URL&lt;br /&gt;string ReturnURL = HttpUtility. UrlEncode (application. Context. Request. QueryString ["NRORIGINALURL"]);&lt;br /&gt;if (ReturnURL == null)&lt;br /&gt;ReturnURL = HttpUtility. UrlEncode (application. Context. Request. Url. AbsolutePath + application. Context. Request. Url. Query);&lt;br /&gt;// ok, now lets redirect to the login page&lt;br /&gt;application. Context. Response. Redirect (loginUrl+"?ReturnUrl="+ ReturnURL);&lt;br /&gt;application. CompleteRequest();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;N.B : If the posting is approved with the different instance, the issue was not there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111440312993152204?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111440312993152204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111440312993152204&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111440312993152204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111440312993152204'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/04/httpmodule-to-solve-glitches-when.html' title='HttpModule to solve glitches when using a posting as login form'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111320407651941258</id><published>2005-04-11T12:22:00.000+08:00</published><updated>2007-03-20T16:27:12.975+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Installing Sharepoint portal server 2003</title><content type='html'>I've installed Sharepoint portal server for few times in my machine without any problem and last night I got a strange error while installing (C++ runtime error). After that error it started to uninstall everything (rollback).&lt;br /&gt;&lt;br /&gt;STSADM.log-setup* had this line at last - 0 04/11 11:15:04 4240 stsadm: Unknown argument: (password without the problematic character) .&lt;br /&gt;&lt;br /&gt;I was not sure about the error in the beginning. After few seconds I figured out that the error was because of the password of the account which I was using it to install sharepoint. After a password change everything went fine.&lt;br /&gt;&lt;br /&gt;problematic character &lt;span style="color:#ff0000;"&gt;-&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;I tried it few times and figured out that, if this character comes as a first character only this problem occurs.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;N.B : I searched the web and Microsoft site regarding this problem. But I couldn't find any results regarding this issue. So I thought its better to have it somewhere posted :) .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111320407651941258?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111320407651941258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111320407651941258&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111320407651941258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111320407651941258'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/04/installing-sharepoint-portal-server.html' title='Installing Sharepoint portal server 2003'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111242186023617614</id><published>2005-04-02T13:35:00.000+08:00</published><updated>2005-04-02T14:04:20.236+08:00</updated><title type='text'>How to... in MCMS Manager</title><content type='html'>I've added help with MCMS Manager, which will be really useful when using the tool. It includes an Introduction and few how to... They are,&lt;br /&gt;&lt;br /&gt;-Start MCMS Manager&lt;br /&gt;-Edit postings&lt;br /&gt;-Edit properties of postings&lt;br /&gt;-Release ownership of a posting&lt;br /&gt;-Browse through postings&lt;br /&gt;-Search for postings&lt;br /&gt;-Generate Report&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111242186023617614?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111242186023617614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111242186023617614&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111242186023617614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111242186023617614'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/04/how-to-in-mcms-manager.html' title='How to... in MCMS Manager'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111207967125362540</id><published>2005-03-29T14:50:00.000+08:00</published><updated>2005-04-18T18:34:39.606+08:00</updated><title type='text'>MCMS Manager 1.2</title><content type='html'>I've updated &lt;a href="http://www.codeproject.com/aspnet/MCMSManager.asp"&gt;MCMS Manager&lt;/a&gt; with new Features. Check it out.&lt;br /&gt;&lt;br /&gt;Features (Two tools and Statistics Generator),&lt;br /&gt;&lt;br /&gt;1. Convertor - Converts IIS log to IIS-MCMS log.&lt;br /&gt;2. Statistics can be generated for each and every channel with created IIS-MCMS log files (1). Also it can be saved.&lt;br /&gt;3. LogViewer - Saved statistics (2) can be viewed using this tool.&lt;br /&gt;&lt;br /&gt;Feedback is appreciated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111207967125362540?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111207967125362540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111207967125362540&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111207967125362540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111207967125362540'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/03/mcms-manager-12.html' title='MCMS Manager 1.2'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111131468030037729</id><published>2005-03-20T18:19:00.000+08:00</published><updated>2005-04-18T18:37:56.440+08:00</updated><title type='text'>MCMS Manager 1.1</title><content type='html'>Again, I've added some more features to &lt;a href="http://www.codeproject.com/aspnet/MCMSManager.asp"&gt;MCMS Manager&lt;/a&gt;. Added Features,&lt;br /&gt;&lt;br /&gt;1. Search for postings using&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Guid of the posting &lt;/li&gt;&lt;li&gt;Name of the posting &lt;/li&gt;&lt;li&gt;Posting placeholder content &lt;/li&gt;&lt;li&gt;Posting state &lt;/li&gt;&lt;li&gt;Created date &lt;/li&gt;&lt;li&gt;Author of the posting&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;As in &lt;a href="http://www.mozilla.org/bugs/text-searching.html"&gt;Text Searching in Bugzilla&lt;/a&gt;, search type can be specified before searching.&lt;/p&gt;&lt;p&gt;2. Find and Replace while editting the posting. &lt;/p&gt;&lt;p&gt;I'm sure that these features will increase the use of MCMS Manager.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111131468030037729?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111131468030037729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111131468030037729&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111131468030037729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111131468030037729'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/03/mcms-manager-11.html' title='MCMS Manager 1.1'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111077674795604463</id><published>2005-03-14T12:59:00.000+08:00</published><updated>2005-04-18T18:48:02.586+08:00</updated><title type='text'>MCMS Manager 1.0</title><content type='html'>I've worked on the previous release of MCMS Manager and added some new features to that. It can be downloaded from &lt;a href="http://www.codeproject.com/aspnet/MCMSManager.asp"&gt;CodeProject&lt;/a&gt; as well as from &lt;a href="http://sourceforge.net/projects/mcmsmanager/"&gt;Sourceforge&lt;/a&gt;. Now it includes&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Posting Editor&lt;/li&gt;&lt;li&gt;Custom Property Editor&lt;/li&gt;&lt;li&gt;And UI related features.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Please check it and give me your feedbacks.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111077674795604463?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111077674795604463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111077674795604463&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111077674795604463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111077674795604463'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/03/mcms-manager-10.html' title='MCMS Manager 1.0'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111042707551062636</id><published>2005-03-10T11:28:00.000+08:00</published><updated>2005-03-10T11:57:55.513+08:00</updated><title type='text'>Test for Creating scalable applications using the CmsApplicationContext</title><content type='html'>&lt;a href="http://blogs.msdn.com/stefan_gossner/"&gt;Stefan Goßner&lt;/a&gt; have done a test for &lt;a href="http://blogs.msdn.com/stefan_gossner/archive/2005/03/07/386526.aspx"&gt;'Creating scalable applications using the CmsApplicationContext&lt;/a&gt;' in a server which has a very big MCMS database. The result as follows...&lt;br /&gt;&lt;br /&gt;Node cache = 40000 nodes&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;i) Recursion, no dispose, no GC &lt;/strong&gt;&lt;br /&gt;1. 180 sec 451 MB&lt;br /&gt;2. 143 sec 498 MB&lt;br /&gt;3. 146 sec 468 MB&lt;br /&gt;4. 146 sec 485 MB&lt;br /&gt;5. 148 sec 495 MB&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ii) no recursion, no dispose, no GC &lt;/strong&gt;&lt;br /&gt;1. 116 sec 460 MB&lt;br /&gt;2. 140 sec 477 MB&lt;br /&gt;3. 142 sec 509 MB&lt;br /&gt;4. 146 sec 492 MB&lt;br /&gt;5. 145 sec 511 MB&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;iii) no recursion, dispose, no GC &lt;/strong&gt;&lt;br /&gt;1. 653 sec 71 MB&lt;br /&gt;2. 672 sec 91 MB&lt;br /&gt;3. 683 sec 126 MB&lt;br /&gt;4. 683 sec 133 MB&lt;br /&gt;5. 692 sec 161 MB&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;iv) no recursion, dispose, GC &lt;/strong&gt;&lt;br /&gt;1. 739 sec 64 MB&lt;br /&gt;2. 909 sec 78 MB&lt;br /&gt;3. 1053 sec 100 MB&lt;br /&gt;4. 1026 sec 116 MB&lt;br /&gt;&lt;br /&gt;So as I stated in my previous post, if we are only looking for a better memory solution than anything else, as Stefan said test (iv) is ok. But still I think the better solution is (iii) one. It has good balance between everything. Thanks alot for testing it Stefan.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111042707551062636?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111042707551062636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111042707551062636&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111042707551062636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111042707551062636'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/03/test-for-creating-scalable.html' title='Test for Creating scalable applications using the CmsApplicationContext'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111026003416809736</id><published>2005-03-08T12:28:00.000+08:00</published><updated>2005-03-08T14:27:34.516+08:00</updated><title type='text'>Creating scalable applications using the CmsApplicationContext By Stefan Goßner</title><content type='html'>&lt;a class="headermaintitle" id="Header1_HeaderTitle" href="http://blogs.msdn.com/stefan_gossner/"&gt;Stefan Goßner&lt;/a&gt; has written a great article on &lt;a id="viewpost.ascx_TitleUrl" href="http://blogs.msdn.com/stefan_gossner/archive/2005/03/07/386526.aspx"&gt;Creating scalable applications using the CmsApplicationContext&lt;/a&gt;. I thought of doing a small testing on that (I was not very much happy of System.GC.Collect(); which I found in his code). So I've created three windows applications :&lt;br /&gt;&lt;br /&gt;1. Same one which is given by Stefan with GC&lt;br /&gt;2. Without GC&lt;br /&gt;3. Another Application which uses the same CmsApplicationContext throughout its process and Dispose is called when it finishes its work (Without GC call).&lt;br /&gt;&lt;br /&gt;I did the testing on four different machines which has different MCMS servers. I did two things.. Checked the memory usage as well as time taken(even though it is not important in Stefan's context) to run the application. The results are given bellow.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Results&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Application-------Runs*--------Memory(kb)--------Time(s)&lt;br /&gt;1--------------------1--------------12248----------------3.90&lt;br /&gt;1--------------------2--------------588------------------1.34&lt;br /&gt;1--------------------3--------------552------------------1.42&lt;br /&gt;1--------------------4--------------504------------------1.52&lt;br /&gt;2--------------------1--------------12668----------------3.50&lt;br /&gt;2--------------------2--------------692------------------0.59&lt;br /&gt;2--------------------3--------------596------------------0.58&lt;br /&gt;2--------------------4--------------612------------------0.58&lt;br /&gt;3--------------------1--------------12920----------------2.63&lt;br /&gt;3--------------------2--------------644------------------1.47&lt;br /&gt;3--------------------3--------------264------------------1.41&lt;br /&gt;3--------------------4--------------284------------------1.44&lt;br /&gt;&lt;br /&gt;* - Ran the same application without restarting (But the CMSA.Context was disposed at least after each and every run).&lt;br /&gt;&lt;br /&gt;From this I felt that, better if we don't use GC. If the application is going for a long run and as Stefan said if we only care about memory then the good choice may be the first one. But if we think about the memory and time then the best choice seems to be the 2nd one.&lt;br /&gt;&lt;br /&gt;Another important think I noticed is that in the 3rd application, it took less time on the first run and also after one or two runs it took very less memory than any other which I couldn't understand the reason!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;N.B:&lt;/strong&gt;&lt;br /&gt;3rd Application Code :&lt;br /&gt;&lt;br /&gt;static private void CollectChannel(CmsApplicationContext cmsContext) &lt;br /&gt;{  &lt;br /&gt;           while (StackItemsChannel.Count &gt; 0)  &lt;br /&gt;           {   &lt;br /&gt;                string channelGuid = (string)StackItemsChannel.Pop();  &lt;br /&gt;                Channel channel = cmsContext.Searches.GetByGuid(channelGuid) as Channel;   &lt;br /&gt;                foreach (Posting po in channel.Postings)   &lt;br /&gt;                {    &lt;br /&gt;                       //do something with posting&lt;br /&gt;               }  &lt;br /&gt;               foreach (Channel ch in channel.Channels)   &lt;br /&gt;              {    &lt;br /&gt;                   StackItemsChannel.Push(ch.Guid);   &lt;br /&gt;              }   &lt;br /&gt;  }       &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private static Stack StackItemsChannel = new Stack();&lt;br /&gt;&lt;br /&gt;[STAThread]&lt;br /&gt;static void Main(string[] args)&lt;br /&gt;{&lt;br /&gt;        CmsApplicationContext cmsContext = new CmsApplicationContext();  &lt;br /&gt;        cmsContext.AuthenticateAsCurrentUser(PublishingMode.Unpublished);  &lt;br /&gt;        string channelGuid = cmsContext.RootChannel.Guid;  &lt;br /&gt;        StackItemsChannel.Push(channelGuid);  &lt;br /&gt;        CollectChannel(cmsContext);  &lt;br /&gt;        cmsContext.Dispose();&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111026003416809736?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111026003416809736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111026003416809736&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111026003416809736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111026003416809736'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/03/creating-scalable-applications-using.html' title='Creating scalable applications using the CmsApplicationContext By Stefan Goßner'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11283529.post-111017367891968119</id><published>2005-03-07T13:33:00.000+08:00</published><updated>2005-04-18T18:51:38.910+08:00</updated><title type='text'>MCMS Manager</title><content type='html'>This is my first blog... I thought of starting blog hobby few months before, but b'cos of my work-busy time I had, I couldn't find time to do so...&lt;br /&gt;&lt;br /&gt;I'm working with MCMS for some time now (more than 10 months I think) and I really felt that Site Manager ( Which comes with MCMS) lacks in few places. So thought of writing a small &lt;a href="http://www.codeproject.com/aspnet/MCMSManager.asp"&gt;tool&lt;/a&gt; which can be used with site manager to get the features which site manager doesn't provide. If any of you have time, check it and give me your feedback so that I can improve my &lt;a href="http://www.codeproject.com/aspnet/MCMSManager.asp"&gt;tool&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11283529-111017367891968119?l=chestermr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chestermr.blogspot.com/feeds/111017367891968119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11283529&amp;postID=111017367891968119&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111017367891968119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11283529/posts/default/111017367891968119'/><link rel='alternate' type='text/html' href='http://chestermr.blogspot.com/2005/03/mcms-manager.html' title='MCMS Manager'/><author><name>Chester</name><uri>http://www.blogger.com/profile/05403958693769766991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
