<?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:blogger='http://schemas.google.com/blogger/2008' 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-8453781494740460998</id><updated>2024-11-01T01:16:44.402-07:00</updated><title type='text'>Explore the Knowledge</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-4307476558634133480</id><published>2011-08-08T04:28:00.000-07:00</published><updated>2011-08-08T04:30:28.305-07:00</updated><title type='text'>Timeout Elapsed</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div closure_uid_vps95a=&quot;99&quot;&gt;We Got a issue for one of our application which has webparts on MOSS. This webpart has a search control and search results are displayed in Grid.&lt;/div&gt;&lt;br /&gt;
&lt;div closure_uid_ihlmcw=&quot;125&quot;&gt;When search is performed then no results are displayed and we are getting &lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;117&quot;&gt;&lt;span closure_uid_ihlmcw=&quot;124&quot; style=&quot;color: red;&quot;&gt;&quot;Timeout expired. The timeout period elapsed prior to completion ofthe operation or the server is not responding.&quot;&lt;/span&gt;&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;117&quot;&gt;&lt;span closure_uid_ihlmcw=&quot;128&quot; style=&quot;color: black;&quot;&gt;After investigating we found our Table adpater is failing so to fix we wrote a small utility/added property &amp;nbsp;within the Tableadpater partial class.&lt;/span&gt;&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;117&quot;&gt;And assigned commandTimeout property to the table adapter when before making call to DB.&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;117&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;117&quot;&gt;Please find below code &lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;117&quot;&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;namespace xxxTableAdapters&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;public partial class yyyTableAdapter&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;public int CommandTimeout {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;set {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;int i = 0;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;while ((i &amp;lt; this.CommandCollection.Length)) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;if ((this.CommandCollection(i) != null)) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span closure_uid_vps95a=&quot;118&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;this.CommandCollection(i).CommandTimeout = value;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;i = (i + 1);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div closure_uid_ihlmcw=&quot;131&quot;&gt;&lt;div closure_uid_vps95a=&quot;101&quot;&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;148&quot;&gt;Assign property&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;148&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;public static DataTable GetSearchListt(int year, int month,string companyGroup)&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;DataTable result = null;&lt;/span&gt;&lt;br /&gt;
&lt;div closure_uid_ihlmcw=&quot;151&quot;&gt;&lt;span closure_uid_nu9ci=&quot;107&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;using (MyDataTableAdapters.DataTableAdapter tableAdapter = new MyDataTableAdapters.DataTableAdapter())&lt;/span&gt;&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;151&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;151&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;tableAdapter.CommandTimeout = 4000;&lt;/span&gt;&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;150&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;result = tableAdapter.GetData(year, month,Group);&lt;/span&gt;&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;150&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;} &lt;/span&gt;&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;150&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;return result&lt;/span&gt;&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;150&quot;&gt;&lt;div closure_uid_nu9ci=&quot;91&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;div closure_uid_nomd04=&quot;99&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;117&quot;&gt;&lt;div closure_uid_nomd04=&quot;100&quot;&gt;Let me know if it helped any one&lt;/div&gt;&lt;/div&gt;&lt;div closure_uid_ihlmcw=&quot;117&quot;&gt;Cheers :)&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/4307476558634133480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/4307476558634133480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/4307476558634133480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/4307476558634133480'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2011/08/timeout-elapsed.html' title='Timeout Elapsed'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-4595680259599120022</id><published>2011-07-28T02:18:00.000-07:00</published><updated>2011-07-28T02:18:28.688-07:00</updated><title type='text'>How great leaders inspire action</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Today i would like to share something real different on my blog which is great one to know.&lt;br /&gt;
&lt;div closure_uid_mg90sp=&quot;113&quot;&gt;That is How great leaders inspire action.&lt;/div&gt;&lt;div closure_uid_mg90sp=&quot;113&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div closure_uid_mg90sp=&quot;113&quot;&gt;Watch this video , hope it inspires you in ahcieving your lifes best&amp;nbsp;milestones .&lt;/div&gt;&lt;div closure_uid_mg90sp=&quot;113&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div closure_uid_mg90sp=&quot;113&quot;&gt;&lt;a href=&quot;http://www.ted.com/talks/simon_sinek_how_great_leaders_inspire_action.html&quot;&gt;Simon Sinek: How great leaders inspire action&lt;/a&gt;&lt;/div&gt;&lt;div closure_uid_mg90sp=&quot;158&quot;&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/4595680259599120022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/4595680259599120022' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/4595680259599120022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/4595680259599120022'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2011/07/how-great-leaders-inspire-action.html' title='How great leaders inspire action'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-5881696895015438740</id><published>2011-05-15T23:34:00.000-07:00</published><updated>2011-05-15T23:51:22.719-07:00</updated><title type='text'>MVC3  Razor View Engine</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;People who are facinated using&amp;nbsp;MVC2 here is some thing interesting feature i would like to share &quot;Razor Engine&quot; in MVC3.&lt;br /&gt;
ASP.NET MVC 3 ships with a new view-engine option called “Razor” (in addition to continuing to support/enhance the existing .aspx view engine.&lt;br /&gt;
&lt;br /&gt;
Reason for Raqzor Engine in MVC3.&lt;br /&gt;
ASP.NET MVC always supported the concept of “view engines” – which are the pluggable modules that implement different template syntax options. The “default” view engine for ASP.NET MVC today uses the same .aspx/.ascx/.master file templates as ASP.NET Web Forms. Other popular ASP.NET MVC view engines used today include Spark and NHaml.&lt;br /&gt;
&lt;br /&gt;
You can have Razor view engine in drop view engine dropdown when you create a view in mvc3.&lt;br /&gt;
&lt;br /&gt;
&lt;img border=&quot;0&quot; height=&quot;397&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCBWBorLs5WGW4K4ptGzwO4gVhfZB_h8Dlv745kb23_hDXycZeUdKqq1ile3LhsHQZSSZ0D2Xt0O_HCszDU5VHrORgx2hWscvB221p7ATPKc7ThOKET5MDztL9gyMrZ0N3P_BjjHbJohQ/s400/AddView9_thumb_6A5950A4.png&quot; width=&quot;400&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You denote the start of a code block with Razor using a @ character. Unlike code nuggets, Razor does not require you to explicitly close the code-block:&lt;br /&gt;
&lt;br /&gt;
Layout.cshtml” layout-page that will define the common layout UI we want across our site. The “RenderBody()” method indicates where view templates that are based on this master layout file should “fill in” the body content:&lt;br /&gt;
&lt;br /&gt;
Master pages are a part of the ASPX WebForms view engine, not the MVC framework so Razor cannot interoperate with it.&lt;br /&gt;
&lt;br /&gt;
For more details visite ScottGu&#39;s Blog :&lt;br /&gt;
http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspx&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/5881696895015438740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/5881696895015438740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/5881696895015438740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/5881696895015438740'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2011/05/mvc3-razor-view-engine.html' title='MVC3  Razor View Engine'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCBWBorLs5WGW4K4ptGzwO4gVhfZB_h8Dlv745kb23_hDXycZeUdKqq1ile3LhsHQZSSZ0D2Xt0O_HCszDU5VHrORgx2hWscvB221p7ATPKc7ThOKET5MDztL9gyMrZ0N3P_BjjHbJohQ/s72-c/AddView9_thumb_6A5950A4.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-1038865215201463161</id><published>2011-04-26T04:16:00.000-07:00</published><updated>2011-04-26T04:40:53.140-07:00</updated><title type='text'>Implementing BING Maps Ajax control in ASP.net</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;I implemented BING maps Ajax control 6.3 for our corporate web site, and i would like to share here on my blog.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7djeIiFozTIMBizRx0QDIL-15vptsDoFf4rA5FKyX47N1v3-FL8OcsjyoWAe6oUhJKAPEtNVU689rtXlMPJ_8L_I9-mbme0enc3lypLla1w1fB2iHDrorNdHq5eDZEwCLCiDzGgDardc/s1600/LocationMap.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;193&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7djeIiFozTIMBizRx0QDIL-15vptsDoFf4rA5FKyX47N1v3-FL8OcsjyoWAe6oUhJKAPEtNVU689rtXlMPJ_8L_I9-mbme0enc3lypLla1w1fB2iHDrorNdHq5eDZEwCLCiDzGgDardc/s400/LocationMap.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Basic thing here is i have used ajax control to give good user experience where zoom-In and zoom-Out are very easy&amp;nbsp;with no&amp;nbsp;server post backs.&lt;br /&gt;
&lt;br /&gt;
I implemented Bing maps using&amp;nbsp;Location data &amp;nbsp;we have in our DB&amp;nbsp;including Latitude and Longittude values, using which i &amp;nbsp;placed cluster points&amp;nbsp;on Bing Maps.&lt;br /&gt;
&lt;br /&gt;
Below are breif steps, need anything more i can help&lt;br /&gt;
To use Bing maps ajax control place the below script tag in ASPpage or if you have master page the place in it.&lt;br /&gt;
&lt;script src=&quot;https://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3&amp;amp;mkt=en-us&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
1.First retreive Data from DB it should have latitude and longitude Data so that we point exact locations on Map.&lt;br /&gt;
To user bing maps ajax control place this script tag src&amp;nbsp;in your aspx page html or master page&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: red; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: red; font-size: x-small;&quot;&gt;src&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;=https://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;2.Pass Latitude and longidtude as Arrays to the Javascript function as i did in below, use this code in your code behind file in a method.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;StringBuilder sb = new StringBuilder(&quot;var lats = new Array(); var longs = new Array();var LocNames = new Array(); var Address = new Array();&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;sb.AppendLine();for (int i = 0; i &amp;lt; dtArrayLocations.Rows.Count; i++)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;if ((dtArrayLocations.Rows[i][&quot;Latitude&quot;] != System.DBNull.Value) &amp;amp;&amp;amp; (dtArrayLocations.Rows[i][&quot;Longitude&quot;] != System.DBNull.Value))&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;sb.AppendFormat(&quot;lats[{0}]={1};longs[{0}]={2};LocNames[{0}]=&#39;{3}&#39;;Address[{0}]=&#39;{4}&#39;;&quot;, i, dtArrayLocations.Rows[i][&quot;Latitude&quot;], dtArrayLocations.Rows[i][&quot;Longitude&quot;], dtArrayLocations.Rows[i][&quot;LOCATION_DESCRIPTOR&quot;].ToString(), dtArrayLocations.Rows[i][&quot;ADDRESS&quot;].ToString().Replace(&quot;\n&quot;, &quot;&quot;) + &quot;,&quot; + dtArrayLocations.Rows[i][&quot;CITY&quot;].ToString().Trim() + &quot;,&quot; + dtArrayLocations.Rows[i][&quot;STATE_CODE&quot;].ToString().Trim() + &quot;,&quot; + dtArrayLocations.Rows[i][&quot;ZIP&quot;].ToString().Trim() + &quot;&lt;br /&gt;
&quot; + FormatPhoneNumbers(dtArrayLocations.Rows[i][&quot;PHONE1&quot;].ToString().Trim()) + &quot;&lt;br /&gt;
&quot; + dtArrayLocations.Rows[i][&quot;FAX&quot;].ToString());&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;ScriptManager.RegisterStartupScript(this, this.GetType(), &quot;PointArrays&quot;, sb.ToString(), true);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;Page.Form.Attributes.Add(&quot;onload&quot;, &quot;LoadPushPins();&quot;);&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: black; font-size: small;&quot;&gt;3. Within Javscript LoadMap using the aobe latitude,longitude values. as below &lt;/span&gt;&lt;br /&gt;
&amp;nbsp; myMap = new VEMap(&#39;mapDiv&#39;);&lt;br /&gt;
function LoadPushPins() {&lt;br /&gt;
if (lats != null) {&lt;br /&gt;
for (var i = 0; i &amp;lt; lats.length; i++) {&lt;br /&gt;
var pp = new VEShape(VEShapeType.Pushpin, new VELatLong(lats[i], longs[i]));&lt;br /&gt;
myMap.SetCenterAndZoom(new VELatLong(lats[i], longs[i]), 13);&lt;br /&gt;
// Create a pin at that location&lt;br /&gt;
var desc = &quot;&quot;);&lt;br /&gt;
pp.SetDescription(desc);&lt;br /&gt;
myMap.AddShape(pp);&lt;br /&gt;
myMap.Resize()&lt;br /&gt;
}}&lt;br /&gt;
function Cluster() {&lt;br /&gt;
searchShapeLayer.SetClusteringConfiguration(VEClusteringType.Grid); &lt;br /&gt;
}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: black; font-family: Verdana, sans-serif;&quot;&gt;The idea of sharing this is to give basic idea to implement BING Maps with DB i had tough times in exploring this. If you need any more details leave comment i can get back to you.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black; font-family: Verdana, sans-serif; font-size: small;&quot;&gt;Enjoy :)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/1038865215201463161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/1038865215201463161' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/1038865215201463161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/1038865215201463161'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2011/04/implementing-bing-maps-ajax-control-in.html' title='Implementing BING Maps Ajax control in ASP.net'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7djeIiFozTIMBizRx0QDIL-15vptsDoFf4rA5FKyX47N1v3-FL8OcsjyoWAe6oUhJKAPEtNVU689rtXlMPJ_8L_I9-mbme0enc3lypLla1w1fB2iHDrorNdHq5eDZEwCLCiDzGgDardc/s72-c/LocationMap.JPG" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-1698741309232564176</id><published>2010-12-06T03:52:00.000-08:00</published><updated>2010-12-06T04:22:29.588-08:00</updated><title type='text'>AjaxControlToolKit-Tab Panel</title><content type='html'>These days i got a chance to work on real cool stuff using &lt;em&gt;&lt;strong&gt;AJAX control Toolkit&lt;/strong&gt;&lt;/em&gt;, i used &lt;strong&gt;Tab Panel&lt;/strong&gt;,&lt;strong&gt;CollapsiblePanelExtender&lt;/strong&gt; and also&lt;strong&gt; &lt;/strong&gt;&lt;span style=&quot;color: #403152; font-family: &#39;Verdana&#39;,&#39;sans-serif&#39;; font-size: 11pt; mso-ansi-language: EN-US; mso-bidi-font-family: &#39;Times New Roman&#39;; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;em&gt;Bing Maps AJAX Control, Version6.3&lt;/em&gt;&lt;/span&gt;&lt;/strong&gt;. &lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
You will be seeing some more stuff on my blog in comming weeks on these controls, for&amp;nbsp;now i would like to share something about TabPanel.&lt;br /&gt;
&lt;br /&gt;
Below code will display list of data in one tab and Map on other Tab, based on search performed in previous page.&lt;br /&gt;
&lt;br /&gt;
For this i used Design time to&amp;nbsp;work with&amp;nbsp;Tabcontainer and 2 Tab panels, check the below sample, if you need any more details leave a comment &lt;br /&gt;
&amp;lt;asp:toolkitscriptmanager id=&quot;ToolkitScriptManager1&quot; runat=&quot;server&quot; enablepagemethods=&quot;true&quot;&amp;gt;&lt;br /&gt;
&amp;lt;/asp:toolkitscriptmanager&amp;gt;&lt;br /&gt;
&amp;lt;asp:tabcontainer id=&quot;TabContainer1&quot; runat=&quot;server&quot; activetabindex=&quot;1&quot; cssclass=&quot;ajax__tab_xp&quot;&lt;br /&gt;
autopostback=&quot;true&quot; onactivetabchanged=&quot;TabContainer1_ActiveTabChanged&quot; width=&quot;100%&quot;&lt;br /&gt;
onclientactivetabchanged=&quot;LoadMap&quot;&amp;gt;&lt;br /&gt;
&amp;lt;asp:TabPanel runat=&quot;server&quot; HeaderText=&quot;List View&quot; ID=&quot;tbpanleList&quot; TabIndex=&quot;0&quot;&amp;gt;&lt;br /&gt;
&amp;lt;HeaderTemplate&amp;gt;&lt;br /&gt;
List View &lt;br /&gt;
&amp;lt;/HeaderTemplate&amp;gt; &lt;br /&gt;
&amp;lt;ContentTemplate&amp;gt;&lt;br /&gt;
&amp;lt;asp:UpdatePanel ID=&quot;UpdatePanel1&quot; runat=&quot;server&quot; UpdateMode=&quot;Conditional&quot; ChildrenAsTriggers=&quot;False&quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentTemplate&amp;gt;&lt;br /&gt;
&amp;lt;!--Display the results here using Grid/Table--&amp;gt; &lt;br /&gt;
&amp;lt;/ContentTemplate&amp;gt;&lt;br /&gt;
&amp;lt;Triggers&amp;gt;&lt;br /&gt;
&amp;lt;!--- Place any events for implementing callback using update panle defined above , this update panel will be for this Tab Panel---&amp;gt; &lt;br /&gt;
&amp;lt;/Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/asp:UpdatePanel&amp;gt; &lt;br /&gt;
&amp;lt;/ContentTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/asp:TabPanel&amp;gt;&lt;br /&gt;
&amp;lt;asp:TabPanel ID=&quot;tbpanleMapView&quot; HeaderText=&quot;Map View&quot; runat=&quot;server&quot; TabIndex=&quot;1&quot;&amp;gt;&lt;br /&gt;
&amp;lt;HeaderTemplate&amp;gt;&lt;br /&gt;
Map View&lt;br /&gt;
&amp;lt;/HeaderTemplate&amp;gt; &lt;br /&gt;
&amp;lt;ContentTemplate&amp;gt;&lt;br /&gt;
&amp;lt;div style=&quot;position: relative; width: 700px; height: 450px;&quot; id=&quot;mapDiv&quot; &quot; /&amp;gt; &lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/ContentTemplate&amp;gt; &lt;br /&gt;
&amp;lt;/asp:TabPanel&amp;gt;&lt;br /&gt;
&amp;lt;/asp:tabcontainer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:)</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/1698741309232564176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/1698741309232564176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/1698741309232564176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/1698741309232564176'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2010/12/ajaxcontroltoolkit-tab-panel.html' title='AjaxControlToolKit-Tab Panel'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-5088489445640986291</id><published>2010-09-03T01:46:00.000-07:00</published><updated>2010-09-03T02:13:57.907-07:00</updated><title type='text'>Parse XML and store to DataTable</title><content type='html'>Parse the xml results and store data to Datatable.Below a Method will Display Data in Lables using result DataTable when URL is passed.&lt;br /&gt;&lt;br /&gt; public void  DisplaySearchResults(string URL)&lt;br /&gt;    {&lt;br /&gt;      XmlDocument myXMLDocument = null; &lt;br /&gt;      DataRow drDetails;&lt;br /&gt;      string ID;&lt;br /&gt;      string Title;&lt;br /&gt;      string Desc;&lt;br /&gt;      Label lblErrorMessage= new Label();&lt;br /&gt;    &lt;br /&gt;      DataTable dtSearchResults = new DataTable();&lt;br /&gt;      try&lt;br /&gt;      {&lt;br /&gt;        myXMLDocument = new XmlDocument();&lt;br /&gt;        myXMLDocument.Load(URL);&lt;br /&gt;        XmlNodeList objNodeList = myXMLDocument.SelectNodes(&quot;Root/Child1/);&lt;br /&gt;        DataColumn dcID = new DataColumn(&quot;ID&quot;, typeof(string));&lt;br /&gt;        DataColumn dcTitle = new DataColumn(&quot;Title&quot;, typeof(string));&lt;br /&gt;        DataColumn dcDesc= new DataColumn(&quot;Description&quot;, typeof(string));&lt;br /&gt;        dtSearchResults.Columns.Add(dcID);&lt;br /&gt;        dtSearchResults.Columns.Add(dcTitle);&lt;br /&gt;        dtSearchResults.Columns.Add(dcDesc);&lt;br /&gt;foreach (XmlNode hitNode in objNodeList)&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;          drDetails = dtSearchResults.NewRow();&lt;br /&gt;          ID = hitNode.SelectSingleNode(&quot;FIELD[@NAME=&#39;id&#39;]&quot;).InnerText;&lt;br /&gt;          drDetails[&quot;ID&quot;] = ID;&lt;br /&gt;          &lt;br /&gt;&lt;br /&gt;          Title = hitNode.SelectSingleNode(&quot;FIELD[@NAME=&#39;title&#39;]&quot;).InnerText;&lt;br /&gt;          drDetails[&quot;Title&quot;] = Title;&lt;br /&gt;        &lt;br /&gt;          Desc = hitNode.SelectSingleNode(&quot;FIELD[@NAME=&#39;desc&#39;]&quot;).InnerText;&lt;br /&gt;          drDetails[&quot;Description&quot;] = Desc;&lt;br /&gt;&lt;br /&gt;          dtSearchResults.Rows.Add(drDetails);&lt;br /&gt;          dtSearchResults.AcceptChanges();&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;      TableRow row;&lt;br /&gt;      TableCell cell1;&lt;br /&gt;      TableRow rowbody;&lt;br /&gt;      TableCell cell2;&lt;br /&gt;      Label  lblTitle;&lt;br /&gt;      Label lblbodytext;&lt;br /&gt;   &lt;br /&gt;      lblErrorMessage.Text = &quot;&quot;;&lt;br /&gt;      if (dtSearchResults.Rows.Count &gt; 0)&lt;br /&gt;      {&lt;br /&gt;        for (int i = 0; i &lt; dtSearchResults.Rows.Count; i++)&lt;br /&gt;        {&lt;br /&gt;          row = new TableRow();&lt;br /&gt;          rowbody = new TableRow();&lt;br /&gt;          cell1 = new TableCell();&lt;br /&gt;          cell2 = new TableCell();&lt;br /&gt;&lt;br /&gt;          lblTitle = new Label();&lt;br /&gt;&lt;br /&gt;          lblTitle.Text = dtSearchResults.Rows[i][&quot;Title&quot;].ToString();&lt;br /&gt;          cell1.Controls.Add(lblTitle);&lt;br /&gt;          lblbodytext = new Label();&lt;br /&gt;          lblbodytext.Text = dtSearchResults.Rows[i][&quot;Description&quot;].ToString();&lt;br /&gt;&lt;br /&gt;          cell2.Controls.Add(lblbodytext);&lt;br /&gt;          row.Cells.Add(cell1);&lt;br /&gt;          rowbody.Cells.Add(cell2);&lt;br /&gt;          tblsearchresults.Rows.Add(row);&lt;br /&gt;          tblsearchresults.Rows.Add(rowbody);&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;      else&lt;br /&gt;      {&lt;br /&gt;        lblErrorMessage.Text = &quot;No search results were found. Please try again&quot;;&lt;br /&gt;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;Define a  asp table in your ASPX page like below&lt;br /&gt;  &lt;asp:Table ID=&quot;tblsearchresults&quot; runat=&quot;server&quot; Visible=&quot;false&quot;/&gt;&lt;br /&gt;&lt;br /&gt;This is basic solution, you can also do paging of xml result set like Google or Bing.&lt;br /&gt;&lt;br /&gt;If this solution helped anyone Please leave a comment.&lt;br /&gt;&lt;br /&gt;Enjoy Coding :)</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/5088489445640986291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/5088489445640986291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/5088489445640986291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/5088489445640986291'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2010/09/we-had-requirement-to-parse-xml-results.html' title='Parse XML and store to DataTable'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-7284904744071131064</id><published>2010-08-10T04:18:00.000-07:00</published><updated>2010-08-10T04:25:17.362-07:00</updated><title type='text'>SharePoint Server 2007 vs. 2010 Feature Comparison Matrix</title><content type='html'>Microsoft SharePoint Server 2010- You may have noticed that the &#39;Office&#39; part of the name has dropped out. The reason being is that the “Office” brand will no longer include Server side components (such as SharePoint).&lt;br /&gt;&lt;br /&gt;To know more about sharepoint 2010 check the below article that gives a comparison matrix between MOSS2007 and Sharepoint 2010.&lt;br /&gt;&lt;br /&gt;http://www.khamis.net/blog/Lists/Posts/Post.aspx?ID=4&lt;br /&gt;&lt;br /&gt;Have fun</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/7284904744071131064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/7284904744071131064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/7284904744071131064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/7284904744071131064'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2010/08/sharepoint-server-2007-vs-2010-feature.html' title='SharePoint Server 2007 vs. 2010 Feature Comparison Matrix'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-6213836486636737091</id><published>2010-08-10T04:07:00.000-07:00</published><updated>2010-08-10T04:15:09.356-07:00</updated><title type='text'>Free videos on sharepoint2010(Evaluation only)</title><content type='html'>Some Free videos on sharepoint2010(Evaluation only not full videos)&lt;br /&gt;&lt;br /&gt;http://www.point8020.com/SharePointEndUserTraining.aspx.&lt;br /&gt;&lt;br /&gt;Getting Started with SharePoint Server 2010 for IT Pros-http://technet.microsoft.com/en-us/sharepoint/ee518660.aspx&lt;br /&gt;&lt;br /&gt;Hope it helps  for Know-How of SharePoint 2010.&lt;br /&gt;&lt;br /&gt;Have Fun</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/6213836486636737091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/6213836486636737091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/6213836486636737091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/6213836486636737091'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2010/08/free-videos-on-sharepoint2010evaluation.html' title='Free videos on sharepoint2010(Evaluation only)'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-7502950801701193453</id><published>2010-05-03T02:33:00.000-07:00</published><updated>2010-05-03T02:44:54.573-07:00</updated><title type='text'>Display Breadcrumbs Trail in a simple way</title><content type='html'>Here is very crisp and short way of implementing Breadcrumb for ASP.net Website.&lt;br /&gt;&lt;br /&gt;Create a Link for Home,link for primary link and if you have secondary link and a label to display page user enterd.&lt;br /&gt;HyperlinkHome&gt;[hyperlink1]&gt;&gt;[hyperlink2]&gt;[lblPageName].&lt;br /&gt;&lt;br /&gt;Create 3 properties for Primarylink1 and secondarylink(if any) and for label.&lt;br /&gt;      public string primarylinkpagecode{ get; set; }&lt;br /&gt;      public string primarylinkpageText { get; set; }&lt;br /&gt;      public string SecondarylinkpagecodeCode { get; set; }&lt;br /&gt;      public string SecondarylinkpageText { get; set; }&lt;br /&gt;      public string PageTitle { get; set; }&lt;br /&gt;The page&#39;s which are going to utilize this breadcrumb should pass the respective values to the above properties.&lt;br /&gt;&lt;br /&gt;Ex:&lt;br /&gt;Home&gt;Cameras&gt;Sony&gt;Sony cybershot&lt;br /&gt;          UCBreadCrum.Link1Code = Cameras;&lt;br /&gt;          UCBreadCrum.LinkText = Cameras;&lt;br /&gt;          UCBreadCrum.Link2Code = Sony;&lt;br /&gt;          UCBreadCrum.Link2Text = Sony;&lt;br /&gt;          UCBreadCrum.Title = Sony Cybershot;&lt;br /&gt;&lt;br /&gt;If you have any static pages and want to implement breadcrumbs below are value and properites to be passed.&lt;br /&gt;&lt;br /&gt;1.Breadcrumb for a static &lt;br /&gt;  Home&gt;Company&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                    Link2Code=&quot;static&quot;&lt;br /&gt;                    Link2Text=&quot;Company&quot;&lt;br /&gt;2.If you want to display breadcrumb trial as &lt;br /&gt;  Home&gt;Company&gt;About us the&lt;br /&gt;  &lt;br /&gt;                Link2Code=&quot;static&quot;&lt;br /&gt;                Link2Text=&quot;Company&quot;&lt;br /&gt;                Title=&quot;About uS&quot;&lt;br /&gt;And Keep the URL for Company  in web.cofig and make sure the Like2TExt(Company) and web.config key name should be same(Even same case) .&lt;br /&gt;&lt;br /&gt;&lt;add key=&quot;Company&quot; value=&quot;../Page/Company.aspx&quot; /&gt;&lt;br /&gt;&lt;br /&gt;below sample code for Displaying Breadcrumb for static page.&lt;br /&gt;&lt;br /&gt;if (Link2Code == &quot;static&quot;)&lt;br /&gt;    {&lt;br /&gt;      lbl1.Visible = true;&lt;br /&gt;      lbl2.Visible = false;&lt;br /&gt;      lbl3.Visible = true;&lt;br /&gt;      hlHome.Visible = true;&lt;br /&gt;      hlHome.Text = &quot;Home&quot;;&lt;br /&gt;      hlHome.NavigateUrl = &quot;../Forms/Index.aspx&quot;;&lt;br /&gt;      hlLink2.Text = &quot;&amp;nbsp;&quot; + Linke2Text + &quot;&amp;nbsp;&quot;;&lt;br /&gt;      hlLink2.Visible = true;&lt;br /&gt;      lblName.Text = &quot;&amp;nbsp;&quot; + Title;&lt;br /&gt;      lblName.Visible = true;&lt;br /&gt;      hlLink2.NavigateUrl = System.Configuration.ConfigurationManager.AppSettings[Linke2Text];&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you need more information on implementing breadcrumb for dynamic content pages like any detail pages ,let me know.&lt;br /&gt;&lt;br /&gt;Happy coding</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/7502950801701193453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/7502950801701193453' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/7502950801701193453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/7502950801701193453'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2010/05/display-breadcrumbs-trail-in-simple-way.html' title='Display Breadcrumbs Trail in a simple way'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-6696741254143852470</id><published>2009-11-04T20:51:00.000-08:00</published><updated>2009-11-04T21:50:52.618-08:00</updated><title type='text'>Downloadable content for Office SharePoint Server 2007</title><content type='html'>Some of the content in the Microsoft Office SharePoint Server 2007 technical library is available in downloadable and printable form as Microsoft Office Word documents (.doc files). The content in these books is a copy of selected content in the Office SharePoint Server technical library http://go.microsoft.com/fwlink/?LinkId=84739 as of the date listed for each book. For the most current content, see the technical library on the Web.&lt;br /&gt;&lt;br /&gt;A list of newly published content for Office SharePoint Server 2007 are available at below link :http://technet.microsoft.com/en-us/library/cc262788.aspx&lt;br /&gt;&lt;br /&gt;In this article:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Getting Started&lt;br /&gt;&lt;br /&gt;Planning&lt;br /&gt;&lt;br /&gt;Deployment&lt;br /&gt;&lt;br /&gt;Operations&lt;br /&gt;&lt;br /&gt;Security&lt;br /&gt;&lt;br /&gt;Solutions&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Exlpore MOSS :)</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/6696741254143852470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/6696741254143852470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/6696741254143852470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/6696741254143852470'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2009/11/downloadable-content-for-office.html' title='Downloadable content for Office SharePoint Server 2007'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-5565122600671375706</id><published>2009-11-04T20:17:00.001-08:00</published><updated>2009-11-04T20:23:12.303-08:00</updated><title type='text'>Steps to get a Google search on your site</title><content type='html'>Do you want to add Google search to your MOSS Site &lt;br /&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 243px; height: 151px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji6WoT9BGR1mP1Qmo7WT4LLlytj1YcawJjISPKPB6qhRmZDo885SkL9RIs0KeqY6gSHAvh7UVlIpSxWfG7gKOtg4ZjzfL8OV1v2jXa8VvL5_oWmGRm3rcasE0cSBH6iTVNjSGsHL2BP_g/s320/googlesearch.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5400469912142186226&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Below are some simple steps to get a Google search on your site:&lt;br /&gt;1. Navigate to C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\LAYOUTS&lt;br /&gt;2. Create a new folder called &quot;external&quot;&lt;br /&gt;3. Inside the folder create a single HTML page with the following contents:&lt;br /&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 107px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUR9M5HBNKK6ed6TeYT7oUwvvM9N5MWwUtVJoa5BWven0P_7SyB968biVauTa8a1yHki5OZYykrIsFRv6-PundfUv2nXag0NzDr8biuSJLPazOR4aGcLBYOfMD9MEtZczhYgu3Kp01EzY/s320/code.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5400469055040318226&quot; /&gt;&lt;br /&gt;4. Save the file as &quot;googlesearch.htm&quot;&lt;br /&gt;5. Go to your MOSS Site&lt;br /&gt;6. Drop Page Viewer Web Part, Add the url to the page using Link in the properties of the web part will be http://&lt;&lt;mossite&gt;&gt;/_layouts/external/google.htm</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/5565122600671375706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/5565122600671375706' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/5565122600671375706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/5565122600671375706'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2009/11/steps-to-get-google-search-on-your-site.html' title='Steps to get a Google search on your site'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji6WoT9BGR1mP1Qmo7WT4LLlytj1YcawJjISPKPB6qhRmZDo885SkL9RIs0KeqY6gSHAvh7UVlIpSxWfG7gKOtg4ZjzfL8OV1v2jXa8VvL5_oWmGRm3rcasE0cSBH6iTVNjSGsHL2BP_g/s72-c/googlesearch.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-6895994680365569337</id><published>2009-10-27T22:36:00.000-07:00</published><updated>2009-10-27T22:42:36.037-07:00</updated><title type='text'>Google Wave</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRJDKUAwCWWj_lZWHodLZdEnVzrj6fWUs5JIGovMzTUyADxb7i3_ZzSjSM0xNq_r0izg_a9yBKlpteD-Lry9x2RXe_qUqPlddUtv0JxJif5tc9IvTITuMf7RdsX94mYe0bPTV51sYkFHs/s1600-h/googlewave.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 128px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRJDKUAwCWWj_lZWHodLZdEnVzrj6fWUs5JIGovMzTUyADxb7i3_ZzSjSM0xNq_r0izg_a9yBKlpteD-Lry9x2RXe_qUqPlddUtv0JxJif5tc9IvTITuMf7RdsX94mYe0bPTV51sYkFHs/s200/googlewave.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5397521001941048546&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Google Wave is &quot;a personal communication and collaboration tool&quot; announced by Google at the Google I/O conference on May 27, 2009.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What is a wave?&lt;br /&gt;&lt;strong&gt;A wave is equal parts conversation and document&lt;/strong&gt;. People can communicate and work together with richly formatted text, photos, videos, maps, and more. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A wave is shared&lt;/strong&gt;. Any participant can reply anywhere in the message, edit the content and add participants at any point in the process. Then playback lets anyone rewind the wave to see who said what and when.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A wave is live&lt;/strong&gt;. With live transmission as you type, participants on a wave can have faster conversations, see edits and interact with extensions in real-time.&lt;br /&gt;&lt;br /&gt;Here&#39;s how it works: In Google Wave you create a wave and add people to it. Everyone on your wave can use richly formatted text, photos, gadgets, and even feeds from other sources on the web. They can insert a reply or edit the wave directly. It&#39;s concurrent rich-text editing, where you see on your screen nearly instantly what your fellow collaborators are typing in your wave. That means Google Wave is just as well suited for quick messages as for persistent content — it allows for both collaboration and communication. You can also use &quot;playback&quot; to rewind the wave and see how it evolved.&lt;br /&gt;&lt;br /&gt;For more details check this link. &lt;br /&gt;&lt;a href=&quot;http://googleblog.blogspot.com/2009/05/went-walkabout-brought-back-google-wave.html&quot;&gt;Google Wave&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Be the first one to create Wave :)</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/6895994680365569337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/6895994680365569337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/6895994680365569337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/6895994680365569337'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2009/10/google-wave.html' title='Google Wave'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRJDKUAwCWWj_lZWHodLZdEnVzrj6fWUs5JIGovMzTUyADxb7i3_ZzSjSM0xNq_r0izg_a9yBKlpteD-Lry9x2RXe_qUqPlddUtv0JxJif5tc9IvTITuMf7RdsX94mYe0bPTV51sYkFHs/s72-c/googlewave.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-4953807088767209158</id><published>2009-10-22T02:25:00.000-07:00</published><updated>2009-10-22T02:36:32.317-07:00</updated><title type='text'>Edit Forms New Button and Delete Button Events in ASPXGridView</title><content type='html'>How to Pass the values of the columns for saving in Edit button New Button click event.&lt;br /&gt;This event is triggerd w.r.t GvAddrow() of the Grid.&lt;br /&gt;&lt;br /&gt;Create the event InitNewRow of Gridview.&lt;br /&gt;gridview.InitNewRow+=new DevExpress.Web.Data.ASPxDataInitNewRowEventHandler(gridview_InitNewRow);&lt;br /&gt;&lt;br /&gt;protected void gridview_InitNewRow(object sender, DevExpress.Web.Data.ASPxDataInitNewRowEventArgs e)&lt;br /&gt;    {&lt;br /&gt;      e.NewValues[&quot;Name&quot;] = &quot;&quot;;&lt;br /&gt;      e.NewValues[&quot;DOB&quot;] = new DateTime(2009, 1, 10);&lt;br /&gt;      e.NewValues[&quot;Active&quot;] = &quot;&quot;;&lt;br /&gt;      &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Similar to Insert, items in Grid view in Edit form for Delete Button.&lt;br /&gt;&lt;br /&gt; gridview.RowDeleting += new DevExpress.Web.Data.ASPxDataDeletingEventHandler(gridview_RowDeleting);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void gridview_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)&lt;br /&gt;    {&lt;br /&gt;      e.Cancel = true;&lt;br /&gt;//Code for deleting will be added here.&lt;br /&gt;    }&lt;br /&gt;The above event is triggerd w.r.t GVDeleterow.&lt;br /&gt;&lt;br /&gt;Any questions on these shoot</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/4953807088767209158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/4953807088767209158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/4953807088767209158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/4953807088767209158'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2009/10/how-to-pass-values-of-columns-for.html' title='Edit Forms New Button and Delete Button Events in ASPXGridView'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-4227014365065105576</id><published>2009-10-22T02:15:00.000-07:00</published><updated>2009-10-22T02:25:15.805-07:00</updated><title type='text'>Adding Items to  combo box&amp; Check box Column using DevExpress in Edit Form</title><content type='html'>We had requirement to Create ComboBox column and add items onl fly, and creating CheckBox using Devexpress ASPXGridview&lt;br /&gt;&lt;br /&gt;     GridViewDataComboBoxColumn colddl = new GridViewDataComboBoxColumn();&lt;br /&gt;       colddl.Caption = &quot;ComboBoxColumn&quot;;&lt;br /&gt;       colddl.FieldName = &quot; ComboBoxColumn &quot;;&lt;br /&gt;       colddl.Settings.AllowSort = DevExpress.Web.ASPxClasses.DefaultBoolean.False;&lt;br /&gt;       colddl.PropertiesComboBox.Items.Add(&quot;JACK&quot;);&lt;br /&gt;       colddl.PropertiesComboBox.Items.Add(&quot;BEN&quot;);&lt;br /&gt;      gridview.Columns.Add(colddl);&lt;br /&gt;Similary you can also create Checkbox column using GridViewDataCheckColumn.&lt;br /&gt;&lt;br /&gt;These controls will be added in ASPXGrid viewEdit form(Edit Button).&lt;br /&gt; GridViewDataCheckColumn colddlActive = new GridViewDataCheckColumn();&lt;br /&gt;      colddlActive.Caption = &quot;Active&quot;;&lt;br /&gt;      colddlActive.FieldName = &quot;Active&quot;;&lt;br /&gt;      colddlActive.Settings.AllowSort = DevExpress.Web.ASPxClasses.DefaultBoolean.False;&lt;br /&gt;           gvSubstitutions.Columns.Add(colddlActive);&lt;br /&gt;&lt;br /&gt;Explore ....</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/4227014365065105576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/4227014365065105576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/4227014365065105576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/4227014365065105576'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2009/10/adding-items-to-combo-box-column-on-fly.html' title='Adding Items to  combo box&amp; Check box Column using DevExpress in Edit Form'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-8670746450862722004</id><published>2009-10-14T23:48:00.000-07:00</published><updated>2009-10-15T01:58:11.441-07:00</updated><title type='text'>Hide Columns of GridView in Edit Mode</title><content type='html'>Hi,&lt;br /&gt;We had a requirement to Hide the columns of Grid in Edit form.And for that i have used EditFormSettings of the GridViewDataColumn.Pls find below code snippet.&lt;br /&gt;&lt;br /&gt;Note: Below Solution/code is for DevExpress Controls FYI.&lt;br /&gt;&lt;br /&gt;Gridviewcommand column creation.&lt;br /&gt;Gridviewcommand column creation.&lt;br /&gt;GridViewCommandColumn colItemTemplate = new GridViewCommandColumn();&lt;br /&gt;      colItemTemplate.NewButton.Visible = true;&lt;br /&gt;      colItemTemplate.EditButton.Visible = true;&lt;br /&gt;      gridview.Columns.Add(colItemTemplate);&lt;br /&gt;&lt;br /&gt;Creating Event      &lt;br /&gt;gridview.StartRowEditing+=new DevExpress.Web.Data.ASPxStartRowEditingEventHandler(gridview_StartRowEditing);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private  void gridview_StartRowEditing(object sender, DevExpress.Web.Data.ASPxStartRowEditingEventArgs e)&lt;br /&gt;  {&lt;br /&gt;    if (!gridview.IsNewRowEditing)&lt;br /&gt;      {&lt;br /&gt;        gridview.DoRowValidation();&lt;br /&gt;           &lt;br /&gt;   ((GridViewDataColumn)gridview.Columns[2]).EditFormSettings.Visible = DevExpress.Web.ASPxClasses.DefaultBoolean.False;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you need more info leave a comment.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Njoy :)</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/8670746450862722004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/8670746450862722004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/8670746450862722004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/8670746450862722004'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2009/10/hide-columns-of-gridview-in-edit-mode.html' title='Hide Columns of GridView in Edit Mode'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-2213375578213463571</id><published>2009-09-13T22:19:00.000-07:00</published><updated>2009-09-13T23:14:17.265-07:00</updated><title type='text'>Deploying Sharepoint Webparts</title><content type='html'>Deploying a Web Part solution includes more tasks than simply copying assemblies and resource files, and updating the SafeControl list. For example, it is recommended , apply custom code access security permissions for the assembly to function properly. &lt;br /&gt;Additionally, when preparing to deploy a Web Part across a server or server farm that includes multiple portals sites, you may choose to deploy to Web Part only to specific virtual servers. &lt;br /&gt;1. Steps for Deploying SharePoint Web Part via manualy&lt;br /&gt;      I.Copy assembly DLL to either&lt;br /&gt;         - /bin directory for a given IIS virtual server (e.g., c:\inetpub\wwwroot\bin)&lt;br /&gt;         - Global Assembly Cache (e.g., c:\windows\assembly) &lt;br /&gt;      II.Copy DWP file to C:\Inetpub\wwwroot\wpcatalog &lt;br /&gt;      III.Copy resources to&lt;br /&gt;         - For GAC-registered parts, C:\Program Files\Common Files\Microsoft Shared\web server extensions\wpresources&lt;br /&gt;         - For Web Parts in the /bin directory, C:\Inetpub\wwwroot\wpresources &lt;br /&gt;      IV.Adjust web.config&lt;br /&gt;        - Register as SafeControl&lt;br /&gt;        - Select Code Access Security settings&lt;br /&gt;2. Steps for Deploying SharePoint Webpart via CAB File&lt;br /&gt;a. CAB file should contain&lt;br /&gt;-Assembly DLL&lt;br /&gt;-DWP file(s)&lt;br /&gt;-Manifest.XML&lt;br /&gt;-Resource files (if needed) &lt;br /&gt;b. CAB won&#39;t contain&lt;br /&gt;- Code Access Security settings&lt;br /&gt;c. Server-side object model has methods for deploying such a CAB file &lt;br /&gt;d. Deploy with STSADM.EXE&lt;br /&gt;Located in C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\BIN&lt;br /&gt;Add it to your path&lt;br /&gt;Stsadm -o addwppack -filename filename [-globalinstall] [-force]&lt;br /&gt;&lt;br /&gt;3.Creating a code-only webpart and deploying as a feature  &lt;br /&gt;Building a simple web part in Visual Studio is deceptively simple. However, deploying the web part (or anything else) to SharePoint is not nearly as easy. The proper way to deploy almost anything to WSS 3.0/MOSS 2007 is by creating one or more features and distributing the feature(s) with a solution package. Solution packages are nothing more than .cab files with a .wsp extension. Building a solution file manually involves a number of steps and can be tedious and error prone. Fortunately for developers, Carsten Keutmann (http://keutmann.blogspot.com/) has created a wonderful  tool that allows developers to quickly and easily create solution packages without knowing the intricacies of makecab.exe. diamond definition files, manifest.xml files or SafeControl entries. &lt;br /&gt;&lt;br /&gt;WSPBuilder is available as both a command-line executable and a Visual Studio add-in. More detail on this can be found at &lt;br /&gt;&lt;br /&gt;http://www.sharepointsean.com/articles/Pages/CreatingaCode-Onlywebpartanddeployingasafeature.aspx&quot;</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/2213375578213463571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/2213375578213463571' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/2213375578213463571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/2213375578213463571'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2009/09/deploying-sharepoint-webparts.html' title='Deploying Sharepoint Webparts'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-2576448009078508602</id><published>2009-09-12T04:15:00.000-07:00</published><updated>2009-09-13T23:15:27.286-07:00</updated><title type='text'>Service-Oriented Architecture-[Definition]</title><content type='html'>Every one is talking about it- SOA(Service-Oriented Architecture)&lt;br /&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br /&gt;For many organizations, the logical starting place for investigating service-oriented architecture is the consideration of Web services. However Web services are not inherently service oriented. A Web service merely exposes a capability that conforms to Web services protocols. &lt;br /&gt;&lt;br /&gt; It is an attempt to develop yet another means for software module integration. Rather than defining an API, SOA defines the interface in terms of protocols and functionality. An endpoint is the entry point to such an SOA implementation.&lt;br /&gt;&lt;br /&gt;Service-orientation requires loose coupling of services with operating systems, and other technologies that underlie applications. SOA separates functions into distinct units, or services[1], which developers make accessible over a network in order that users can combine and reuse them in the production of applications.&lt;br /&gt;&lt;br /&gt;We have progressed from modules, to objects, to components, and now to services. However in many respects the naming of SOA is unfortunate. Whilst SOA is of course about architecture, it is impossible to constrain the discussion to architecture, because matters such as business design and the delivery process are also important considerations. A more useful nomenclature might be Service Orientation (or SO). There are actually a number of parallels with object orientation (or OO) and component-based development (CBD): &lt;br /&gt;&lt;br /&gt;Service-oriented architectures are not a new thing. The first service-oriented architecture for many people in the past was with the use DCOM.&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 40px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD0jPSc-lzppBkZRP5fdRECUad24u9z1JpCd-rUxdEB2grZkuO4_3jV3eIpQmfffOA34wjSEPBSjBqZMX4kouA-LaeNGWPZOkfsfnWTEnnPd2AnieXHwkeQlO5jFoxkihvCCkRI_nQwlU/s200/service-oriented_architecture_basics.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5380539538540220242&quot; /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Note:These are few points i have which i posted while i was browsing on this Topic.&lt;br /&gt;&lt;br /&gt;For More details  visit:&lt;br /&gt;&lt;br /&gt;http://msdn.microsoft.com/en-us/library/aa480021.aspx&lt;br /&gt;&lt;br /&gt;http://www.service-architecture.com/web-services/articles/service-oriented_architecture_soa_definition.html.</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/2576448009078508602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/2576448009078508602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/2576448009078508602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/2576448009078508602'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2009/09/service-oriented-architecture.html' title='Service-Oriented Architecture-[Definition]'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD0jPSc-lzppBkZRP5fdRECUad24u9z1JpCd-rUxdEB2grZkuO4_3jV3eIpQmfffOA34wjSEPBSjBqZMX4kouA-LaeNGWPZOkfsfnWTEnnPd2AnieXHwkeQlO5jFoxkihvCCkRI_nQwlU/s72-c/service-oriented_architecture_basics.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-7868010045755128047</id><published>2009-09-12T03:38:00.000-07:00</published><updated>2009-09-12T04:14:15.750-07:00</updated><title type='text'>Basics on WorkFlows in Sharepoint</title><content type='html'>A workflow is a natural way to organize and run a set of work units, or activities, to form an executable representation of a work process. This process can control almost any aspect of an item in Windows SharePoint Services, including the life cycle of that item. The workflow is flexible enough to model both the system functions and the human actions necessary for the workflow to complete.&lt;br /&gt;&lt;br /&gt;You can create workflows that are as simple or complex as your business processes require. You can create workflows that the user initiates, or workflows that Windows SharePoint Services automatically initiates based on some event, such as when an item is created or changed.&lt;br /&gt;&lt;br /&gt;Suppose you need to create a simple workflow that routes a document to a series of users for approval or comments. This workflow would include actions that the system needs to perform, as well as provide interfaces for the users to interact with the workflow in prescribed ways. &lt;br /&gt;The workflow functionality in Windows SharePoint Services 3.0 is built on the Windows Workflow Foundation (WF), a Microsoft Windows platform component that provides a programming infrastructure and tools for development and execution of workflow-based applications.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIAqCDNe20GmHfi83M4Vt96ynOkvgt-fypGd6GQkyyVU7bxjQACHJf3P6Zg-jbiWscmUn7q-DV9D52D30e1ZN_HFtMkXN61GlA6AZPYpYt6Rev_S4kilW6-VD1aCRD7KpLdjj_uh2PM2A/s1600-h/wf.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 282px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIAqCDNe20GmHfi83M4Vt96ynOkvgt-fypGd6GQkyyVU7bxjQACHJf3P6Zg-jbiWscmUn7q-DV9D52D30e1ZN_HFtMkXN61GlA6AZPYpYt6Rev_S4kilW6-VD1aCRD7KpLdjj_uh2PM2A/s320/wf.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5380529616494009522&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Windows Workflow Foundation supports two fundamental workflow styles: &lt;br /&gt;• Sequential workflowsÂ Â Â Represents a workflow as a procession of steps that execute in order until the last activity completes. However, sequential workflows are not purely sequential in their execution. Because they can receive external events and include parallel logic flows, the exact order of activity execution can vary.&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7Wv5jrs_2PokpKGXphyphenhyphenVFf7Pn5bRYFY_RTEnkJP9o7DNdcscNf0RUHn_4szWmC3LvOfQ8rSVBvHYEbe7q6xk0ld1324qNBz88tg0Wou817pXuddzV9lWrZrWjrlN3UHX6-0glTAgexlw/s1600-h/sqwf.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 115px; height: 200px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7Wv5jrs_2PokpKGXphyphenhyphenVFf7Pn5bRYFY_RTEnkJP9o7DNdcscNf0RUHn_4szWmC3LvOfQ8rSVBvHYEbe7q6xk0ld1324qNBz88tg0Wou817pXuddzV9lWrZrWjrlN3UHX6-0glTAgexlw/s200/sqwf.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5380530226154067586&quot; /&gt;&lt;/a&gt;&lt;br /&gt;• State machine workflowsÂ Â Â Represents a set of states, transitions, and actions. One state is denoted as the start state, and then, based on an event, a transition can be made to another state. The state machine can have a final state that determines the end of the workflow.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsPeHFJHVnx480BRGakIZiiqvYjA1rXotmPLFCov-63-AtHp4OVEgZY2Pq3O84iV7rpS2XGKH4OVbTpuK3Saprh-f75Yak029FSarngfMiQVF1ZydQIeC5rlAK62UKjdKgAzeeBsGpeVk/s1600-h/statewf.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 174px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsPeHFJHVnx480BRGakIZiiqvYjA1rXotmPLFCov-63-AtHp4OVEgZY2Pq3O84iV7rpS2XGKH4OVbTpuK3Saprh-f75Yak029FSarngfMiQVF1ZydQIeC5rlAK62UKjdKgAzeeBsGpeVk/s200/statewf.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5380530317847039458&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One characteristic of both sequential and state machine workflows is that each type of workflow can be broken into a collection of discrete actionsâ€”those performed by the system, and those taken by users. You can consider these actions to be the building blocks of workflows. In WF workflows, these actions are referred to as activities.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Workflow Composition&lt;/strong&gt;&lt;br /&gt;Earlier, we defined a workflow as a way to organize and run a set of work units, or activities, to form an executable representation of a work process. Therefore, each WF workflow consists of a set of related activities. An activity is the elemental unit of modeling, programmability, reuse, and execution within Windows Workflow Foundation. An activity may be performed by the system or by a user. For example, the system may send someone an e-mail message as an alert; or a person might approve a document for distribution.&lt;br /&gt;Conceptually, our sequential workflow example includes five activities: &lt;br /&gt;&lt;blockquote&gt;• Send e-mail message to notify approver&lt;br /&gt;• Approve or reject document&lt;br /&gt;• Move document to &quot;Approved&quot; document library&lt;br /&gt;• Send e-mail message to notify team&lt;br /&gt;• Send e-mail message to notify document author&lt;/blockquote&gt;&lt;br /&gt;Activities can also represent logical control structures that define scope and direct the execution flow of the workflow, much as code logic controls, such as If Then and Do While loops, control the program flow in code.&lt;br /&gt;Activities can have properties, methods, and events. Simple activities perform a single unit of work, such as &quot;delay for 1 day&quot; or &quot;invoke Web service.&quot; Composite activities contain other activities; for example, a conditional with two branches. You can also attach handlers, such as error or compensation handlers, to activities. This is especially advisable for composite activities.&lt;br /&gt;In essence, the workflow itself is simply a composite activity that contains all the other activities in that workflow.&lt;br /&gt;Therefore, workflow can be seen as a set of activities stored as a model that describes a real-world process. Work passes through the model from start to finish, and activities might be executed by people or by system functions. Workflow provides a way of describing the order of execution and dependent relationships between pieces of short-running or long-running work.&lt;br /&gt;&lt;br /&gt;Windows Workflow Foundation includes a number of predefined activities that you can use in your workflows, or you can create your own custom activities. The Windows SharePoint Services workflow project template pack contains numerous activities designed explicitly for use in the Windows SharePoint Services environment.&lt;br /&gt;&lt;br /&gt;Each WF workflow can be represented by the following combinations of files:&lt;br /&gt;• An XML file, or markup file, that includes the declarative metadata of the workflow&lt;br /&gt;• The markup file, in combination with a code-behind file that contains custom code representing the properties and behavior of the workflow&lt;br /&gt;• A code file (or files) that include both the declarative logic and behavior of the workflow&lt;br /&gt;The markup file is written in Extensible Application Markup Language (XAML), which has a published schema to which the file must adhere, and given a file extension of .xoml.&lt;br /&gt;Because the XAML has a published schema, you can create XAML files using any text or XML editor you choose. However, the two workflow authoring tools discussed in this article, the Visual Studio 2005 Designer for Windows Workflow Foundation and Microsoft Office SharePoint Designer 2007, provide developers with a graphical interface in which to create workflows and automatically generate the appropriate markup file.&lt;br /&gt;&lt;br /&gt;Workflows in Windows SharePoint Services and SharePoint Server 2007&lt;br /&gt;So far, we have discussed the attributes of workflows for any application that implements the Windows Workflow Foundation. Now, let&#39;s take a closer look at workflows as they are implemented in Windows SharePoint Services specifically and discuss important aspects of that implementation.&lt;br /&gt;&lt;br /&gt;Workflow Templates and Instances&lt;br /&gt;In Windows SharePoint Services, workflows that are available on a site or list are referred to as workflow templates; a workflow that is actually running on a specific SharePoint item is called a workflow instance. So, on a given list, several instances of the same workflow template may be running at the same time, each on a different SharePoint item. More than one workflow can be running on a given SharePoint item at a time.&lt;br /&gt;&lt;br /&gt;You can run workflows on documents or list items. You make a workflow template available on a site through a process called association, discussed later in this article.&lt;br /&gt;&lt;br /&gt;Using Forms to Enable User Interaction with Windows SharePoint Services&lt;br /&gt;Although you can use Windows SharePoint Services workflows to model any number of unique business processes, there are several common stages at which user can interact with the workflow template or instance.&lt;br /&gt;&lt;br /&gt;For the user to pass information to the workflow, the developer must provide an interface for that interaction through the use of a form. Adding forms to workflows enables you to make your workflows more dynamic and flexible. Forms enable you to gather information from users at predefined times in the life of a workflow, as well as let users interact with the tasks for that workflow.&lt;br /&gt;&lt;br /&gt;Technically, you can employ any forms technology with WF workflows, as long as your forms are capable of doing the following: &lt;br /&gt;&lt;br /&gt;Invoking the Windows SharePoint Services object model&lt;br /&gt;&lt;br /&gt;Generating the data necessary to send to the Windows SharePoint Services object model&lt;br /&gt;&lt;br /&gt;Receiving and parsing the required data from the Windows SharePoint Services object model&lt;br /&gt;&lt;br /&gt;Any information passed to the form on load is formatted as a string, as is the data the form must pass back to the Windows SharePoint Services 3.0 object model when the user submits the form. Although this string is typically XML, you can use any data format that can be formatted as a string, as long as your form is able to generate strings in that format and parse strings it receives.&lt;br /&gt;&lt;br /&gt;Windows SharePoint Services supports the use of ASP.NET 2.0 forms. How these forms are implemented depends on whether the developer uses the Visual Studio 2005 Designer for Windows Workflow Foundation or SharePoint Designer 2007 as the workflow authoring tool. In addition, SharePoint Server 2007 offers developers the ability to integrate Microsoft Office InfoPath forms with their workflows. These InfoPath forms can be hosted within the Microsoft Office client applications, such as Microsoft Office Word, Microsoft Office PowerPoint, Microsoft Office Excel, and InfoPath, as well as the client browser, and provide a richer client experience. For more information about how each workflow authoring tool implements workflow forms, see ASP.NET Forms in Windows SharePoint Services Workflows, InfoPath Forms in SharePoint Server Workflows, and ASP.NET Forms in SharePoint Designer Workflows.&lt;br /&gt;&lt;br /&gt;Whatever forms technology is used, the conceptual operation of each form is the same. Windows SharePoint Services displays the form to the user at the appropriate juncture in the workflow. The user enters information, and submits the form. &lt;br /&gt;&lt;br /&gt;As workflow developer, you are responsible for programming what happens when the user submits a form. In most cases, your form calls into the Windows SharePoint Services object model and invokes the appropriate method to pass the form information to the correct workflow instance.&lt;br /&gt;&lt;br /&gt;The information string can be in any format, provided that both the form and the workflow activity are programmed to parse the string. In most cases, developers will likely choose to use XML.&lt;br /&gt;&lt;br /&gt;Windows SharePoint Services passes the string information to the WF run-time engine, the workflow instance, and ultimately the correct activity within the workflow instance. The activity receiving the information can then respond as programmed. Figure 4 shows how a form integrates with workflow.&lt;br /&gt;&lt;br /&gt;Figure 4. Form integration with workflow&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;Three types of forms are used in Windows SharePoint Services workflows: &lt;br /&gt;&lt;br /&gt;Association and initialization forms   Association and initialization forms are displayed for users to fill out before any workflow is actually started. You can use these forms to enable users to set parameters and other information for the workflow before it starts.&lt;br /&gt;&lt;br /&gt;Modification forms   Modifications are options you present to users to change the workflow as it is running on an item. You can then create modification forms that enable users to specify the parameters of the modification.&lt;br /&gt;&lt;br /&gt;Task forms   You can also specify custom forms for the tasks in your workflow, based on the workflow task type. Each workflow task type in Windows SharePoint Services is assigned a content type; the content type definition determines whether a custom form is specified for a given workflow task type.&lt;br /&gt;&lt;br /&gt;These three types of forms represent the predefined stages at which users can interact with the workflow. We discuss these stages next.&lt;br /&gt;&lt;br /&gt;Points of User Interaction with Workflows&lt;br /&gt;Let&#39;s look more closely at the various stages at which users can interact with workflows in Windows SharePoint Services and SharePoint Server.&lt;br /&gt;&lt;br /&gt;Association&lt;br /&gt;Association occurs when a site administrator makes the workflow template available on a specific document library, list, or content type. At this stage, the site administrator customizes the workflow for this specific document library, list, or content type by specifying the following parameter information:&lt;br /&gt;&lt;br /&gt;A unique name for the workflow&lt;br /&gt;&lt;br /&gt;How the workflow is applied to a given item: either automatically when the item is created or changed, or manually; and which roles, such as Administrator or Contributor, can start a workflow&lt;br /&gt;&lt;br /&gt;The Task list, in which the workflow can create tasks&lt;br /&gt;&lt;br /&gt;The History list in which the workflow can store history events, as defined by the workflow&lt;br /&gt;&lt;br /&gt;In addition, the workflow developer can enable the site administration to further customize the workflow by setting parameter information specific to the particular workflow. The administrator may have to specify parameters, default values, and other information for the workflow as it applies to items on the list, library, or content type with which the administrator is associating it.&lt;br /&gt;&lt;br /&gt;Associating a workflow actually occurs outside the workflow itself; no workflow instance is actually started during association. Rather, Windows SharePoint Services stores the association information in a special internal workflow association table. Then, when the workflow instance is actually started, Windows SharePoint Services uses the association data (and the initiation data, if any) to set the parameters of the new workflow instance.&lt;br /&gt;&lt;br /&gt;Initiation&lt;br /&gt;Whereas association deals with the workflow as it applies to a specific list, library, or content type, initiation deals with the workflow as it applies to a specific SharePoint item.&lt;br /&gt;&lt;br /&gt;Initiation occurs when a user actually starts a workflow instance on a specific item. The user supplies information custom to that specific workflow on that item, if necessary, and then starts the workflow.&lt;br /&gt;&lt;br /&gt;Workflow developers can use initiation to let users override or append the association parameters set by administrators, or specify additional parameters or information about the workflow as it applies to the given SharePoint item. Not all workflows need initiation. In fact, a workflow set to start automatically cannot have initiation parameters.&lt;br /&gt;&lt;br /&gt;The Windows SharePoint Services workflow project for the Visual Studio 2005 Designer for Windows Workflow Foundation includes an activity that acts as the event handler when the workflow is initiated. This activity is the first activity in any Windows SharePoint Services workflow.&lt;br /&gt;&lt;br /&gt;Modification&lt;br /&gt;Modifications enable users to alter the parameters or flow of a workflow instance as it is running. As a developer, you may have points in your workflow at which you would like to enable users to alter the workflow while it is running on an item. For example, you might want to enable a user to assign a task to another person, or even add a specific task to the workflow. The options you present to users to change the workflow as it is running on an item are called modifications.&lt;br /&gt;&lt;br /&gt;The Windows SharePoint Services workflow project for the Visual Studio 2005 Designer for Windows Workflow Foundation includes an activity to enable a workflow modification, as well as an activity that acts as an event handler when a workflow modification is enabled.&lt;br /&gt;&lt;br /&gt;Tasks&lt;br /&gt;Workflow activities that are performed by people are represented as tasks in Windows SharePoint Services workflows.&lt;br /&gt;&lt;br /&gt;As workflow author, you can specify the task schema. For example, the task listing could include the following: &lt;br /&gt;&lt;br /&gt;Task title&lt;br /&gt;&lt;br /&gt;Name of person to whom the task is assigned&lt;br /&gt;&lt;br /&gt;Task status&lt;br /&gt;&lt;br /&gt;Task priority&lt;br /&gt;&lt;br /&gt;Task date due&lt;br /&gt;&lt;br /&gt;A link to the referenced item&lt;br /&gt;&lt;br /&gt;The user can then edit the task as necessary. The workflow instance is notified of changes to workflow tasks and can choose to respond to them as specified in the workflow.&lt;br /&gt;&lt;br /&gt;The Windows SharePoint Services workflow project for the Visual Studio 2005 Designer for Windows Workflow Foundation includes activities that create, delete, and update tasks, as well as activities that act as event handlers when tasks are created, updated, or deleted.&lt;br /&gt;&lt;br /&gt;Authoring SharePoint Workflows&lt;br /&gt;Microsoft provides two development tools for authoring workflows for Windows SharePoint Services: the Visual Studio 2005 Designer for Windows Workflow Foundation, and Office SharePoint Designer 2007. Because each authoring tool produces workflows with different attributes and capabilities, it is worth examining each tool in detail.&lt;br /&gt;&lt;br /&gt;Figure 5 shows the various steps that need to be performed to create, deploy, associate, and run a workflow with each of the authoring tools. In general, the largest differences between the two tools are the following: &lt;br /&gt;&lt;br /&gt;Workflow authoring in the Visual Studio 2005 Designer for Windows Workflow Foundation is performed by a professional developer, who creates a workflow template that can be deployed across multiple sites and contains custom code and activities. The developer then passes the workflow template to a server administrator for actual deployment and association.&lt;br /&gt;&lt;br /&gt;Workflow authoring in SharePoint Designer is likely done by someone other than a professional developer, such as a Web designer or knowledge worker, who wants to create a workflow for a specific list or document library. In this case, the designer is limited to the workflow activities on the Safe Controls List, and the workflow cannot include custom code. The workflow author deploys the workflow template directly to the list or document library as part of the workflow authoring process.&lt;br /&gt;&lt;br /&gt;For a detailed comparison of the capabilities of the two tools, see Comparing the Visual Studio 2005 Designer for Windows Workflow Foundation and SharePoint Designer 2007.&lt;br /&gt;&lt;br /&gt;Figure 5. Workflow authoring, deployment, and initiation process&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;Authoring SharePoint Workflows in Visual Studio 2005&lt;br /&gt;The Visual Studio 2005 Designer for Windows Workflow Foundation is an add-in for Visual Studio 2005. It provides a means to rapidly develop workflows by using a graphical interface that leverages a developer&#39;s knowledge of the Visual Studio development environment.&lt;br /&gt;&lt;br /&gt;Visual Studio 2005 Designer for Windows Workflow Foundation is a tool for you to rapidly create the workflow in a way that is integrated with the development of the code encapsulating your business processes. To do this, the Visual Studio 2005 Designer for Windows Workflow Foundation provides a graphical interface with intuitive controls, hosted within the familiar Visual Studio development environment. Its features include the following: &lt;br /&gt;&lt;br /&gt;A drag-and-drop design surface that lets you assemble custom workflows from predefined workflow activities you drag from the Toolbox&lt;br /&gt;&lt;br /&gt;An interface that lets you work on your workflow markup using intuitive graphical tools&lt;br /&gt;&lt;br /&gt;Integration with the Properties window, so developers can configure properties of workflow activities either through the graphical interface or directly in the code-beside file, and always keeps the two in sync&lt;br /&gt;&lt;br /&gt;Debugging of your workflows by attaching to the Windows SharePoint Services process, including setting breakpoints in your workflow&lt;br /&gt;&lt;br /&gt;The ability to attach error, compensation, and event handlers to activities, and &quot;comment out&quot; activities graphically&lt;br /&gt;&lt;br /&gt;The Visual Studio 2005 Designer for Windows Workflow Foundation is available as part of the Microsoft Windows Workflow Foundation Runtime Components Beta 2.2 and Visual Studio 2005 Extensions for Windows Workflow Foundation Beta 2.2 [ http://www.microsoft.com/downloads/details.aspx?FamilyID=5c080096-f3a0-4ce4-8830-1489d0215877&amp;DisplayLang=en ] download on the Microsoft Download Center. This download also contains the Windows Workflow Foundation run-time engine, as well as the Windows Workflow Foundation SDK.&lt;br /&gt;&lt;br /&gt;To further assist your workflow development, Microsoft provides two Visual Studio project template packs for use with the Visual Studio 2005 Designer for Windows Workflow Foundation: one customized for Windows SharePoint Services workflows, the other customized for creating workflows for SharePoint Server.&lt;br /&gt;&lt;br /&gt;The Window SharePoint Services workflow project template contains a reference to the Windows SharePoint namespace and includes custom workflow activities designed specifically for the Windows SharePoint Services environment. These custom activities enable you to perform functions common to the Windows SharePoint Services environment, such as creating, updating, completing, and deleting SharePoint tasks, sending e-mail, and enabling workflow modifications.&lt;br /&gt;&lt;br /&gt;The SharePoint Server workflow project contains everything the Window SharePoint Services workflow project template, as well as a reference to the SharePoint Server namespace, and additional functionality for managing workflow tasks in the SharePoint Server work environment.&lt;br /&gt;&lt;br /&gt;The Workflow Development Process in Visual Studio&lt;br /&gt;In general, when you develop workflows for Windows SharePoint Services or Office SharePoint Server using the Visual Studio 2005 Designer for Windows Workflow Foundation, you follow these basic steps: &lt;br /&gt;&lt;br /&gt;Author your workflow, including the code-beside file if needed, in the Visual Studio 2005 Designer for Windows Workflow Foundation.&lt;br /&gt;&lt;br /&gt;Design and publish any forms you want to use with your workflow.&lt;br /&gt;&lt;br /&gt;Author the feature definition and workflow template definition file, which contains information about the workflow assembly, and binds the forms to the workflow assembly.&lt;br /&gt;&lt;br /&gt;Compile the workflow files into a .NET assembly.&lt;br /&gt;&lt;br /&gt;Package the workflow assembly and workflow definition together and deploy them by using the features functionality in Windows SharePoint Services.&lt;br /&gt;&lt;br /&gt;Debug the live workflow assembly using the Visual Studio 2005 Designer for Windows Workflow Foundation.&lt;br /&gt;&lt;br /&gt;Recompile and deploy the workflow assembly as necessary to fix any bugs found.&lt;br /&gt;&lt;br /&gt;The following sections provide an overview of each of these development steps.&lt;br /&gt;&lt;br /&gt;Creating Workflows by Using the Visual Studio 2005 Designer for Windows Workflow Foundation&lt;br /&gt;When you select a new Windows SharePoint Services or Office SharePoint Server workflow project, Visual Studio displays the Visual Studio 2005 Designer for Windows Workflow Foundation design surface (Figure 6). This design surface presents a graphical interface, where you can assemble workflows by dragging and dropping various activities from the Toolbox.&lt;br /&gt;&lt;br /&gt;Figure 6. Visual Studio 2005 Designer for Windows Workflow Foundation interface&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;When you drag a specific activity onto your workflow, the Visual Studio 2005 Designer for Windows Workflow Foundation shows you the valid locations for that activity within the workflow. You cannot place an activity in a location where it would not be valid. For example, you cannot position a Send activity as the first activity in a Listen activity branch. As shown in Figure 7, Visual Studio 2005 Designer for Windows Workflow Foundation displays green plus-sign icons to denote valid positions for the specific activity. &lt;br /&gt;&lt;br /&gt;Figure 7. Valid positions for a Workflow activity&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;As you graphically design your workflow, the Visual Studio 2005 Designer for Windows Workflow Foundation actually generates corresponding markup. &lt;br /&gt;&lt;br /&gt;In addition, if you are working with code separation, your workflow project contains a code-behind file, in which you program the business logic of your workflow. You can switch between working in the workflow design surface and the code-beside file whenever you want.&lt;br /&gt;&lt;br /&gt;Setting Workflow Properties&lt;br /&gt;After you add the activity to the workflow, you must set the properties of the activity for it to be valid within the workflow. You can set these properties by using the standard Visual Studio Properties window. The type of data you can specify depends on the type of data the property itself accepts: literal values, variables, or method names.&lt;br /&gt;&lt;br /&gt;If you want to specify a variable for the property, you can either enter the variable name in the Properties window, in which case the Visual Studio 2005 Designer for Windows Workflow Foundation automatically declares the variable in the code-behind file; or declare the variable in the code-behind file, and then select it in the Properties window.&lt;br /&gt;&lt;br /&gt;Certain activity properties are essentially references to methods in the code-beside file that conform to a specific signature. As with variable names, you can enter the method name in the Properties window and let the Visual Studio 2005 Designer for Windows Workflow Foundation add the method signature to the code-behind file, or you can create the method in the code-behind file and then select the method in the Properties window.&lt;br /&gt;&lt;br /&gt;You can also bind a property to the property of another activity.&lt;br /&gt;&lt;br /&gt;Handler Activities&lt;br /&gt;A workflow might have several potential points of failure. It is important to track the state of a workflow and to report errors as they occur, so that you can resolve problems accurately and with a minimum of effort. It is equally important for a workflow to maintain the integrity of a set of closely related actions, so that if part of an operation takes place but another does not, the entire operation can be rolled back. You can use the FaultHandlerActivity, TransactionScopeActivity, CompensationHandlerActivity, and CancellationHandlersActivity activities to handle errors, to maintain the state of a workflow, and to fix problems as they occur.&lt;br /&gt;&lt;br /&gt;You can think of a FaultHandlersActivity activity as a C-language try block, to which you can attach an ordered set of FaultHandlerActivity activities that act as exception handlers. These exception handlers can be thought of as C-language catch blocks. If an exception is thrown during the execution of a composite activity, the WF run-time engine matches the exception against the exception types that are handled by the FaultHandlerActivity activities. If the run-time engine finds no matching exception handler, it then communicates the exception to the next higher composite activity, where the process repeats, and so on, until an appropriate handler is found.&lt;br /&gt;&lt;br /&gt;You can also have EventHandlersActivity activities that respond to events, by adding event handlers to an EventHandlerScopeActivity activity. Conceptually, these event handlers are very similar to those in the C or Visual Basic .NET languages. To create an event handler, you must use EventDrivenActivity activities.&lt;br /&gt;&lt;br /&gt;CompensationHandlerActivity activities contain code that compensates for, or rolls back, the operations of a composite activity if it does not perform successfully.&lt;br /&gt;&lt;br /&gt;ASP.NET Forms in Windows SharePoint Services Workflows&lt;br /&gt;As mentioned earlier, you can use ASP.NET to create the forms you use with your Windows SharePoint Services workflow. These forms are then displayed in the Windows SharePoint Services user interface at the appropriate stages in the workflow.&lt;br /&gt;&lt;br /&gt;Workflow forms are late-bound to the workflow assembly through information you supply in the workflow template definition XML file. The workflow template definition schema contains elements for denoting the URL of the various types of forms you can use with Windows SharePoint Services workflows. This provides the ability to create elements for forms for any custom workflow modifications, as well as forms for the various types of SharePoint tasks used in the workflow.&lt;br /&gt;&lt;br /&gt;In most cases, the workflow assembly itself contains no information about or link to the workflow forms themselves. Developers can change the workflow forms to be used just by editing the workflow definition XML, without having to recompile the workflow assembly itself. The one exception is workflow modifications; each activity that enables a workflow modification must contain the GUID of the form for that workflow modification.&lt;br /&gt;&lt;br /&gt;InfoPath Forms in SharePoint Server Workflows&lt;br /&gt;Although you can also use ASP.NET workflow forms in SharePoint Server workflows, SharePoint Server offers you the capability to extend your workflow forms and display them in Microsoft Office client applications.&lt;br /&gt;&lt;br /&gt;You can use InfoPath forms with your workflows. InfoPath gives you the ability to create symmetrical forms — that is, forms that look and operate exactly the same whether they are displayed in the SharePoint Server Web interface or within a Microsoft Office client application, such as Word, Excel, or PowerPoint. This provides a richer interaction experience in which the user can interact with the workflow directly in the client application, rather than having to leave the client and switch to the SharePoint Server Web interface. And as a developer, you don&#39;t have to create two separate forms, one for use on the server and one for use in the client, to provide the user with this client application integration.&lt;br /&gt;&lt;br /&gt;For more information about creating symmetrical forms in general, refer to the Microsoft Office InfoPath 2007 client help or Office Online [ http://office.microsoft.com/en-us/FX010857921033.aspx ] .&lt;br /&gt;&lt;br /&gt;SharePoint Server uses Office Forms Services, a server-based run-time environment for InfoPath forms, to host workflow forms. Office Forms Services consumes the forms you create in the InfoPath client application and renders them in an ASP.NET framework, which acts as a run-time environment for the form. This environment presents a form editing experience that matches the InfoPath client application.&lt;br /&gt;&lt;br /&gt;For more information about Office Forms Services, see the Microsoft Office SharePoint Server 2007 SDK [ http://msdn.microsoft.com/en-us/library/ms550992.aspx ] .&lt;br /&gt;&lt;br /&gt;Note:  &lt;br /&gt;Because Office 2007 client applications such as Word, PowerPoint, and Excel include functionality for hosting InfoPath forms, the user does not need to have the InfoPath client application installed to take advantage of this rich integration.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Displaying InfoPath Workflow Forms&lt;br /&gt;SharePoint Server uses the same basic technique to display all custom InfoPath workflow forms, including association, initiation, modification, or edit task forms.&lt;br /&gt;&lt;br /&gt;When the user clicks a link to display a workflow form in the SharePoint Server interface, SharePoint Server loads an ASPX page that contains an Office Forms Services Web Part. This Web Part then converts the appropriate InfoPath form into ASP.NET and loads it. When the user submits that form, the Web Part receives the data from the form and handles it accordingly.&lt;br /&gt;&lt;br /&gt;The ASPX pages that contain the Office Forms Services Web Part are included in SharePoint Server.&lt;br /&gt;&lt;br /&gt;Specifying InfoPath Workflow Forms&lt;br /&gt;Again, you specify the custom forms you want to use in the workflow template definition, rather than the workflow itself. In most cases, this involves setting two elements. First, you set the form URL for that workflow process (association, initiation, modification, and so forth) to the appropriate ASPX hosting page included with SharePoint Server. Next, you add an element specifying the URN for the custom InfoPath form for that type of workflow process.&lt;br /&gt;&lt;br /&gt;Submitting Information by Using InfoPath Workflow Forms&lt;br /&gt;For the hosting ASPX page to receive data from the hosted form, the developer adds a Submit button to the InfoPath form. This button uses a rule to submit data by using the data connection to the hosting environment. This connection passes the data back to the hosting ASPX page automatically when the user clicks the Submit button. The hosting ASPX page then handles parsing the data and passing it back to the workflow or document library, as appropriate.&lt;br /&gt;&lt;br /&gt;Deploying Workflows&lt;br /&gt;When you are finished specifying your workflow, you can choose to compile your workflow as a workflow, or as an activity.&lt;br /&gt;&lt;br /&gt;After you have compiled your workflow, you can use the SharePoint Features functionality to package and deploy the workflow assembly and any necessary supporting files.&lt;br /&gt;&lt;br /&gt;Feature packaging is a way of encapsulating Windows SharePoint Services solutions and functionality for ease of deployment. It provides a mechanism by which developers can package the files needed for a solution, such as workflows, Web Parts, lists, and site definitions, for ease of distribution and deployment. Developers package the necessary files into a .wsp file, which is essentially a .cab file containing a manifest that lists its contents. For more information about SharePoint Features, see the Microsoft Windows SharePoint Services 3.0 SDK.&lt;br /&gt;&lt;br /&gt;Each workflow template you deploy must contain a workflow template definition file. A workflow template definition is an XML file that contains the information that Windows SharePoint Services requires to instantiate and run the workflow, such as the following:&lt;br /&gt;&lt;br /&gt;The name, GUID, and description of the workflow template&lt;br /&gt;&lt;br /&gt;Assembly&lt;br /&gt;&lt;br /&gt;The URLs (or URNs for IP forms) of any custom forms used with this workflow template&lt;br /&gt;&lt;br /&gt;Optionally, the names of the workflow, workflow engine, and host service assemblies to use when running the workflow&lt;br /&gt;&lt;br /&gt;Optionally, the correct classes within those assemblies to call&lt;br /&gt;&lt;br /&gt;The workflow assembly itself must be deployed to the global assembly cache.&lt;br /&gt;&lt;br /&gt;After it is deployed to a site, the workflow is available as a workflow template, which SharePoint administrators can associate with the document libraries and lists on that site.&lt;br /&gt;&lt;br /&gt;Debugging Workflows&lt;br /&gt;After you deploy your workflow assembly, you can debug your workflow by opening your workflow project and attaching to the Windows SharePoint Service w3wp process.&lt;br /&gt;&lt;br /&gt;Because the Visual Studio 2005 Designer for Windows Workflow Foundation is hosted within Visual Studio, you can take full advantage of the debugging capabilities of Visual Studio. You can set breakpoints both in the code you write in your code-beside file, as well as on workflow activities in the design surface.&lt;br /&gt;&lt;br /&gt;Note:  &lt;br /&gt;For ease of debugging, we strongly recommend that you develop your workflow templates on a server to which you plan to deploy them.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;The Visual Studio 2005 Designer for Windows Workflow Foundation not only supports standard Visual Studio debugging features such as the Breakpoints and Call Stack windows, it also includes a range of visual indicators that provide information during the debugging process. You can also add breakpoints to a workflow activity while you are debugging the assembly.&lt;br /&gt;&lt;br /&gt;You can perform step in, step out, and step over operations to move through workflow code.&lt;br /&gt;&lt;br /&gt;The following types of debugging are not supported by the Visual Studio 2005 Designer for Windows Workflow Foundation: &lt;br /&gt;&lt;br /&gt;Just-in-time debugging of run-time exceptions in the hosting process&lt;br /&gt;&lt;br /&gt;Just-in-time debugging by selecting a process in the Task Manager&lt;br /&gt;&lt;br /&gt;For more information about debugging using the Visual Studio 2005 Designer for Windows Workflow Foundation, see the Windows Workflow Foundation SDK.&lt;br /&gt;&lt;br /&gt;Note:  &lt;br /&gt;The Windows Workflow Foundation SDK is available as part of the Microsoft Windows Workflow Foundation Runtime Components Beta 2.2 and Visual Studio 2005 Extensions for Windows Workflow Foundation Beta 2.2 [ http://www.microsoft.com/downloads/details.aspx?FamilyID=5c080096-f3a0-4ce4-8830-1489d0215877&amp;DisplayLang=en ] download available on the Microsoft Download Center. This download also contains the Visual Studio 2005 Designer for Windows Workflow Foundation, as well as the Windows Workflow Foundation run-time engine.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Authoring SharePoint Workflows in SharePoint Designer 2007&lt;br /&gt;When you author a workflow in Office SharePoint Designer 2007, you are authoring that workflow directly against, and data-binding to, a specific list or document library in Windows SharePoint Services. You are using a predefined list of workflow activities and are not using any code. The workflow you design is not compiled as an assembly; it is stored as source files until Windows SharePoint Services compiles it the first time it runs.&lt;br /&gt;&lt;br /&gt;Such an approach has several advantages:&lt;br /&gt;&lt;br /&gt;Workflows can be developed and tested rapidly.&lt;br /&gt;&lt;br /&gt;Because the workflow is specific to a given list, the deployment process is much less complicated.&lt;br /&gt;&lt;br /&gt;Security issues are much less complicated as well, for the same reason.&lt;br /&gt;&lt;br /&gt;Because they are not compiled into assemblies, workflows created in SharePoint Designer can be deployed to servers where administrative policy prohibits custom code assemblies.&lt;br /&gt;&lt;br /&gt;Note:  &lt;br /&gt;Workflows authored in SharePoint Designer are assembled from a &quot;safe list&quot; of predefined activities, which presumably have been approved by administrators to run on the servers.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Workflows can be created by users with less developer experience, such as Web designers or knowledge workers.&lt;br /&gt;&lt;br /&gt;This approach also means that workflows authored in SharePoint Designer differ from those created using the Visual Studio 2005 Designer for Windows Workflow Foundation in several important ways: &lt;br /&gt;&lt;br /&gt;A workflow authored in SharePoint Designer cannot be deployed to multiple lists. It is valid only for the list for which it was created.&lt;br /&gt;&lt;br /&gt;Because you author the workflow directly against a list, the workflow is associated with the list at design time. Therefore, workflows authored in SharePoint Designer have no association stage.&lt;br /&gt;&lt;br /&gt;Workflow modifications are not available in workflows authored in SharePoint Designer.&lt;br /&gt;&lt;br /&gt;You cannot author against a content type in SharePoint Designer.&lt;br /&gt;&lt;br /&gt;For a detailed comparison, see Comparing the Visual Studio 2005 Designer for Windows Workflow Foundation and SharePoint Designer 2007.&lt;br /&gt;&lt;br /&gt;Running Workflows Authored in SharePoint Designer 2007&lt;br /&gt;Because they contain no custom code, workflows authored in Office SharePoint Designer are not compiled and deployed as assemblies. Rather, they are stored as their source files within Windows SharePoint Services and compiled into memory only when needed.&lt;br /&gt;&lt;br /&gt;For each site, the workflows of this type are stored in a separate document library. This document library contains a folder for each workflow authored in SharePoint Designer. The folder contains all the source files necessary for the workflow, including: &lt;br /&gt;&lt;br /&gt;The workflow markup file&lt;br /&gt;&lt;br /&gt;The workflow rules file&lt;br /&gt;&lt;br /&gt;ASPX forms for any custom workflow forms necessary&lt;br /&gt;&lt;br /&gt;Windows SharePoint Services includes a just-in-time compiler to compile the source files into a workflow the first time that workflow is started on an item. Windows SharePoint Services retains the compiled workflow in memory against the time it is called again, similar to how servers keep compiled .aspx pages in memory to speed execution performance the next time a page is called.&lt;br /&gt;&lt;br /&gt;Each time a workflow is started on an item, Windows SharePoint Services determines whether the workflow was deployed as an assembly or as source files. If a workflow assembly exists, Windows SharePoint Services calls that assembly to create the workflow instance. If the workflow was deployed as source files, Windows SharePoint Services determines whether it already has a workflow compiled from those source files in memory. If it does, Windows SharePoint Services calls the in-memory compiled workflow to create the workflow instance. If not, Windows SharePoint Services uses its just-in-time compiler to compile the source files into an in-memory workflow, which it then calls to create the workflow instance.&lt;br /&gt;&lt;br /&gt;Workflow Development Process in SharePoint Designer 2007&lt;br /&gt;To aid the rapid design and deployment of workflows, the development process in SharePoint Designer is much simpler than in Visual Studio.&lt;br /&gt;&lt;br /&gt;In general, when you develop workflows for Windows SharePoint Services or SharePoint Server using the Visual Studio 2005 Designer for Windows Workflow Foundation, you follow these basic steps: &lt;br /&gt;&lt;br /&gt;Author your workflow by assembling and configuring the predefined activities and conditions available in SharePoint Designer.&lt;br /&gt;&lt;br /&gt;Have SharePoint Designer automatically generate ASP.NET forms for workflow initiation and any custom SharePoint task, if necessary.&lt;br /&gt;&lt;br /&gt;Customize the workflow forms, if necessary.&lt;br /&gt;&lt;br /&gt;SharePoint Designer automatically generates the workflow definition template and handles the deployment of the workflow to the specified list.&lt;br /&gt;&lt;br /&gt;The following sections provide an overview of each of these development steps.&lt;br /&gt;&lt;br /&gt;Creating Workflows by Using SharePoint Designer 2007&lt;br /&gt;SharePoint Designer uses a wizard-driven interface that enables users to assemble sequential workflows from predefined activities. Users select activities from a predetermined list and configure them using the SharePoint Designer interface. These activities can be the same activities present in the Visual Studio 2005 Designer for Windows Workflow Foundation; there is no difference in activities between the two tools.&lt;br /&gt;&lt;br /&gt;In SharePoint Designer, however, each activity appears as an action, represented by a sentence that contains variables that the user can configure using drop-down menus and look-up dialog boxes. Users can also select conditions, which are configurable conditional clauses that direct the flow of the workflow.&lt;br /&gt;&lt;br /&gt;As the user selects and configures conditions and actions in the workflow interface, SharePoint Designer generates the two files that actually represent the workflow class: &lt;br /&gt;&lt;br /&gt;The workflow markup file, which contains markup that describes the activities included in the workflow&lt;br /&gt;&lt;br /&gt;The workflow rules file, which contains the business logic of the workflow in declarative rules form, rather than code&lt;br /&gt;&lt;br /&gt;Adding Custom Activities and Conditions&lt;br /&gt;As noted, workflow designers in SharePoint Designer cannot create custom activities for use in their workflows. Instead, they are limited to the activities and conditions that have been made available on the Safe Controls List (presumably approved by a server administrator) that appears in SharePoint Designer.&lt;br /&gt;&lt;br /&gt;A condition is simply a custom assembly with a static method that evaluates some condition and returns a Boolean when called.&lt;br /&gt;&lt;br /&gt;Developers can create custom activities and conditions, and make them available on the safe list. To do this, developers must: &lt;br /&gt;&lt;br /&gt;Create the activity or condition, compile it as a strong-named assembly, and deploy it to the global assembly cache.&lt;br /&gt;&lt;br /&gt;Add the activity or condition to the action safe list in the web.config file.&lt;br /&gt;&lt;br /&gt;In the WSS.Actions file, located in the workflow folder, add rules and parameters for the sentence that represents the activity or condition in the SharePoint Designer user interface. This is markup that specifies how the activity or condition appears and performs in the interface, because this information is not present in the activity or condition assembly.&lt;br /&gt;&lt;br /&gt;ASP.NET Forms in SharePoint Designer Workflows&lt;br /&gt;You can create an initiation stage for your workflow in SharePoint Designer. If you do, SharePoint Designer automatically generates an initiation form by using ASP.NET, according to your initiation specifications.&lt;br /&gt;&lt;br /&gt;Similarly, you can create custom SharePoint tasks for your workflow. Again, SharePoint Designer automatically generates an ASP.NET form for the task, according to your specifications.&lt;br /&gt;&lt;br /&gt;These aspx forms are stored on the SharePoint site with the workflow source files. You can open and customize them as you would any other aspx form.&lt;br /&gt;&lt;br /&gt;Note:  &lt;br /&gt;SharePoint Designer 2007 does not offer integration with InfoPath forms.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Deploying Workflows with SharePoint Designer 2007&lt;br /&gt;Because you author against a specific list, the deployment of workflows created in Office SharePoint Designer is a much simpler process than workflows created in the Visual Studio 2005 Designer for Windows Workflow Foundation. SharePoint Designer handles the deployment of the workflow to the specified list.&lt;br /&gt;&lt;br /&gt;SharePoint Designer offers no custom debugging functionality.&lt;br /&gt;&lt;br /&gt;Deleting a workflow authored in SharePoint Designer from a list does not delete the actual source files used to compile that workflow in memory. Rather, the workflow is no longer associated with the list, but the source files remain stored in the workflow document library on the site.&lt;br /&gt;&lt;br /&gt;In the Windows SharePoint Services object model, workflows authored in SharePoint Designer are indistinguishable from workflows authored in the Visual Studio 2005 Designer for Windows Workflow Foundation.&lt;br /&gt;&lt;br /&gt;Comparing the Visual Studio 2005 Designer for Windows Workflow Foundation and SharePoint Designer 2007&lt;br /&gt;The following table offers a detailed comparison between the capabilities offered by the Visual Studio 2005 Designer for Windows Workflow Foundation and Office SharePoint Designer 2007, and the workflows you can create with each.&lt;br /&gt;&lt;br /&gt;Table 1. Detailed comparison of capabilities&lt;br /&gt;Visual Studio 2005 Designer for Windows Workflow Foundation  SharePoint Designer 2007  &lt;br /&gt;Can write workflows for Windows SharePoint Services or SharePoint Server &lt;br /&gt; Can write workflows for Windows SharePoint Services or SharePoint Server&lt;br /&gt; &lt;br /&gt;Code-behind file enables developer to write custom Visual C# or Visual Basic .NET code to express business logic&lt;br /&gt; No code-behind file; workflow rules file declaratively encapsulates business logic&lt;br /&gt; &lt;br /&gt;Generates workflow markup file&lt;br /&gt; Generates workflow markup file&lt;br /&gt; &lt;br /&gt;Workflow is authored as a template, which can be associated with multiple sites and lists&lt;br /&gt; Workflow is authored against and data-bound to specific list at design time&lt;br /&gt; &lt;br /&gt;Workflow markup file, or markup and code-behind files, are compiled into workflow assembly&lt;br /&gt; Workflow markup, workflow rules, and supporting file are stored, uncompiled, in a specific document library on the site&lt;br /&gt; &lt;br /&gt;Workflow template must be associated with each list on which it is to be available&lt;br /&gt; Association happens when the workflow is authored against the specific list; no later association is necessary or possible&lt;br /&gt; &lt;br /&gt;Can use any forms technology. For example, ASP forms for Windows SharePoint Services workflows, or InfoPath forms for SharePoint Server workflows&lt;br /&gt; Automatically generates ASP.NET forms, which you can then customize&lt;br /&gt; &lt;br /&gt;Can include workflow modifications&lt;br /&gt; Workflow modifications are not available&lt;br /&gt; &lt;br /&gt;Can use custom symmetrical InfoPath forms, which enables Office client integration of custom workflow forms&lt;br /&gt; InfoPath forms integration not available&lt;br /&gt; &lt;br /&gt;Can author custom activities for inclusion in workflows&lt;br /&gt; Must use activities provided&lt;br /&gt; &lt;br /&gt;Package workflow assembly and workflow definition as a SharePoint feature, and deploy to the site&lt;br /&gt; Automatically handles deployment to specific list&lt;br /&gt; &lt;br /&gt;Can use Initiation form to gather information from the user when starting the workflow&lt;br /&gt; Can use Initiation form to gather information from the user when starting the workflow&lt;br /&gt; &lt;br /&gt;Can use custom forms for users to interact with SharePoint tasks&lt;br /&gt; Can use custom forms for users to interact with SharePoint tasks&lt;br /&gt; &lt;br /&gt;Visual Studio debugging available&lt;br /&gt; No step-by-step debugging available&lt;br /&gt; &lt;br /&gt;Can author both sequential and state workflows&lt;br /&gt; Can author only sequential workflows&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Workflow Structure in Windows SharePoint Services&lt;br /&gt;Figure 8 shows how the various elements of the Windows SharePoint Services workflow structure are joined after a workflow template has been created, deployed, and associated with a specific content type, list, or document library.&lt;br /&gt;&lt;br /&gt;When you associate a workflow template with a given content type, list, or document library, Windows SharePoint Services writes the association parameter information set by the administrator to a farm-level workflow association table. The entry in this association table links the specific content type, list, or document library to the workflow template definition of the associated workflow. The information in the workflow template definition, in turn, includes references to the workflow assembly itself, as well as any custom workflow forms the workflow uses.&lt;br /&gt;&lt;br /&gt;In the case of workflows authored in SharePoint Designer 2007, the Designer automatically writes the association parameter information to the workflow association table, and generates and installs the workflow template definition. Also, the workflow is stored in a site-level workflow document library, not as a compiled assembly, but as the markup and workflow rules source files.&lt;br /&gt;&lt;br /&gt;Figure 8. Workflow component structure in Windows SharePoint Services&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;Using the Workflow Namespace&lt;br /&gt;After you deploy your workflow solution, you can use the Windows SharePoint Services object model to query workflow processes and programmatically perform workflow actions, such as adding a workflow to a list or starting a workflow for an item.&lt;br /&gt;&lt;br /&gt;Major Microsoft.Windows.SharePoint.Workflow Objects&lt;br /&gt;The Microsoft.Windows.SharePoint.Workflow namespace represents the workflow functionality contained in Windows SharePoint Services.&lt;br /&gt;&lt;br /&gt;The SPWorkflowTemplateCollection object represents the workflow templates currently deployed on a site. Each SPWorkflowTemplate object represents a workflow template and contains properties you can use to get or set information about the template, such as the instantiation data and the history and task lists for the template.&lt;br /&gt;&lt;br /&gt;To associate a workflow with a list or document library, use the SPList.AddWorkflowAssociation method. This overloaded method takes four parameters: &lt;br /&gt;&lt;br /&gt;Either the workflow template name or ID&lt;br /&gt;&lt;br /&gt;The name you want to give the workflow&lt;br /&gt;&lt;br /&gt;Either the task list name or ID for the task list you want to use with this workflow&lt;br /&gt;&lt;br /&gt;The history list for the workflow&lt;br /&gt;&lt;br /&gt;As with adding a workflow through the user interface, this method adds a status column for the workflow to the list. Use the SPList.RemoveWorkflowAssociation method to remove a workflow template from a list.&lt;br /&gt;&lt;br /&gt;The SPWorkflowAssociationCollection object represents the internal workflow associations table for a site; that is, it represents the workflows currently associated on lists across a site collection, along with the association information for each. Each SPWorkflowAssociation object represents a workflow template that has been associated with a specific list, and contains properties that return custom information about the association, such as whether the workflow is enabled, whether the workflow has been modified, and the list with which the workflow has been associated, as well as a reference to the SPWorkflowTemplate object that serves as a base for this SPWorkflowAssociation object.&lt;br /&gt;&lt;br /&gt;The SPWorkflowAssociation.IsDeclarative property returns True for workflows that are stored as uncompiled files, such as those authored in SharePoint Designer.&lt;br /&gt;&lt;br /&gt;The SPWorkflowCollection represents the workflow instances that have run or are currently running on a given list item. Each SPWorkflow object contains properties that return information about the workflow instance, such as whether the workflow has completed, its internal state, and the workflow template on which it is based. In addition, each workflow contains a collection of the tasks for the workflow, SPWorkflowTaskCollection.&lt;br /&gt;&lt;br /&gt;Use the SPListItem.Workflows property to return an SPWorkflowCollection object that represents the workflows currently running for that list item.&lt;br /&gt;&lt;br /&gt;Managing Running Workflow Instances Programmatically&lt;br /&gt;Users interact with the workflows running on items individually, through the Windows SharePoint Services user interface. But Windows SharePoint Services provides functionality for you to centrally control the running instances of workflows across your entire server farm through the object model. Use the SPWorkflowManager object to manage the running instances of workflows across the entire farm. The SPWorkflowManager object has no equivalent in the user interface. Although the object is accessed through the SPSite object, you can use it to administer the workflow instances running on your entire farm. Use the SPWorkflowManager object to: &lt;br /&gt;&lt;br /&gt;Start, run, or cancel workflows.&lt;br /&gt;&lt;br /&gt;Return all the workflows currently running on a specific item.&lt;br /&gt;&lt;br /&gt;Cancel all workflow instances based on a specific workflow template within a list.&lt;br /&gt;&lt;br /&gt;Perform other workflow administration operations.&lt;br /&gt;&lt;br /&gt;To manually start a specific workflow for an item (that is, a workflow that is not configured to start automatically), use the SPSite.WorkflowManager.StartWorkflow method. This method takes three parameters: the name of the list item, the name of the workflow template, and the start event.&lt;br /&gt;&lt;br /&gt;Figure 9 shows a hierarchical view of the SPWorkflowManager object and the objects it contains.&lt;br /&gt;&lt;br /&gt;Figure 9. SPWorkflowManager object hierarchy&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;Conclusion&lt;br /&gt;Windows SharePoint Services 3.0 hosts Windows Workflow Foundation, which enables you to attach custom business processes, implemented as sequential or state machine workflows, to SharePoint items. This implementation includes the ability to create custom workflows, complete with forms integration for user interaction. SharePoint Server 2007 extends these workflow capabilities by offering integration with symmetrical InfoPath forms that can be hosted in Office client applications such as Word, PowerPoint, Excel, and InfoPath.&lt;br /&gt;&lt;br /&gt;Microsoft provides two powerful tools for authoring workflows for Windows SharePoint Services. The Visual Studio 2005 Designer for Windows Workflow Foundation is an add-in for Visual Studio 2005 that gives you the ability to develop workflow templates, complete with custom code, which you can deploy to multiple sites and list. Alternatively, you can use SharePoint Designer to rapidly develop and deploy list-specific workflows from a predefined list of workflow activities.&lt;br /&gt;&lt;br /&gt;In either case, after you deploy your workflow solution, you can use the Windows SharePoint Services &lt;br /&gt;&lt;br /&gt;For more details&lt;br /&gt;http://msdn.microsoft.com/en-us/library/aa830816(printer).aspx</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/7868010045755128047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/7868010045755128047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/7868010045755128047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/7868010045755128047'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2009/09/basics-on-workflows-in-sharepoint.html' title='Basics on WorkFlows in Sharepoint'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIAqCDNe20GmHfi83M4Vt96ynOkvgt-fypGd6GQkyyVU7bxjQACHJf3P6Zg-jbiWscmUn7q-DV9D52D30e1ZN_HFtMkXN61GlA6AZPYpYt6Rev_S4kilW6-VD1aCRD7KpLdjj_uh2PM2A/s72-c/wf.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-5972594175786847927</id><published>2009-09-12T03:06:00.000-07:00</published><updated>2009-09-12T03:37:21.006-07:00</updated><title type='text'>Using ITemplate for creating grid columns dynamically</title><content type='html'>Using ITemplate in Creating Detail columns in Master-Detail using Grid.&lt;br /&gt;&lt;br /&gt;I got requirement to create a master-detail grid. Where detail columns will be dynamically created on selected keycolumn.&lt;br /&gt;Detail columns are create in table.&lt;br /&gt;A GridView template is a class that implements the ITemplate interface. It defines the controls that will be displayed on the GridView in a column, &lt;br /&gt;Below sample with static data, GetDetailDataSource() this method can be used for access retreival.&lt;br /&gt;public class DetailGridTemplate : ITemplate&lt;br /&gt;{&lt;br /&gt; public void InstantiateIn(Control container)&lt;br /&gt;            {&lt;br /&gt;                parent = container;&lt;br /&gt;                masterKey = ((GridViewDetailRowTemplateContainer)parent).KeyValue;&lt;br /&gt;                CreateDetailGrid();&lt;br /&gt;            }&lt;br /&gt; private void CreateDetailGrid()&lt;br /&gt; {&lt;br /&gt;                detailGrid = new ASPxGridView();&lt;br /&gt;                detailGrid.ID = &quot;detailGrid&quot;;&lt;br /&gt;                detailGrid.AutoGenerateColumns = false;&lt;br /&gt;                parent.Controls.Add(detailGrid);&lt;br /&gt;&lt;br /&gt;                CreateDetailColumns(detailGrid);&lt;br /&gt;                detailGrid.KeyFieldName = &quot;StudentID&quot;;&lt;br /&gt;                detailGrid.DataSource = GetDetailDataSource();&lt;br /&gt;                detailGrid.DataBind();&lt;br /&gt;}&lt;br /&gt;private void CreateDetailColumns(ASPxGridView detailGrid)&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;        detailGrid.Columns.Add(new GridViewDataColumn(&quot;StudentID&quot;, &quot;StudentNo&quot;));&lt;br /&gt;        detailGrid.Columns.Add(new GridViewDataColumn(&quot;Name&quot;, &quot;StudentName&quot;));&lt;br /&gt;        detailGrid.Columns.Add(new GridViewDataColumn(&quot;DOB&quot;, &quot;DateofBirth&quot;));&lt;br /&gt;        detailGrid.Columns.Add(new GridViewDataColumn(&quot;MarksSubject1&quot;, &quot;Subject1&quot;));&lt;br /&gt;        detailGrid.Columns.Add(new GridViewDataColumn(&quot;MarksSubject2&quot;, &quot;Subject2&quot;));&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; private DataTable GetDetailDataSource()&lt;br /&gt;            {&lt;br /&gt;                DataTable detail = new DataTable(&quot;Detail&quot;);&lt;br /&gt;                //Add Columns&lt;br /&gt;                detail.Columns.Add(&quot;StudentID&quot;, typeof(String));&lt;br /&gt;                detail.Columns.Add(&quot;Name&quot;, typeof(String));&lt;br /&gt;                detail.Columns.Add(&quot;DOB&quot;, typeof(String));&lt;br /&gt;                detail.Columns.Add(&quot;MarksSubject1&quot;, typeof(String));&lt;br /&gt;                detail.Columns.Add(&quot;MarksSubject2&quot;, typeof(String));&lt;br /&gt;                // Add data rows to the table.&lt;br /&gt;                for (int i = 0; i &lt; 2; i++)&lt;br /&gt;                {&lt;br /&gt;                 detail.Rows.Add(new object[] { &quot;004270&quot; + i, &quot;John&quot;, &quot;11/08/1989&quot;, &quot;56&quot;, &quot;65&quot;});&lt;br /&gt;                }&lt;br /&gt;                return detail;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;}</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/5972594175786847927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/5972594175786847927' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/5972594175786847927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/5972594175786847927'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2009/09/using-itemplate-for-creating-grid.html' title='Using ITemplate for creating grid columns dynamically'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-3434356114796694788</id><published>2007-12-18T09:09:00.000-08:00</published><updated>2009-10-28T01:12:27.026-07:00</updated><title type='text'>Ganesha Stuthi</title><content type='html'>&lt;div align=&quot;center&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvqaFAf6Z8iEg6VTWt2YuofB-uNpvztZTJdnoHLdYiTO81eKGy8_NiaejlmImy3pzgRBtvL4bg-AvYuqliUaMUmHtjbEGszuTL03g4_iFFzGvLWEw4LHi6T7KVNKquef5gKI4OlogIYS0/s1600-h/vinayakar.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5145503930542350738&quot; style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 79px; CURSOR: hand; HEIGHT: 122px; TEXT-ALIGN: center&quot; height=&quot;210&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvqaFAf6Z8iEg6VTWt2YuofB-uNpvztZTJdnoHLdYiTO81eKGy8_NiaejlmImy3pzgRBtvL4bg-AvYuqliUaMUmHtjbEGszuTL03g4_iFFzGvLWEw4LHi6T7KVNKquef5gKI4OlogIYS0/s320/vinayakar.jpg&quot; width=&quot;121&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;font-size:130%;color:#ff6600;&quot;&gt;ప్రార్ధన&lt;/span&gt; &lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-size:130%;color:#000099;&quot;&gt;ఉ.తుండమునేకదంతమును తోరపు బొజ్జయు వామహస్తమున్&lt;br /&gt;మెండుగ మ్రోయు గజ్జలును మెల్లని చూపులు మందహాసమున్&lt;br /&gt;కొండొక గుజ్జు రూపమును కోరిన విద్యల కెల్ల నొజ్జయైయుండెడి పార్వతీ తనయ యోయి గణాధిప నీకు మ్రొక్కెదన్ &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/3434356114796694788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/3434356114796694788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/3434356114796694788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/3434356114796694788'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2007/12/blog-post.html' title='Ganesha Stuthi'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvqaFAf6Z8iEg6VTWt2YuofB-uNpvztZTJdnoHLdYiTO81eKGy8_NiaejlmImy3pzgRBtvL4bg-AvYuqliUaMUmHtjbEGszuTL03g4_iFFzGvLWEw4LHi6T7KVNKquef5gKI4OlogIYS0/s72-c/vinayakar.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8453781494740460998.post-477849241783979721</id><published>2007-12-18T08:29:00.001-08:00</published><updated>2007-12-18T18:18:50.072-08:00</updated><title type='text'>Welcome</title><content type='html'>Hi Freinds,&lt;br /&gt;&lt;br /&gt;Welcome to my blog , thanks for visiting.&lt;br /&gt;I really wanted to start my own blog atlast i started it.&lt;br /&gt;&lt;br /&gt;I will be posting lots of interesting stuff, please keep visiting and drop your comments :).</content><link rel='replies' type='application/atom+xml' href='http://mano-gyan.blogspot.com/feeds/477849241783979721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8453781494740460998/477849241783979721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/477849241783979721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8453781494740460998/posts/default/477849241783979721'/><link rel='alternate' type='text/html' href='http://mano-gyan.blogspot.com/2007/12/welcome.html' title='Welcome'/><author><name>SudhirR</name><uri>http://www.blogger.com/profile/05057814728559899371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>