<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8625187760026725920</id><updated>2012-01-31T15:14:18.657-05:00</updated><category term='Graph'/><category term='Join'/><category term='MOSS 2007'/><category term='Event Handler'/><category term='XSL Variables'/><category term='Google Visualization API'/><category term='Primary Key'/><category term='Customization'/><category term='ECMAScript'/><category term='Silverlight Web part'/><category term='Correlation ID'/><category term='SharePoint Client Object Model'/><category term='Lists.asmx'/><category term='ASPX'/><category term='Visual Studio 2010'/><category term='SharePoint Designer 2007'/><category term='Search Core Results WebPart'/><category term='Tahir Naveed'/><category term='JQuery'/><category term='Visual Studio 2008'/><category term='Web part'/><category term='WinForm'/><category term='Orion Systems Integrators'/><category term='An unexpected error has occurred'/><category term='List'/><category term='Office 15'/><category term='email'/><category term='CAML Query AND'/><category term='Chart'/><category term='No Code'/><category term='Naveed'/><category term='User Login'/><category term='DataView'/><category term='SharePoint 2007'/><category term='XSL'/><category term='Javascript'/><category term='User Group.asmx'/><category term='Web Services'/><category term='ASP.Net Error'/><category term='SharePoint'/><category term='Migration'/><category term='SharePoint Web Service'/><category term='XML'/><category term='SharePoint 2003'/><category term='SharePoint 15'/><category term='MOSS Development'/><category term='SharePoint 2010'/><category term='Technical Preview'/><category term='Tahir'/><category term='C#'/><category term='Client Object Model'/><category term='NothingbutSharePoint'/><category term='WebPart'/><category term='Properties'/><category term='Web User Control'/><category term='Server Object Model'/><category term='versions.asmx'/><category term='HTML'/><category term='Without Code'/><category term='Object Model'/><category term='APress'/><category term='ASP.Net'/><category term='Training'/><category term='Expert SharePoint 2010 Practices'/><category term='Silverlight'/><category term='Books'/><title type='text'>Yet Another SharePoint Blog</title><subtitle type='html'>Just making notes...who can remember all the stuff?</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-707978894132749628</id><published>2012-01-31T15:04:00.000-05:00</published><updated>2012-01-31T15:14:18.663-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office 15'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Technical Preview'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 15'/><title type='text'>SharePoint 15 Technical Preview SDK</title><content type='html'>&lt;span style="font-family: verdana; font-size: 85%;"&gt;Today I came to know about Office 15 will be available in the summer 2012 so my obvious reaction was "So will there be new version of SharePoint on its way?" and it was interesting to see that &lt;b&gt;SharePoint 15's Technical Preview SDK&lt;/b&gt; is also available on Microsoft's site.&lt;br /&gt;&lt;br /&gt;See the link below:&lt;br /&gt;&lt;a href="http://www.microsoft.com/download/en/confirmation.aspx?id=28768"&gt;http://www.microsoft.com/download/en/confirmation.aspx?id=28768&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-707978894132749628?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/707978894132749628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2012/01/sharepoint-15-technical-preview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/707978894132749628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/707978894132749628'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2012/01/sharepoint-15-technical-preview.html' title='SharePoint 15 Technical Preview SDK'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-1728042985715360768</id><published>2012-01-18T10:23:00.001-05:00</published><updated>2012-01-18T16:49:53.572-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tahir Naveed'/><category scheme='http://www.blogger.com/atom/ns#' term='Expert SharePoint 2010 Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='APress'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Orion Systems Integrators'/><category scheme='http://www.blogger.com/atom/ns#' term='Naveed'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='Tahir'/><title type='text'>Expert SharePoint 2010 Practices - Orion Systems</title><content type='html'>&lt;span style="font-family: verdana; font-size: 85%;"&gt;With &lt;strong&gt;&lt;a href="http://www.linkedin.com/in/pradeepthekkethodi"&gt;Pradeep Thekkethodi&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: verdana; font-size: 85%;"&gt;&amp;nbsp;at Orion Systems - Montvale, New Jersey.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-c9-ZpmMOVe8/Txblt0nX3BI/AAAAAAAAB0E/BaBQp5vN1mI/s1600/IMG_3276.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-c9-ZpmMOVe8/Txblt0nX3BI/AAAAAAAAB0E/BaBQp5vN1mI/s320/IMG_3276.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-1728042985715360768?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/1728042985715360768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2012/01/expert-sharepoint-2010-practices-orion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1728042985715360768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1728042985715360768'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2012/01/expert-sharepoint-2010-practices-orion.html' title='Expert SharePoint 2010 Practices - Orion Systems'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-c9-ZpmMOVe8/Txblt0nX3BI/AAAAAAAAB0E/BaBQp5vN1mI/s72-c/IMG_3276.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-1592542271530967545</id><published>2012-01-10T11:49:00.000-05:00</published><updated>2012-01-26T10:11:35.387-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Web Service'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WinForm'/><category scheme='http://www.blogger.com/atom/ns#' term='versions.asmx'/><title type='text'>SharePoint 2007 Web Service: Delete An Item Versions</title><content type='html'>&lt;span style="font-family: verdana; font-size: 85%;"&gt;&lt;strong&gt;Scenario: &lt;/strong&gt;&lt;br/&gt;We recently had a performance issue in our environment at client side and after some investigation we found out that there are many versions( Up to 500 No kidding) of documents(specially he ASPX) sit in the Content Database which are not even required. &lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br/&gt;We developed a small .NET WinForm (MS Visual Studio 2005) based utility that uses SharePoint Webservice &lt;strong&gt;Versions.asmx&lt;/strong&gt; to cleanup(delete all versions of an item and leave the latest one) the lists with non used versions.&lt;br/&gt;Following is the Code to delete an item version (not the whole item):&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;1. Get the all the lists function:&lt;/strong&gt;&lt;/span&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;&lt;br /&gt;//Class Level Variables &lt;br /&gt;//You need to add the web reference to the project &lt;br /&gt;&lt;br /&gt;public static string strVersionWebServiceURL;&lt;br /&gt;WSLists.Lists _listService;&lt;br /&gt;WSVersion.Versions _versionService;&lt;br /&gt;&lt;br /&gt;// Actual Function&lt;br /&gt;private void btnGetListCollection_Click(object sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;            // List and Version web service declaration and initialization&lt;br /&gt;            strListWebServiceURL = txtSiteURL.Text + &amp;quot;/_vti_bin/lists.asmx&amp;quot;;&lt;br /&gt;            strVersionWebServiceURL = txtSiteURL.Text + &amp;quot;/_vti_bin/versions.asmx&amp;quot;;&lt;br /&gt;            System.Net.NetworkCredential nt = new System.Net.NetworkCredential(txtUserName.Text, txtPassword.Text);&lt;br /&gt;&lt;br /&gt;            _listService = new WSLists.Lists();&lt;br /&gt;            _listService.Credentials = nt;&lt;br /&gt;            _listService.Url = strListWebServiceURL;&lt;br /&gt;&lt;br /&gt;            _versionService = new WSVersion.Versions();&lt;br /&gt;            _versionService.Credentials = nt;&lt;br /&gt;            _versionService.Url = strVersionWebServiceURL;&lt;br /&gt;&lt;br /&gt;            // end declaration&lt;br /&gt;&lt;br /&gt;            if (txtSiteURL.Text != string.Empty &amp;amp;&amp;amp; txtUserName.Text != string.Empty &amp;amp;&amp;amp; txtPassword.Text != string.Empty)&lt;br /&gt;            {&lt;br /&gt;                lsListCollection.Items.Clear();&lt;br /&gt;                XmlNode _xmlListCollection = _listService.GetListCollection();&lt;br /&gt;                for (int i = 0; i &amp;lt; _xmlListCollection.ChildNodes.Count; i++)&lt;br /&gt;                {&lt;br /&gt;                    string strListName = _xmlListCollection.ChildNodes[i].Attributes[&amp;quot;Title&amp;quot;].Value.ToLower();&lt;br /&gt;                    lsListCollection.Items.Add(strListName);&lt;br /&gt;                }// End For Loop&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                MessageBox.Show(&amp;quot;Site URL, User Name and Password must be entered&amp;quot;);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;span style="font-family: verdana; font-size: 85%;"&gt;&lt;strong&gt;2. Delete all the versions of all the items from the selected list function:&lt;/strong&gt;&lt;/span&gt;&lt;br/&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;private void btnDeleteAllVersionofList_Click(object sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            string strndQuery = &amp;quot;&amp;lt;OrderBy&amp;gt;&amp;lt;FieldRef Name=\&amp;quot;Modified\&amp;quot; Ascending=\&amp;quot;FALSE\&amp;quot; /&amp;gt;&amp;lt;/OrderBy&amp;gt;&amp;quot;;&lt;br /&gt;            /*string strndQuery = &amp;quot;&amp;lt;Where&amp;gt;&amp;lt;Eq&amp;gt;&amp;lt;FieldRef Name='ID' /&amp;gt;&amp;lt;Value Type='Integer'&amp;gt;&amp;quot; + &amp;quot;76&amp;quot; + &amp;quot;&amp;lt;/Value&amp;gt;&amp;lt;/Eq&amp;gt;&amp;lt;/Where&amp;gt;&amp;quot; +&lt;br /&gt;                       &amp;quot;&amp;lt;OrderBy&amp;gt;&amp;lt;FieldRef Name=\&amp;quot;Modified\&amp;quot; Ascending=\&amp;quot;FALSE\&amp;quot; /&amp;gt;&amp;lt;/OrderBy&amp;gt;&amp;quot;;&lt;br /&gt;            **/&lt;br /&gt;            XmlNodeList _nodelist = GetListItems(strndQuery);&lt;br /&gt;            if (_nodelist != null)&lt;br /&gt;            {&lt;br /&gt;                for (int i = 0; i &amp;lt; _nodelist.Count; i++)&lt;br /&gt;                {&lt;br /&gt;                    try&lt;br /&gt;                    {&lt;br /&gt;                        XmlNode _node = _nodelist[i];&lt;br /&gt;                        string strItemURL = _node.Attributes[&amp;quot;ows_EncodedAbsUrl&amp;quot;].Value;&lt;br /&gt; //                       MessageBox.Show(strItemURL);&lt;br /&gt;                        XmlNode xmlVersionCollection = _versionService.DeleteAllVersions(strItemURL);&lt;br /&gt;                    }&lt;br /&gt;                    catch  {}&lt;br /&gt;                }&lt;br /&gt;                MessageBox.Show(&amp;quot;Done!!!&amp;quot;);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;private XmlNodeList GetListItems(string strndQuery)&lt;br /&gt;        {&lt;br /&gt;            XmlNodeList _nodelist = null;&lt;br /&gt;&lt;br /&gt;            string strListName = lsListCollection.SelectedItem.ToString();&lt;br /&gt;&lt;br /&gt;            XmlDocument xmlDoc = new XmlDocument();&lt;br /&gt;&lt;br /&gt;            XmlNode ndQuery = xmlDoc.CreateNode(XmlNodeType.Element, &amp;quot;Query&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;            XmlNode ndViewFields =&lt;br /&gt;                    xmlDoc.CreateNode(XmlNodeType.Element, &amp;quot;ViewFields&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;            XmlNode ndQueryOptions =&lt;br /&gt;                    xmlDoc.CreateNode(XmlNodeType.Element, &amp;quot;QueryOptions&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;&lt;br /&gt;            ndQueryOptions.InnerXml =&lt;br /&gt;                &amp;quot;&amp;lt;IncludeMandatoryColumns&amp;gt;FALSE&amp;lt;/IncludeMandatoryColumns&amp;gt;&amp;quot; +&lt;br /&gt;                &amp;quot;&amp;lt;DateInUtc&amp;gt;TRUE&amp;lt;/DateInUtc&amp;gt;&amp;quot; + &amp;quot;&amp;lt;ViewAttributes Scope='Recursive'/&amp;gt;&amp;quot;;&lt;br /&gt;&lt;br /&gt;            ndQuery.InnerXml = strndQuery;&lt;br /&gt;            //add view fields to fix&lt;br /&gt;            ndViewFields.InnerXml =&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='Title' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='Abstract' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='ContentURL' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='LinkFilename' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='Last_x0020_Modified' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='DocIcon' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='DaysNew' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='RiskManagementLevel' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='File_x0020_Size' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='CategoryFilter_x002F_USDocumentType' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='ID' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='MediaType' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='EncodedAbsUrl' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='USPrimaryServiceLine_x002F_USPrimarySubService' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='USSecondaryServiceLine_x002F_USSecondarySubService' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='USIndustry_x002F_USSector' /&amp;gt;&amp;quot; +&lt;br /&gt;                    &amp;quot;&amp;lt;FieldRef Name='USServiceLine_x002F_ServiceOffering' /&amp;gt;&amp;lt;FieldRef Name='ServerUrl' /&amp;gt;&amp;lt;FieldRef Name='Modified' /&amp;gt;&amp;quot;;&lt;br /&gt;&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                XmlDocument _xmlDocument = new XmlDocument();&lt;br /&gt;                XmlNamespaceManager _xmlNameSpaceMngr = new XmlNamespaceManager(_xmlDocument.NameTable);&lt;br /&gt;&lt;br /&gt;                _xmlNameSpaceMngr.AddNamespace(&amp;quot;rs&amp;quot;, &amp;quot;urn:schemas-microsoft-com:rowset&amp;quot;);&lt;br /&gt;                _xmlNameSpaceMngr.AddNamespace(&amp;quot;z&amp;quot;, &amp;quot;#RowsetSchema&amp;quot;);&lt;br /&gt;&lt;br /&gt;                XmlNode ndListItems = null;&lt;br /&gt;&lt;br /&gt;                ndListItems =&lt;br /&gt;                        _listService.GetListItems(strListName, null, ndQuery,&lt;br /&gt;                        ndViewFields, &amp;quot;2500&amp;quot;, ndQueryOptions, null);&lt;br /&gt;&lt;br /&gt;                _nodelist = ndListItems.SelectNodes(&amp;quot;/rs:data/z:row&amp;quot;, _xmlNameSpaceMngr);&lt;br /&gt;            }&lt;br /&gt;            catch&lt;br /&gt;            {&lt;br /&gt;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            return _nodelist;&lt;br /&gt;        }&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-1592542271530967545?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/1592542271530967545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2012/01/sharepoint-2007-web-service-delete-item.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1592542271530967545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1592542271530967545'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2012/01/sharepoint-2007-web-service-delete-item.html' title='SharePoint 2007 Web Service: Delete An Item Versions'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-1256975704532006147</id><published>2011-12-06T10:31:00.001-05:00</published><updated>2012-01-23T10:17:22.844-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tahir Naveed'/><category scheme='http://www.blogger.com/atom/ns#' term='Expert SharePoint 2010 Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='APress'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Naveed'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='Tahir'/><title type='text'>SharePoint 2010 Book - Launched</title><content type='html'>&lt;span style="font-family: verdana; font-size: 85%;"&gt;Hello SharePointers!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Final Update on the SharePoint 2010 Book:&lt;/b&gt;&lt;br /&gt; The book &lt;b&gt;&lt;a href="http://www.amazon.com/dp/1430238704" target="_blank"&gt;Expert SharePoint 2010 Practices&lt;/a&gt;&lt;/b&gt;&amp;nbsp;has been finally launched on 30th November, 2011 and is available on &lt;a href="http://www.apress.com/9781430238706"&gt;APress&lt;/a&gt;.&lt;/span&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-1256975704532006147?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/1256975704532006147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2011/12/sharepoint-2010-book-launched.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1256975704532006147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1256975704532006147'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2011/12/sharepoint-2010-book-launched.html' title='SharePoint 2010 Book - Launched'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-2279105452163727118</id><published>2011-10-10T11:25:00.001-04:00</published><updated>2011-10-10T11:46:29.979-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='An unexpected error has occurred'/><category scheme='http://www.blogger.com/atom/ns#' term='Correlation ID'/><title type='text'>SharePoint 2010 Correlation ID in Error Messages</title><content type='html'>&lt;span style="font-family: verdana; font-size: 85%"&gt;This morning one of my colleague in another team was having problem in creating a SharePoint 2010 site with an imported Site Template. This site template was created in a different SharePoint 2010 environment. He was getting the famous SharePoint error "&lt;b&gt;Error: An unexpected error has occurred.&lt;/b&gt;" with no details but it has &lt;b&gt;Correlation ID&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-size: 85%;"&gt;I was trying to explain him how to look into the logs using the Correlation ID and found this MSDN article which explain how to search the error in the SharePoint logs in detail: &lt;a href="http://sharepoint.microsoft.com/blogs/GetThePoint/Lists/Posts/Post.aspx?ID=353"&gt;SharePoint 2010 Correlation ID in error messages&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-2279105452163727118?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/2279105452163727118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2011/10/sharepoint-2010-correlation-id-in-error.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2279105452163727118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2279105452163727118'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2011/10/sharepoint-2010-correlation-id-in-error.html' title='SharePoint 2010 Correlation ID in Error Messages'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-7828668661249591645</id><published>2011-10-10T09:38:00.000-04:00</published><updated>2011-12-06T10:35:54.654-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tahir Naveed'/><category scheme='http://www.blogger.com/atom/ns#' term='Expert SharePoint 2010 Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='APress'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Naveed'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='Tahir'/><title type='text'>SharePoint 2010 Book (Update)</title><content type='html'>&lt;span style="font-family: verdana;font-size: 85%;"&gt;Hello SharePointers!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Quick Update on the SharePoint 2010 Book:&lt;/b&gt;&lt;br/&gt; The book &lt;/span&gt;&lt;b&gt;&lt;a href="http://www.apress.com/9781430238706" target="_blank"&gt;Expert SharePoint 2010 Practices&lt;/a&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;&amp;nbsp;is slightly delayed and the new launch date is 24th October, 2011.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-7828668661249591645?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/7828668661249591645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2011/10/sharepoint-2010-book-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7828668661249591645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7828668661249591645'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2011/10/sharepoint-2010-book-update.html' title='SharePoint 2010 Book (Update)'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-3763058144463496883</id><published>2011-09-15T10:08:00.000-04:00</published><updated>2011-10-04T09:55:10.286-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Expert SharePoint 2010 Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='APress'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Naveed'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='Tahir'/><title type='text'>SharePoint 2010 Book</title><content type='html'>&lt;span style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;Hello SharePointers!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;No post since ages, I know. I actually was busy with my book on SharePoint 2010 with a team of authors...surprrrrrise :o). The title of the book is &lt;/span&gt;&lt;b&gt;&lt;a href="http://www.apress.com/9781430238706" target="_blank"&gt;Expert SharePoint 2010 Practices&lt;/a&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;&amp;nbsp;and it has been published by &lt;a target="_blank" href="http://www.apress.com/"&gt;APress&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;This book is available for pre-order for now and will be finally launched on Oct 15, 2011. This book is a great source of knowledge for Architects&amp;nbsp;and Developers who are keen about SharePoint 2010. Don't forget to leave the feedback.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;Happy Reading.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-3763058144463496883?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/3763058144463496883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2011/09/sharepoint-2010-book.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/3763058144463496883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/3763058144463496883'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2011/09/sharepoint-2010-book.html' title='SharePoint 2010 Book'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-2130027956655069175</id><published>2011-05-25T16:40:00.002-04:00</published><updated>2011-10-06T11:13:05.449-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Naveed'/><category scheme='http://www.blogger.com/atom/ns#' term='Tahir'/><category scheme='http://www.blogger.com/atom/ns#' term='NothingbutSharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='Web part'/><title type='text'>SharePoint Client Object Model in Silverlight - Developer - NothingButSharePoint.com</title><content type='html'>&lt;a href="https://www.nothingbutsharepoint.com/sites/devwiki/articles/Pages/SharePoint-Client-Object-Model-in-Silverlight.aspx?sms_ss=blogger&amp;amp;at_xt=4ddd694b5cba1302%2C0"&gt;SharePoint Client Object Model in Silverlight - Developer - NothingButSharePoint.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-2130027956655069175?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/2130027956655069175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2011/05/sharepoint-client-object-model-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2130027956655069175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2130027956655069175'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2011/05/sharepoint-client-object-model-in.html' title='SharePoint Client Object Model in Silverlight - Developer - NothingButSharePoint.com'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-4386052221961441549</id><published>2011-05-06T14:56:00.008-04:00</published><updated>2011-10-06T11:16:03.155-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='ASPX'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Replacing URL in HTML using JQuery</title><content type='html'>&lt;span style="font-family: verdana; font-size: 85%;"&gt;&lt;b&gt;Scenario:&lt;/b&gt;&lt;br /&gt;Sometimes if a list is currupted, Allitems.aspx's HTML starts acting weird and we dont want to spend too much time to dig deep into the problem but want a quick fix and endup fixing the HTML. Same goes here.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;Following code change the URLs in a page to a predefined URL.&lt;br /&gt;&lt;/span&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt; if(typeof jQuery==&amp;quot;undefined&amp;quot;)&lt;br /&gt; {&lt;br /&gt;  var jQsrc=&amp;quot;http://ajax.microsoft.com/ajax/jquery/jquery-1.4.4.min.js&amp;quot;;&lt;br /&gt;  document.write(unescape(&amp;quot;%3Cscript src='&amp;quot;+jQsrc+&amp;quot;' type='text/javascript'%3E%3C/script%3E&amp;quot;));&lt;br /&gt; }&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;$(document).ready(function() {&lt;br /&gt;  //find all hyperlinks in the table holding calendar links and&lt;br /&gt;  //change them to point at the display page instead of the edit page&lt;br /&gt;  $(&amp;quot;table[id^='CalViewTable']&amp;quot;).find(&amp;quot;a[href*='OldForm.aspx']&amp;quot;).each(function(){&lt;br /&gt;  var originalUrl = $(this).attr(&amp;quot;href&amp;quot;);&lt;br /&gt;  var newUrl = originalUrl.replace(&amp;quot;OldForm.aspx&amp;quot;, &amp;quot;NewForm.aspx&amp;quot;);&lt;br /&gt;$(this).attr(&amp;quot;href&amp;quot;, newUrl);&lt;br /&gt;});&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;span style="font-family: verdana; font-size: 85%;"&gt;Ref: http://social.msdn.microsoft.com/Forums/en-US/sharepointcustomization/thread/ee519099-e685-4560-9c18-70e4aa62eb39&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-4386052221961441549?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/4386052221961441549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2011/05/replacing-url-in-html-using-jquery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4386052221961441549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4386052221961441549'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2011/05/replacing-url-in-html-using-jquery.html' title='Replacing URL in HTML using JQuery'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-7623015525380742394</id><published>2011-03-28T17:40:00.001-04:00</published><updated>2011-10-06T11:14:33.338-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Client Object Model'/><category scheme='http://www.blogger.com/atom/ns#' term='ECMAScript'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Naveed'/><category scheme='http://www.blogger.com/atom/ns#' term='Tahir'/><category scheme='http://www.blogger.com/atom/ns#' term='NothingbutSharePoint'/><title type='text'>SharePoint Client Object Model using ECMAScript - End User - NothingButSharePoint.com</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;a href="https://www.nothingbutsharepoint.com/sites/eusp/Pages/SharePoint-Client-Object-Model-using-ECMAScript.aspx?sms_ss=blogger&amp;amp;at_xt=4d910051b22dfb4c%2C0"&gt;SharePoint Client Object Model using ECMAScript - End User - NothingButSharePoint.com&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-7623015525380742394?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/7623015525380742394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2011/03/sharepoint-client-object-model-using_6292.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7623015525380742394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7623015525380742394'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2011/03/sharepoint-client-object-model-using_6292.html' title='SharePoint Client Object Model using ECMAScript - End User - NothingButSharePoint.com'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-5734152322873313522</id><published>2011-03-21T16:53:00.002-04:00</published><updated>2011-03-21T16:55:57.070-04:00</updated><title type='text'>ECMAScript Class Library</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Following is the refrence to SHarePoint 2010 ECMA Script Class Library:&lt;br /&gt;&lt;br /&gt;URL: &lt;a href="http://msdn.microsoft.com/en-us/library/ee538253.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee538253.aspx&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-5734152322873313522?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/5734152322873313522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2011/03/ecmascript-class-library.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/5734152322873313522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/5734152322873313522'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2011/03/ecmascript-class-library.html' title='ECMAScript Class Library'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-8082780791431279324</id><published>2011-03-15T17:43:00.035-04:00</published><updated>2011-10-06T11:11:18.706-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Client Object Model'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Server Object Model'/><title type='text'>SharePoint Client Object Model vs Server Object Model Classes</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;One of the new feature of SharePoint 2010 is the Client Object Model. By using Client Object Model, developers can build the applications which can talk to SharePoint without using WebServices and without deploying any server side code.&lt;br /&gt;&lt;br /&gt;Following is the list of Client Object Model classes and their equivalent to Server Object Model classes:&lt;br /&gt;&lt;br /&gt;&lt;table width="350" cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;&lt;tr bgcolor="#cccccc"&gt;&lt;td&gt;&lt;strong&gt;Client Object Model&lt;/strong&gt;&lt;/td&gt;&lt;strong&gt;&lt;/strong&gt;&lt;td&gt;&lt;strong&gt;Server Object Model&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ClientContext&lt;/td&gt;&lt;td&gt;SPContext&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Site&lt;/td&gt;&lt;td&gt;SPSite&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Web&lt;/td&gt;&lt;td&gt;SPWeb&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;List&lt;/td&gt;&lt;td&gt;SPList&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ListItem&lt;/td&gt;&lt;td&gt;SPListItem&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Field&lt;/td&gt;&lt;td&gt;SPField&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;using Microsoft.SharePoint.Client;&lt;br /&gt;&lt;br /&gt;private void SomeMethod()&lt;br /&gt;{&lt;br /&gt;  ClientContext clientContext = new ClientContext(siteUrl);&lt;br /&gt;  Site siteCollection = clientContext.Site;&lt;br /&gt;  Web site = clientContext.Web;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Ref: &lt;a href="http://msdn.microsoft.com/en-us/library/ee857094(office.14).aspx"&gt;http://msdn.microsoft.com/en-us/library/ee857094(office.14).aspx&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-8082780791431279324?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/8082780791431279324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2011/03/sharepoint-client-object-model-vs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8082780791431279324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8082780791431279324'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2011/03/sharepoint-client-object-model-vs.html' title='SharePoint Client Object Model vs Server Object Model Classes'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-1435684634694834759</id><published>2011-03-04T11:35:00.008-05:00</published><updated>2011-10-07T10:23:06.902-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Primary Key'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><title type='text'>EMail as Primary Key in List</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;I have been asked a question today from one of the developers in another team that he wants to create a user registration list where emial should be unique for every user. And if user add item with existing email then he should be informed. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br /&gt;We know that this functionality does not exist in the OTB SharePoint list features. After googling a bit I found following excellent solution using JQuery:&lt;br /&gt;&lt;br /&gt;URL: &lt;a href="http://sharepointjavascript.wordpress.com/2009/11/23/sharepoint-lists-or-document-librarys-primary-key-in-selected-field/"&gt;http://sharepointjavascript.wordpress.com/2009/11/23/sharepoint-lists-or-document-librarys-primary-key-in-selected-field/&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-1435684634694834759?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/1435684634694834759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2011/03/email-as-primary-key-in-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1435684634694834759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1435684634694834759'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2011/03/email-as-primary-key-in-list.html' title='EMail as Primary Key in List'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-302346283915641678</id><published>2011-01-24T15:44:00.014-05:00</published><updated>2011-01-25T10:19:51.135-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight Web part'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Silverlight Application in SharePoint 2010</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;In my &lt;a href="http://mysplist.blogspot.com/2011/01/silverlight-application-for-sharepoint.html" target="_blank"&gt;last post&lt;/a&gt; I have explained how to develop the Silverlight application using Visual Studio 2010. Then we deployed that application in SharePoint 2007 using Content Editor Webpart. In this post I will explain how to deploy the same application in SharePoint 2010 using Silverlight Webpart.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note: &lt;/strong&gt;Please click &lt;a href="http://mysplist.blogspot.com/2011/01/silverlight-application-for-sharepoint.html" target="_blank"&gt;here&lt;/a&gt; for the Silverlight application development using Visual Studio 2010. This Hello World Silverlight application can be deployed on both SharePoint 2007 and 2010.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Deployment to SharePoint 2010&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Go to the SharePoint portal.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Upload the &lt;strong&gt;SilverlightApp.xap&lt;/strong&gt; to a document library.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create a sample webpart page.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Open the page in Edit mode and from the ribbon select &lt;strong&gt;Editing Tools&lt;/strong&gt; -&gt; &lt;strong&gt;Insert&lt;/strong&gt; -&gt; &lt;strong&gt;Web Part&lt;/strong&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;From categories select &lt;strong&gt;Media and Content&lt;/strong&gt; -&gt; &lt;strong&gt;Silverlight Web Part&lt;/strong&gt; -&gt; &lt;strong&gt;Add&lt;/strong&gt;.&lt;/li&gt;&lt;br /&gt;&lt;img src="http://lh3.ggpht.com/_pYQuYk_rGaM/TT3rFMqBG1I/AAAAAAAABqY/PPINPh6EMBo/s800/1.png" width="100%" /&gt;&lt;br /&gt;&lt;li&gt;Provide the URL of the SilverlightApp.xap file and hit OK.&lt;/li&gt;&lt;br /&gt;&lt;img src="http://lh4.ggpht.com/_pYQuYk_rGaM/TT3rm1p36BI/AAAAAAAABqs/J2grU9rmo30/2.png" width="100%"/&gt;&lt;br /&gt;&lt;li&gt;It should look like this&lt;br /&gt;&lt;img src="http://lh6.ggpht.com/_pYQuYk_rGaM/TT3thaZvAyI/AAAAAAAABq0/-lQlK3ly2fg/3.jpg" width="100%"/&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Pretty easy hah! =]&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-302346283915641678?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/302346283915641678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2011/01/silverlight-application-in-sharepoint.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/302346283915641678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/302346283915641678'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2011/01/silverlight-application-in-sharepoint.html' title='Silverlight Application in SharePoint 2010'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_pYQuYk_rGaM/TT3rFMqBG1I/AAAAAAAABqY/PPINPh6EMBo/s72-c/1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-3935333045680249584</id><published>2011-01-19T14:58:00.042-05:00</published><updated>2012-01-05T10:26:57.378-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Silverlight Application for SharePoint 2007</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;The goal of this post is to guide the .NET developers to write a basic Silverlight 3 application using Visual Studio 2010 and then deploying it to SharePoint 2007. Trust me its pretty easy :).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Development with Visual Studio 2010&lt;/strong&gt;&lt;br /&gt;Following are the steps to develop a simple Silverlight 3 application using Visual Studio 2010:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Launch Visual Studio 2010&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Select File -&gt; New -&gt; Project -&gt; Silverlight Application and hit Ok.&lt;/li&gt;&lt;br /&gt;&lt;img width="100%" src="http://lh4.ggpht.com/_pYQuYk_rGaM/TTdS7qze1VI/AAAAAAAABpo/COfcwzx5ufo/1.jpg"/&gt;&lt;br /&gt;&lt;li&gt;Uncheck Host the Silverlight Application in a new Web site and select OK. We don’t want to host our Silverlight application in a ASP.NET Web application rather we will host it in a simple HTML page. This HTML Page will get created by the project.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Now you are ready to do the development on MainPage.xaml.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Drop a Textbox(txtMessage) and a Button(btnGo) on MainPage.xaml from the Toolbox on the left.&lt;/li&gt;&lt;br /&gt;&lt;img width="100%" src="http://lh6.ggpht.com/_pYQuYk_rGaM/TTdTG6KjywI/AAAAAAAABpw/9VPfUAzoPh0/2.jpg"/&gt;&lt;br /&gt;&lt;li&gt;Double click on the button to get it’s click event handler and paste following code there:&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;namespace SilverlightApp  &lt;br /&gt;{  &lt;br /&gt;public partial class MainPage : UserControl  &lt;br /&gt;{  &lt;br /&gt;    public MainPage()  &lt;br /&gt;    {  &lt;br /&gt;        InitializeComponent();  &lt;br /&gt;    }  &lt;br /&gt;    private void btnGo_Click(object sender, RoutedEventArgs e)  &lt;br /&gt;    {  &lt;br /&gt;        MessageBox.Show(this.txtMessage.Text);  &lt;br /&gt;    }  &lt;br /&gt;}  &lt;br /&gt;}  &lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Go to bin folder and you will see a HTML file (In my case its SilverlightAppTestPage.html). Launch that HTML file and it should display your Silverlight application. Clicking the Go button should display the text entered in the Textbox.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;img src="http://lh5.ggpht.com/_pYQuYk_rGaM/TTdTG2o65xI/AAAAAAAABp4/LoNTNP-VVn8/3.jpg"/&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;u&gt;Note:&lt;/u&gt; When Silverlight application is compiled, Visual Studio generates a XAP file (compiled silverlight application) which runs in a silverlight enabled browser. HTML page contains the object tag to load the Silverlight control which runs the Silverlight application.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Deployment to SharePoint 2010&lt;/strong&gt;&lt;br /&gt;Following are the steps to deploy the Silverlight application in to a SharePoint 2007 site:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Goto a SharePoint portal.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Upload the &lt;b&gt;Silverlight.xap&lt;/b&gt; file in a document library.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create a test ASPX page and add a Content Editor Web Part on it.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Paste following HTML object code in the ContentEditor Web Part:&lt;/li&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;&amp;lt;object type=&amp;quot;application/x-silverlight-2&amp;quot; width=&amp;quot;600&amp;quot; height=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;param name=&amp;quot;source&amp;quot; value=&amp;quot;SilverlightApp.xap&amp;quot;/&amp;gt;&lt;br /&gt;    &amp;lt;param name=&amp;quot;minRuntimeVersion&amp;quot; value=&amp;quot;3.0.40818.0&amp;quot; /&amp;gt;&lt;br /&gt;    &amp;lt;param name=&amp;quot;background&amp;quot; value=&amp;quot;white&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/object&amp;gt;&lt;br /&gt;&amp;lt;iframe id=&amp;quot;_sl_historyFrame&amp;quot; style=&amp;quot;height:0px;width:0px;border:0px&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Make sure to change the parth of the XAP file from the document library.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Exit the edit mode.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The Silverlight application should be displayed in the test page.&lt;/li&gt;&lt;br /&gt;&lt;img src="http://lh5.ggpht.com/_pYQuYk_rGaM/TTdTHL-pF6I/AAAAAAAABqA/ga_4OcQm1lc/s800/4.jpg" width="100%" /&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Thanks for reading :).&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-3935333045680249584?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/3935333045680249584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2011/01/silverlight-application-for-sharepoint.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/3935333045680249584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/3935333045680249584'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2011/01/silverlight-application-for-sharepoint.html' title='Silverlight Application for SharePoint 2007'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_pYQuYk_rGaM/TTdS7qze1VI/AAAAAAAABpo/COfcwzx5ufo/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-7809834039445493419</id><published>2010-11-02T14:06:00.012-04:00</published><updated>2010-12-02T23:31:50.799-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebPart'/><category scheme='http://www.blogger.com/atom/ns#' term='XSL'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='Search Core Results WebPart'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>View All XML Data via XSLT</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Some times we have to debug the XSLT for a WebPart (which generates XML data as output e.g. Search Core Results WebPart in MOSS) to manipulate the results. The first step of XSLT debugging is to see if the generated XML is valid and have all the necessary data.&lt;br /&gt;&lt;br /&gt;Following is the code XSLT snippit to display all the XML elements:&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&lt;br /&gt;&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;  &lt;br /&gt;&lt;xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"&gt;  &lt;br /&gt;&lt;xsl:template match="/"&gt;  &lt;br /&gt;&lt;xmp&gt;&lt;xsl:copy-of select="*"/&gt;&lt;/xmp&gt;  &lt;br /&gt;&lt;/xsl:template&gt;  &lt;br /&gt;&lt;/xsl:output&gt;  &lt;br /&gt;&lt;/xsl:stylesheet&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-7809834039445493419?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/7809834039445493419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2010/11/view-all-xml-data-via-xslt.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7809834039445493419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7809834039445493419'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2010/11/view-all-xml-data-via-xslt.html' title='View All XML Data via XSLT'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-8234830539754419892</id><published>2010-10-04T10:01:00.025-04:00</published><updated>2011-02-17T12:53:43.142-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tahir Naveed'/><category scheme='http://www.blogger.com/atom/ns#' term='Customization'/><category scheme='http://www.blogger.com/atom/ns#' term='Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Orion Systems Integrators'/><category scheme='http://www.blogger.com/atom/ns#' term='Naveed'/><category scheme='http://www.blogger.com/atom/ns#' term='Tahir'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS Development'/><title type='text'>MOSS Development/Customization Training</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;In April 2010, my manager &lt;a href="http://www.linkedin.com/in/pradeepthekkethodi"&gt;Pradeep Thekkethodi&lt;/a&gt; asked me to conduct a Microsoft Office SharePoint Server 2007 Development training to upgrade the skills of our colleagues with .NET experience. The idea was to quickly bring the developers up to the speed for SharePoint Development and Advance Customization with SharePoint Designer 2007 and Visual Studio 2008. This training was held in our company &lt;a href="http://www.orioninc.com/" targer="_blank"&gt;Orion Systems Integrators Inc&lt;/a&gt;. This training was attended by 12 professionals.&lt;br /&gt;&lt;br /&gt;I joined hands with my colleague &lt;a href="http://www.cnjspug.com/"&gt;Pramod&lt;/a&gt; who is a SharePoint Architect and we came up with a following course outline:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Module 1: SharePoint Object Model – 2 Hrs - &lt;span style="color:#3366ff;"&gt;Pramod&lt;/span&gt; &lt;/strong&gt;&lt;br /&gt;• SharePoint Object Model – Farm, Web Application, Site Collection, Sites and Site elements&lt;br /&gt;• Navigation, Access control and security, Site directory, Site columns, Content types&lt;br /&gt;• Lists and Views, Search, Extra-net Usage&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Module&lt;/strong&gt; &lt;strong&gt;2: Site Tools – 2 Hours – &lt;span style="color:#3366ff;"&gt;Tahir&lt;/span&gt; &lt;/strong&gt;&lt;br /&gt;• Create custom lists&lt;br /&gt;• Create custom default views for lists&lt;br /&gt;• Create custom web pages and web part zones&lt;br /&gt;• Insert and configure web parts&lt;br /&gt;• Connect web parts to filter data&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Module 3: Master Pages – 2 Hours – &lt;span style="color:#3366ff;"&gt;Tahir&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;• Understand the structure of master pages.&lt;br /&gt;• Modifying Master Pages&lt;br /&gt;• Creating a Custom Master Page&lt;br /&gt;• Creating a Custom Cascading Style Sheet&lt;br /&gt;• Creating a Web Page from a Master Page&lt;br /&gt;• Understand the purpose and use of Cascading Style Sheets.&lt;br /&gt;• Attach and customize master pages.&lt;br /&gt;• Create content pages from master pages.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Module 4: Forms and Data – 4 Hours – &lt;span style="color:#3366ff;"&gt;Tahir&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;• Creating a Formatted View&lt;br /&gt;• Creating a Merged Data Source&lt;br /&gt;• Creating a Custom Data View Page&lt;br /&gt;• Applying Conditional Formatting&lt;br /&gt;• Create and customize Data Views.&lt;br /&gt;• Use conditional formatting to identify data changes.&lt;br /&gt;• Create custom data sources&lt;br /&gt;• Create linked and merged data sources&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Module&lt;/strong&gt; &lt;strong&gt;5: Automating Business Processes - 4 Hours – &lt;span style="color:#3366ff;"&gt;Tahir&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;• Implementing Workflows Using Workflow Designer&lt;br /&gt;• Create a SharePoint Designer Workflow&lt;br /&gt;• Using Conditions and Actions&lt;br /&gt;• Verifying and Deploying a Workflow&lt;br /&gt;• Describe Workflows in SharePoint and SharePoint Designer&lt;br /&gt;• Create a workflow through Workflow Designer&lt;br /&gt;• Add conditions and actions to a workflow.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Module 6 and&lt;/strong&gt; &lt;strong&gt;7: Web Part Development&lt;/strong&gt; &lt;strong&gt;– 4 Hours – &lt;span style="color:#3366ff;"&gt;Tahir&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;(Prereq: ASP.NET, C# &amp;amp; SharePoint)&lt;/span&gt;&lt;br /&gt;• Creating, deploying and debugging ASP.NET Web Parts in WSS&lt;br /&gt;• Writing CAML to retrieve and store data.&lt;br /&gt;• Deploying WebPart&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Module 8: Event Handlers – 4 hrs – &lt;span style="color:#3366ff;"&gt;Tahir&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;• List Event Handlers&lt;br /&gt;• Deployment&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Model 9: Logical Architecture, Performance Optimization and Tuning – 2 Hours – &lt;span style="color:#3366ff;"&gt;Pramod&lt;/span&gt; &lt;/strong&gt;&lt;br /&gt;• Client Side Performance issue&lt;br /&gt;• Server side performance issues&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Model 10: Best Practices, Information Architecture, Governance Planning - &lt;span style="color:#3366ff;"&gt;Pramod&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;• Best Practices for SharePoint implementation and Designing&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-8234830539754419892?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/8234830539754419892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2010/10/moss-developmentcustomization-training.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8234830539754419892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8234830539754419892'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2010/10/moss-developmentcustomization-training.html' title='MOSS Development/Customization Training'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-7126836958941675730</id><published>2010-07-28T16:19:00.007-04:00</published><updated>2011-10-06T11:02:27.782-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Web Service'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><title type='text'>Update a List Column using JQuery with SharePoint WebServices</title><content type='html'>&lt;span style="font-family: verdana; font-size: 85%;"&gt;&lt;br /&gt;&lt;b&gt;Scenario:&lt;/b&gt; Click on the image in data View to update the Status on an item.&lt;br /&gt;&lt;b&gt;PreReq:&lt;/b&gt; A list with choice column &lt;b&gt;Status&lt;/b&gt; (0,1,2). &lt;br /&gt;0 represents Not started, &lt;br /&gt;1 represents In Progress and &lt;br /&gt;2 represents Completed.&lt;br /&gt;&lt;br /&gt;You need two libraries:&lt;br /&gt;1. JQuery (jquery-1.4.2.js)&lt;br /&gt;2. SPServices (jquery.SPServices-0.5.6.min.js)&lt;br /&gt;&lt;br /&gt;Add following code in your page in the head, or where ever you want to:&lt;/span&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;Scripts/jquery-1.4.2.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;  &lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;Scripts/jquery.SPServices-0.5.6.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;  &lt;br /&gt;  &lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;  &lt;br /&gt;  &lt;br /&gt;function UpdateStatusCode(divId, waitMessage, ID, StatusCode)  &lt;br /&gt;  {  &lt;br /&gt;    &lt;br /&gt;   //alert(divId +&amp;quot; &amp;quot;+ waitMessage +&amp;quot; &amp;quot;+ ID + &amp;quot; &amp;quot; + StatusCode);  &lt;br /&gt;   if (confirm (&amp;quot;Are you sure you want to update the status of the selected event?&amp;quot;))  &lt;br /&gt;   {  &lt;br /&gt;    StatusCode = StatusCode + 1;  &lt;br /&gt;      &lt;br /&gt;    if (StatusCode &amp;lt; 3)  &lt;br /&gt;    {  &lt;br /&gt;     $(divId).html(waitMessage).SPServices({  &lt;br /&gt;     operation: &amp;quot;UpdateListItems&amp;quot;,  &lt;br /&gt;     listName: 'Events',  &lt;br /&gt;     ID: ID,  &lt;br /&gt;     valuepairs: [[&amp;quot;Status&amp;quot;, StatusCode]],  &lt;br /&gt;     completefunc: function (xData, Status) {  &lt;br /&gt;      var out = $().SPServices.SPDebugXMLHttpResult({  &lt;br /&gt;       node: xData.responseXML,  &lt;br /&gt;       outputId: divId  &lt;br /&gt;      });  &lt;br /&gt;        &lt;br /&gt;      window.location = RefreshPageURL('Default.aspx');  &lt;br /&gt;  &lt;br /&gt;      }  &lt;br /&gt;     });  &lt;br /&gt;    }  &lt;br /&gt;    else  &lt;br /&gt;    {  &lt;br /&gt;     alert('This event is already completed.');  &lt;br /&gt;    }  &lt;br /&gt;   }  &lt;br /&gt;  }  &lt;br /&gt;&amp;lt;/script&amp;gt;  &lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;span style="font-family: verdana; font-size: 85%;"&gt;&lt;br /&gt;Place the following div where you want to display the status column in the DataView Webpart. XSL in the &amp;lt;div&amp;gt; will display the relevant image and click event on the div will call the UpdateStatusCode() function to update the value on StatusCode column via JQuery and then page will get refreshed to show the right image based on the updated value.&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;&amp;lt;div id=&amp;quot;div+{@ID}&amp;quot; onclick=&amp;quot;UpdateStatusCode('div'+{@ID}, 'Updating', {@ID}, {@Status});&amp;quot;&amp;gt;  &lt;br /&gt;&amp;lt;xsl:if test=&amp;quot;@Status = '0'&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;images/NotStarted.png&amp;quot;&amp;gt;&amp;lt;/xsl:if&amp;gt;  &lt;br /&gt;&amp;lt;xsl:if test=&amp;quot;@Status = '1'&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;images/InProgress.jpg&amp;quot;&amp;gt;&amp;lt;/xsl:if&amp;gt;  &lt;br /&gt;&amp;lt;xsl:if test=&amp;quot;@Status = '2'&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;images/Completed.jpg&amp;quot;&amp;gt;&amp;lt;/xsl:if&amp;gt;  &lt;br /&gt;&amp;lt;/div&amp;gt;  &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;JQuery makes life easy :o).&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-7126836958941675730?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/7126836958941675730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2010/07/update-list-column-using-jquery.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7126836958941675730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7126836958941675730'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2010/07/update-list-column-using-jquery.html' title='Update a List Column using JQuery with SharePoint WebServices'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-5460537783661294231</id><published>2010-07-08T17:51:00.011-04:00</published><updated>2010-07-08T18:07:14.242-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Properties'/><category scheme='http://www.blogger.com/atom/ns#' term='WebPart'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><title type='text'>SharePoint WebPart Custom Properties</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_pYQuYk_rGaM/TDZLSygYA9I/AAAAAAAABm4/Rp3yd3OlyHk/s1600/Property.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Add the following piece of code (to create the custom property &lt;strong&gt;Password&lt;/strong&gt; for your custom WebPart) in your WebPart class. Now the property will get displayed under &lt;strong&gt;Parameters&lt;/strong&gt; section in the Property panel of the WebPart as displayed in the screenshot below. &lt;/span&gt;&lt;br&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5491659670181260610" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 239px; CURSOR: hand; HEIGHT: 262px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/TDZLX7x-LUI/AAAAAAAABnA/xCzgW189brI/s400/Property.jpg" border="0" /&gt;&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;private string _strPassword;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[Browsable(true),&lt;br /&gt;Category("Parameters"),&lt;br /&gt;DefaultValue(""),&lt;br /&gt;WebBrowsable(true),&lt;br /&gt;Personalizable(PersonalizationScope.Shared),&lt;br /&gt;WebDisplayName("Password"),&lt;br /&gt;Description("Network Password")]&lt;br /&gt;public string strPassword&lt;br /&gt;{&lt;br /&gt;    get&lt;br /&gt;    {&lt;br /&gt;        return _strPassword;&lt;br /&gt;    }&lt;br /&gt;    set&lt;br /&gt;    {&lt;br /&gt;        _strPassword = value;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now Access &lt;strong&gt;strPassword&lt;/strong&gt; anywhere in the code to access the value provided by the user.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-5460537783661294231?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/5460537783661294231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2010/07/sharepoint-webpart-custom-properties.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/5460537783661294231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/5460537783661294231'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2010/07/sharepoint-webpart-custom-properties.html' title='SharePoint WebPart Custom Properties'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_pYQuYk_rGaM/TDZLX7x-LUI/AAAAAAAABnA/xCzgW189brI/s72-c/Property.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-1672474413856607423</id><published>2010-06-04T18:10:00.002-04:00</published><updated>2012-01-10T11:02:44.518-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lists.asmx'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>SharePoint 2007 Web Service: Get Items</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Use lists.asmx to get the items through a desktop application&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Below is the C# function to call the &lt;strong&gt;lists.asmx&lt;/strong&gt; MOSS Web Service to get list items from a list/document library.&lt;br /&gt;Add reference to lists.asmx to your project and use the following code:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;private void GetItems(string strListName)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;    #region Connect to URL&lt;br /&gt;&lt;br /&gt;    this.m_objWSSListService.Url = this.cmbURL.Text.Trim('/') + &amp;quot;/_vti_bin/lists.asmx&amp;quot;;&lt;br /&gt;&lt;br /&gt;    string sDomain = string.Empty;&lt;br /&gt;    string sUserName = this.txtLogin.Text.Trim();&lt;br /&gt;    if (sUserName.IndexOf(&amp;quot;\\&amp;quot;) &amp;gt; 0)&lt;br /&gt;    {&lt;br /&gt;        sDomain = sUserName.Split(&amp;quot;\\&amp;quot;.ToCharArray())[0];&lt;br /&gt;        sUserName = sUserName.Split(&amp;quot;\\&amp;quot;.ToCharArray())[1];&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    this.m_objWSSListService.Credentials = new System.Net.NetworkCredential(sUserName, this.txtPassword.Text.Trim(), sDomain);&lt;br /&gt;&lt;br /&gt;    #endregion&lt;br /&gt;&lt;br /&gt;    string sListName = strListName;&lt;br /&gt;    string SourceDocumentURL = &amp;quot;&amp;quot;;&lt;br /&gt;    string strTempLocation = &amp;quot;C:\\Temp\\&amp;quot;;&lt;br /&gt;    string strFileName = &amp;quot;&amp;quot;;&lt;br /&gt;&lt;br /&gt;    System.Xml.XmlNode xnListSchema = m_objWSSListService.GetList(sListName);&lt;br /&gt;&lt;br /&gt;    //get the Data from the List&lt;br /&gt;    System.Xml.XmlDocument xdListData = new System.Xml.XmlDocument();&lt;br /&gt;    System.Xml.XmlNode xnQuery = xdListData.CreateElement(&amp;quot;Query&amp;quot;);&lt;br /&gt;    System.Xml.XmlNode xnViewFields = xdListData.CreateElement(&amp;quot;ViewFields&amp;quot;);&lt;br /&gt;    System.Xml.XmlNode xnQueryOptions = xdListData.CreateElement(&amp;quot;QueryOptions&amp;quot;);&lt;br /&gt;&lt;br /&gt;    System.Xml.XmlNode xnListData = m_objWSSListService.GetListItems(sListName, null, xnQuery, xnViewFields, null, xnQueryOptions);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    if (!Directory.Exists(strTempLocation))&lt;br /&gt;    {&lt;br /&gt;        Directory.CreateDirectory(strTempLocation);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    foreach (XmlNode outerNode in xnListData.ChildNodes)&lt;br /&gt;    {&lt;br /&gt;        if (outerNode.NodeType.Equals(System.Xml.XmlNodeType.Element))&lt;br /&gt;        {&lt;br /&gt;            foreach (XmlNode node in outerNode.ChildNodes)&lt;br /&gt;            {&lt;br /&gt;                if (node.NodeType.Equals(System.Xml.XmlNodeType.Element))&lt;br /&gt;                {&lt;br /&gt;                    MessageBox.Show(node.Attributes.GetNamedItem(&amp;quot;ows_Title&amp;quot;).InnerText);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;catch (System.Exception ex)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    this.WriteLog(ex.ToString());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-1672474413856607423?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/1672474413856607423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2010/06/sharepoint-2007-web-service-get-items.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1672474413856607423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1672474413856607423'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2010/06/sharepoint-2007-web-service-get-items.html' title='SharePoint 2007 Web Service: Get Items'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-2998635949749794663</id><published>2010-06-02T15:26:00.004-04:00</published><updated>2012-01-10T11:03:16.124-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lists.asmx'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>SharePoint 2007 Web Service: Create Folder in Document Library</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Use lists.asmx to create folder in a document library through a desktop application&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Below is the C# function to call the &lt;strong&gt;lists.asmx&lt;/strong&gt; MOSS Web Service to create folders in a document library.&lt;br /&gt;Add reference to lists.asmx to your project and use the following code:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;&lt;br /&gt;private void CreateFolder(string strPath, string strListName)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;#region Connect to URL&lt;br /&gt;&lt;br /&gt;this.m_objWSSListService.Url = this.cmbURL.Text.Trim('/') + &amp;quot;/_vti_bin/lists.asmx&amp;quot;;&lt;br /&gt;&lt;br /&gt;string sDomain = string.Empty;&lt;br /&gt;string sUserName = this.txtLogin.Text.Trim();&lt;br /&gt;if (sUserName.IndexOf(&amp;quot;\\&amp;quot;) &amp;gt; 0)&lt;br /&gt;{&lt;br /&gt;    sDomain = sUserName.Split(&amp;quot;\\&amp;quot;.ToCharArray())[0];&lt;br /&gt;    sUserName = sUserName.Split(&amp;quot;\\&amp;quot;.ToCharArray())[1];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;this.m_objWSSListService.Credentials = new System.Net.NetworkCredential(sUserName, this.txtPassword.Text.Trim(), sDomain);&lt;br /&gt;&lt;br /&gt;#endregion&lt;br /&gt;&lt;br /&gt;System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();&lt;br /&gt;System.Xml.XmlElement Batch = xmlDoc.CreateElement(&amp;quot;Batch&amp;quot;);&lt;br /&gt;&lt;br /&gt;Batch.SetAttribute(&amp;quot;OnError&amp;quot;, &amp;quot;Continue&amp;quot;);&lt;br /&gt;Batch.SetAttribute(&amp;quot;ListVersion&amp;quot;, &amp;quot;0&amp;quot;);&lt;br /&gt;string strBatch = &amp;quot;&amp;lt;method id=&amp;quot;1&amp;quot; cmd=&amp;quot;New&amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;strBatch = strBatch + &amp;quot;&amp;lt;field name=&amp;quot;ID&amp;quot;&amp;gt;New&amp;lt;/field&amp;gt;&amp;quot;;&lt;br /&gt;strBatch = strBatch + &amp;quot;&amp;lt;field name=&amp;quot;FSObjType&amp;quot;&amp;gt;1&amp;lt;/field&amp;gt;&amp;quot;;&lt;br /&gt;strBatch = strBatch + &amp;quot;&amp;lt;field name=&amp;quot;FileRef&amp;quot;&amp;gt;&amp;quot; + strPath + &amp;quot;&amp;lt;/field&amp;gt;&amp;lt;/method&amp;gt;&amp;quot;;&lt;br /&gt;&lt;br /&gt;Batch.InnerXml = strBatch;&lt;br /&gt;XmlNode ndReturn = this.m_objWSSListService.UpdateListItems(strListName, Batch);&lt;br /&gt;if (ndReturn.FirstChild.FirstChild.InnerText != &amp;quot;0x00000000&amp;quot;)&lt;br /&gt;{&lt;br /&gt;    this.WriteLog(ndReturn.InnerText);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;this.WriteLog(&amp;quot;Create Operation - List:&amp;quot; + strListName + &amp;quot; - Folder: &amp;quot; + strPath);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;catch (System.Exception ex)&lt;br /&gt;{&lt;br /&gt;this.WriteLog(ex.ToString());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-2998635949749794663?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/2998635949749794663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2010/06/sharepoint-2007-web-service-create.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2998635949749794663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2998635949749794663'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2010/06/sharepoint-2007-web-service-create.html' title='SharePoint 2007 Web Service: Create Folder in Document Library'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-3213788984740292218</id><published>2010-06-02T15:07:00.007-04:00</published><updated>2012-01-10T11:04:14.889-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lists.asmx'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>SharePoint 2007 Web Service: Download Documents</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Use lists.asmx to download the documents from a document library through a desktop application&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Below is the C# function to call the &lt;strong&gt;lists.asmx&lt;/strong&gt; MOSS Web Service to download the documents from a document library.&lt;br /&gt;Add reference to lists.asmx to your project and use the following code:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;private void DownloadDocumnts(string strListName)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;    #region Connect to URL&lt;br /&gt;&lt;br /&gt;    this.m_objWSSListService.Url = this.cmbURL.Text.Trim('/') + &amp;quot;/_vti_bin/lists.asmx&amp;quot;;&lt;br /&gt;&lt;br /&gt;    string sDomain = string.Empty;&lt;br /&gt;    string sUserName = this.txtLogin.Text.Trim();&lt;br /&gt;    if (sUserName.IndexOf(&amp;quot;\\&amp;quot;) &amp;gt; 0)&lt;br /&gt;    {&lt;br /&gt;        sDomain = sUserName.Split(&amp;quot;\\&amp;quot;.ToCharArray())[0];&lt;br /&gt;        sUserName = sUserName.Split(&amp;quot;\\&amp;quot;.ToCharArray())[1];&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    this.m_objWSSListService.Credentials = new System.Net.NetworkCredential(sUserName, this.txtPassword.Text.Trim(), sDomain);&lt;br /&gt;&lt;br /&gt;    #endregion&lt;br /&gt;&lt;br /&gt;    string sListName = strListName;&lt;br /&gt;    string SourceDocumentURL = &amp;quot;&amp;quot;;&lt;br /&gt;    string strTempLocation = &amp;quot;C:\\Temp\\&amp;quot;;&lt;br /&gt;    string strFileName = &amp;quot;&amp;quot;;&lt;br /&gt;&lt;br /&gt;    System.Xml.XmlNode xnListSchema = m_objWSSListService.GetList(sListName);&lt;br /&gt;&lt;br /&gt;    //get the Data from the List&lt;br /&gt;    System.Xml.XmlDocument xdListData = new System.Xml.XmlDocument();&lt;br /&gt;    System.Xml.XmlNode xnQuery = xdListData.CreateElement(&amp;quot;Query&amp;quot;);&lt;br /&gt;    System.Xml.XmlNode xnViewFields = xdListData.CreateElement(&amp;quot;ViewFields&amp;quot;);&lt;br /&gt;    System.Xml.XmlNode xnQueryOptions = xdListData.CreateElement(&amp;quot;QueryOptions&amp;quot;);&lt;br /&gt;&lt;br /&gt;    System.Xml.XmlNode xnListData = m_objWSSListService.GetListItems(sListName, null, xnQuery, xnViewFields, null, xnQueryOptions);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    if (!Directory.Exists(strTempLocation))&lt;br /&gt;    {&lt;br /&gt;        Directory.CreateDirectory(strTempLocation);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    foreach (XmlNode outerNode in xnListData.ChildNodes)&lt;br /&gt;    {&lt;br /&gt;        if (outerNode.NodeType.Equals(System.Xml.XmlNodeType.Element))&lt;br /&gt;        {&lt;br /&gt;            foreach (XmlNode node in outerNode.ChildNodes)&lt;br /&gt;            {&lt;br /&gt;                if (node.NodeType.Equals(System.Xml.XmlNodeType.Element))&lt;br /&gt;                {&lt;br /&gt;                    XmlNode FileNameNode = node.Attributes.GetNamedItem(&amp;quot;ows_EncodedAbsUrl&amp;quot;);&lt;br /&gt;                    SourceDocumentURL = FileNameNode.InnerText;&lt;br /&gt;                    strFileName = SourceDocumentURL.Substring(SourceDocumentURL.LastIndexOf('/') + 1).Replace(&amp;quot;%20&amp;quot;, &amp;quot; &amp;quot;);&lt;br /&gt;&lt;br /&gt;                    /*&lt;br /&gt;                     * ?noredirect=true &lt;br /&gt;                     * will not open the file in default program (e.g. XSN for InfoPath), instead it will download the file&lt;br /&gt;                     * &lt;br /&gt;                     * */&lt;br /&gt;&lt;br /&gt;                    System.Net.WebClient objWebClient = new System.Net.WebClient();&lt;br /&gt;                    objWebClient.Credentials = CredentialCache.DefaultCredentials;&lt;br /&gt;                    objWebClient.DownloadFile(SourceDocumentURL + &amp;quot;?noredirect=true&amp;quot; ,strTempLocation + strFileName);&lt;br /&gt;&lt;br /&gt;                    this.WriteLog(&amp;quot;File Downloaded: &amp;quot; + SourceDocumentURL);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;catch (System.Exception ex)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    this.WriteLog(ex.ToString());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-3213788984740292218?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/3213788984740292218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2010/06/sharepoint-2007-web-service-download.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/3213788984740292218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/3213788984740292218'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2010/06/sharepoint-2007-web-service-download.html' title='SharePoint 2007 Web Service: Download Documents'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-4031221973041584062</id><published>2010-06-01T14:18:00.020-04:00</published><updated>2012-01-10T11:08:40.008-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='User Group.asmx'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>SharePoint 2007 Web Service: Create User Group</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Use UserGroup.asmx to create User Group through a desktop application&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Below is the C# function to call the &lt;strong&gt;UserGroup.asmx&lt;/strong&gt; MOSS Web Service to create Uer Groups.&lt;br /&gt;Add reference to UserGroup.asmx to your project and use the following code:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;private void CreateUserGroup(string strGroupName, string strDescription)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    #region Connect to UserGroup.asmx&lt;br /&gt;&lt;br /&gt;    this.objUserGroupService.Url = this.cmbURL.Text.Trim('/') + &amp;quot;/_vti_bin/UserGroup.asmx&amp;quot;;&lt;br /&gt;&lt;br /&gt;    string sDomain = string.Empty;&lt;br /&gt;    string sUserName = this.txtLogin.Text.Trim();&lt;br /&gt;    if (sUserName.IndexOf(&amp;quot;\\&amp;quot;) &amp;gt; 0)&lt;br /&gt;    {&lt;br /&gt;        sDomain = sUserName.Split(&amp;quot;\\&amp;quot;.ToCharArray())[0];&lt;br /&gt;        sUserName = sUserName.Split(&amp;quot;\\&amp;quot;.ToCharArray())[1];&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    this.objUserGroupService.Credentials = new System.Net.NetworkCredential(sUserName, this.txtPassword.Text.Trim(), sDomain);&lt;br /&gt;&lt;br /&gt;    #endregion&lt;br /&gt;&lt;br /&gt;    this.objUserGroupService.AddGroup(strGroupName, this.txtLogin.Text.Trim(), &amp;quot;user&amp;quot;, this.txtLogin.Text.Trim(), strDescription);&lt;br /&gt;    this.WriteLog(&amp;quot;Created Group: &amp;quot; + strGroupName);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;catch (System.Exception ex)&lt;br /&gt;{&lt;br /&gt;    &lt;br /&gt;    this.WriteLog(ex.ToString());&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-4031221973041584062?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/4031221973041584062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2010/06/sharepoint-2007-web-service-create-user.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4031221973041584062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4031221973041584062'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2010/06/sharepoint-2007-web-service-create-user.html' title='SharePoint 2007 Web Service: Create User Group'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-8100593003345399000</id><published>2010-05-09T16:51:00.006-04:00</published><updated>2010-06-24T10:29:51.453-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web User Control'/><category scheme='http://www.blogger.com/atom/ns#' term='WebPart'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Developing Custom WebPart using ASP.NET Web User Control</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;In this post I will explian how to build a custom WebPart for SharePoint 2007 and how to use ASP.NET Web User Control in it. I am using Visual Studio 2008 for the development.&lt;br /&gt;&lt;br /&gt;Following are the steps to create a custom webpart and calling/loading Web User Control in it:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#000099;"&gt;Building WebPart and Web User Control project&lt;/span&gt; &lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Craete &lt;b&gt;ASP.NET Web Application&lt;/b&gt; Project.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Delete Default.aspx.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add two new folders: &lt;b&gt;UserControls&lt;/b&gt; and &lt;b&gt;WebPart&lt;/b&gt; into the solution.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add new Web User Control in UserControls folder.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add new CS Class file TrainingWP.cs in WebPart folder.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add reference to &lt;b&gt;SharePoint.dll&lt;/b&gt; (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\ISAPI\Microsoft.SharePoint.dll)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add followign code to TrainingWP.cs&lt;/li&gt;&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;namespace Training&lt;br /&gt;{&lt;br /&gt;    [Guid("2E4AFAAA-AE99-4e15-9972-E6195EFBDD9C")]&lt;br /&gt;    public class TrainingWP : WebPart&lt;br /&gt;    {&lt;br /&gt;        private Control uc = null;&lt;br /&gt;        private string ucPath = "~/UserControls/TrainingUC.ascx";&lt;br /&gt;&lt;br /&gt;        protected override void CreateChildControls()&lt;br /&gt;        {&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                uc = Page.LoadControl(ucPath);&lt;br /&gt;                this.Controls.Add(uc);&lt;br /&gt;            }&lt;br /&gt;            catch (Exception ex)&lt;br /&gt;            {&lt;br /&gt;                throw ex;&lt;br /&gt;            }&lt;br /&gt;            finally&lt;br /&gt;            {&lt;br /&gt;                base.CreateChildControls();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;We are overriding the CreateChildControls method of the WebPart class in which we will load the Web User Control.&lt;br /&gt;&lt;li&gt;Go to &lt;b&gt;Tools&lt;/b&gt; -&gt; &lt;b&gt;Create GUID&lt;/b&gt; and copy/paste GUID above the class and add reference &lt;b&gt;using System.Runtime.InteropServices;&lt;/b&gt; line.&lt;br /&gt;&lt;li&gt;Open code behind for Web User Control and add &lt;b&gt;using Microsoft.SharePoint;&lt;/b&gt; line and in &lt;b&gt;Page_Load&lt;/b&gt; function write hello world code and build the solution.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#000099;"&gt;Deploying the WebPart and the Web User Control&lt;/span&gt; &lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;In Project Properties -&gt; &lt;b&gt;Build Event&lt;/b&gt; tab -&gt; &lt;b&gt;Post-build Event Command&lt;/b&gt; add following line:&lt;br /&gt;&lt;b&gt;"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\gacutil.exe" /i $(TargetPath)&lt;/b&gt;&lt;br /&gt;This will deploy our webpart dll into GAC after building the solution.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;In Project Properties -&gt; &lt;b&gt;Signing&lt;/b&gt; tab -&gt; check &lt;b&gt;Sign Assembly&lt;/b&gt; -&gt; and give a name.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Build the solution and WebPart should be deployed into GAC (c:\Windows\assembly).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create &lt;b&gt;DWP&lt;/b&gt; File using following XML&lt;/li&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;br /&gt;&lt;webparts&gt;&lt;br /&gt; &lt;webpart xmlns="http://schemas.microsoft.com/WebPart/v3"&gt;&lt;br /&gt;  &lt;metadata&gt;&lt;br /&gt;   &lt;type name="Training.TrainingWP, Training, Version=1.0.0.0, Culture=neutral, PublicKeyToken=370073c6188a47dd"&gt;&lt;br /&gt;   &lt;importerrormessage&gt;Cannot import this Web Part.&lt;/importerrormessage&gt;&lt;br /&gt;  &lt;/metadata&gt;&lt;br /&gt;  &lt;data&gt;&lt;br /&gt;   &lt;properties&gt;&lt;br /&gt;    &lt;property name="Title" type="string"&gt;Training Web Part&lt;/property&gt;&lt;br /&gt;   &lt;/properties&gt;&lt;br /&gt;  &lt;/data&gt;&lt;br /&gt; &lt;/webpart&gt;&lt;br /&gt;&lt;/webparts&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Upload DWP file to &lt;b&gt;WebPart Gallery&lt;/b&gt;. DWP file tells SharePoint to load which library when webpart is called.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Open the root folder of the Web Application and edit &lt;b&gt;Web.config&lt;/b&gt;. Under &lt;b&gt;&amp;lt;SafeControls&amp;gt;&lt;/b&gt; add following line&lt;/li&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&lt;br /&gt;&lt;safecontrol safe="True" typename="*" namespace="Training" assembly="Training, Version=1.0.0.0, Culture=neutral, PublicKeyToken=370073c6188a47dd"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Under &lt;b&gt;&amp;lt;assemblies&amp;gt;&lt;/b&gt; in &lt;b&gt;Web.config&lt;/b&gt; add following line&lt;/li&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&lt;br /&gt;&lt;add assembly="Training, Version=1.0.0.0, Culture=neutral, PublicKeyToken=37913d36082b473f"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Copy UserControls folder in to the root folder of the Web Application.(Just copy ASCX)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Do &lt;b&gt;iisreset&lt;/b&gt; and add the WebPart on the page through Web UI of the site.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Thats it :o). Happy Programming.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-8100593003345399000?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/8100593003345399000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2010/05/developing-custom-webpart-using-aspnet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8100593003345399000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8100593003345399000'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2010/05/developing-custom-webpart-using-aspnet.html' title='Developing Custom WebPart using ASP.NET Web User Control'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-1456114650700679590</id><published>2010-04-27T10:09:00.021-04:00</published><updated>2010-04-27T11:01:11.100-04:00</updated><title type='text'>Pointing DataView to List Name (Not List GUIID)</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;I had a requirement to display items from a Document library in DataView WebPart and tricky part was to make it portable, so that everytime a site template is created and restored somewhere else, the DataView should not crash.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;Change the following XSL for DataView WebPart: &lt;br /&gt;1. Update &lt;b&gt;Name="ListID"&lt;/b&gt; to &lt;b&gt;Name="ListName"&lt;/b&gt; &lt;br /&gt;2. Update &lt;b&gt;ParameterKey="ListID"&lt;/b&gt; to &lt;b&gt;ParameterKey="ListName"&lt;/b&gt;&lt;br /&gt;3. Update &lt;b&gt;DefaultValue="GUID"&lt;/b&gt; to &lt;b&gt;DefaultValue="[List Name]"&lt;/b&gt; &lt;br /&gt;in &lt;i&gt;SelectParameters, DeleteParameters, UpdateParameters, InsertParameters and ParameterBindings&lt;/i&gt; tags.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;&lt;SelectParameters&gt;&lt;br /&gt; &lt;WebPartPages:DataFormParameter Name="ListName" ParameterKey="ListName" PropertyName="ParameterValues" DefaultValue="Components"/&gt;&lt;br /&gt;&lt;/SelectParameters&gt;&lt;br /&gt;&lt;br /&gt;&lt;DeleteParameters&gt;&lt;br /&gt; &lt;WebPartPages:DataFormParameter Name="ListName" ParameterKey="ListName" PropertyName="ParameterValues" DefaultValue="Components"/&gt;&lt;br /&gt;&lt;/DeleteParameters&gt;&lt;br /&gt;&lt;br /&gt;&lt;UpdateParameters&gt;&lt;br /&gt; &lt;WebPartPages:DataFormParameter Name="ListName" ParameterKey="ListName" PropertyName="ParameterValues" DefaultValue="Components"/&gt;&lt;br /&gt;&lt;/UpdateParameters&gt;&lt;br /&gt;&lt;br /&gt;&lt;InsertParameters&gt;&lt;br /&gt; &lt;WebPartPages:DataFormParameter Name="ListName" ParameterKey="ListName" PropertyName="ParameterValues" DefaultValue="Components"/&gt;&lt;br /&gt;&lt;/InsertParameters&gt;&lt;br /&gt;&lt;br /&gt;&lt;ParameterBinding Name="ListName" Location="None" DefaultValue="Components"/&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-1456114650700679590?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/1456114650700679590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2010/04/pointing-dataview-to-list-name-not-list.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1456114650700679590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1456114650700679590'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2010/04/pointing-dataview-to-list-name-not-list.html' title='Pointing DataView to List Name (Not List GUIID)'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-943791810801096122</id><published>2010-04-15T13:16:00.018-04:00</published><updated>2010-09-07T16:26:21.624-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Chart'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Without Code'/><category scheme='http://www.blogger.com/atom/ns#' term='No Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Graph'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Visualization API'/><title type='text'>Intractive SharePoint Charts with No Code</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Recently I came across this amazing article of Claudio (&lt;a href="http://www.endusersharepoint.com/2009/04/20/finally-dynamic-charting-in-wss-no-code-required/" target="_blank"&gt;http://www.endusersharepoint.com/2009/04/20/finally-dynamic-charting-in-wss-no-code-required/&lt;/a&gt;) about displaying the graphs from a SharePoint list data without writing any code (of course JavaScript is code but we are referring to C# here ;o)). It shows how you can display pie-chart (Google Charts) with a small JavaScript code added to CEWP which works on your SharePoint Data.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have extended the same technique (JavaScript) to display the &lt;a href="http://code.google.com/apis/visualization/interactive_charts.html" target="_blank"&gt;Interactive Google Charts&lt;/a&gt; based on the SharePoint Data without writing any code :o). The javascript code uses JQuery and Google Interactive Charts (aka Visualization API).&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5460417621686633138" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 238px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_pYQuYk_rGaM/S8dM5XnqQrI/AAAAAAAABlA/oo7VfDOGbpY/s400/GoogleChart.JPG" border="0" /&gt;&lt;br /&gt;You need to perform following steps:&lt;br /&gt;1. Create a new SharePoint List View.&lt;br /&gt;2. Group the data by a Column e.g. Title.&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5460416799305761138" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 158px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/S8dMJgAyAXI/AAAAAAAABko/TUheqWvPvz4/s400/Fig1.JPG" border="0" /&gt;&lt;br /&gt;3. Add Content Editor WebPart&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5460416942292136818" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 223px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_pYQuYk_rGaM/S8dMR0rY83I/AAAAAAAABkw/PS7tGpgZ5sM/s400/Fig2.JPG" border="0" /&gt;&lt;br /&gt;4. Select &lt;strong&gt;Edit&lt;/strong&gt;-&gt; &lt;strong&gt;Modify Shared WebPart&lt;/strong&gt; -&gt; &lt;strong&gt;Source Editor&lt;/strong&gt; and paste the following JavaScript:&lt;br /&gt;&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Author: Tahir Naveed&lt;br /&gt;Date: 2010-04-15&lt;br /&gt;Article URL:http://mysplist.blogspot.com/2010/04/intractive-sharepoint-charts-with-no.html&lt;br /&gt;Blog URL: http://mysplist.blogspot.com/&lt;br /&gt;Original Code: http://www.endusersharepoint.com/2009/04/29/finally-dynamic-charting-in-wss-no-code-required-part-3-multiple-pie-charts/&lt;br /&gt;--&gt;&lt;br /&gt;&lt;br /&gt;&lt;SCRIPT type=text/javascript&gt;&lt;br /&gt;if(typeof jQuery=="undefined"){&lt;br /&gt; var jQPath="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/";&lt;br /&gt; document.write("&lt;script src='",jQPath,"jquery.js' type='text/javascript'&gt;&lt;\/script&gt;");&lt;br /&gt;}&lt;br /&gt;&lt;/SCRIPT&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://www.google.com/jsapi"&gt;&lt;br /&gt;&lt;/script&gt; &lt;br /&gt;&lt;br /&gt;&lt;SCRIPT type=text/javascript&gt;&lt;br /&gt;       var ColValue = new Array();&lt;br /&gt;       var ColName = new Array();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Getting the Data&lt;br /&gt;$("document").ready(function(){&lt;br /&gt; var arrayList=$("td.ms-gb:contains(':')");&lt;br /&gt; var coord= new Array();&lt;br /&gt; var labels= new Array();&lt;br /&gt; $.each(arrayList, function(i,e)&lt;br /&gt; {&lt;br /&gt;  var MyIf= $(e).text();&lt;br /&gt;  var txt= MyIf.substring(MyIf.indexOf('(')+1,MyIf.length-1); // Extract the 'Y' coordinates&lt;br /&gt;  coord[i]=txt;&lt;br /&gt;  var txt1= MyIf.substring(MyIf.indexOf(':')+2,MyIf.indexOf("(")-1); // Extract the labels&lt;br /&gt;  labels[i]=txt1+"("+txt+")";   //add also coordinates for better read&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt;        ColValue = coord;&lt;br /&gt;        ColName = labels;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;        &lt;br /&gt;//Graph Rendering&lt;br /&gt;      google.load("visualization", "1", {packages:["columnchart"]}); &lt;br /&gt;      google.setOnLoadCallback(drawChart); &lt;br /&gt;      function drawChart() { &lt;br /&gt;        var data = new google.visualization.DataTable();&lt;br /&gt;        &lt;br /&gt;        data.addColumn('string', 'Department'); &lt;br /&gt;        data.addColumn('number', 'Department'); &lt;br /&gt;&lt;br /&gt;        data.addRows(ColValue.length);&lt;br /&gt;        &lt;br /&gt;        for (i=0; i&lt;ColValue.length; i++)&lt;br /&gt;        {&lt;br /&gt;          data.setValue(i, 0, ColName[i]);&lt;br /&gt;          data.setValue(i, 1, parseInt(ColValue[i]));&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;        var chart = new google.visualization.ColumnChart(document.getElementById('chart_div')); &lt;br /&gt;        chart.draw(data, {width: 600, height: 240, is3D: true, title: 'Graph Title'}); &lt;br /&gt;      } &lt;br /&gt;    &lt;/script&gt; &lt;br /&gt;&lt;br /&gt;&lt;div id="chart_div" align="center"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;5. You will see the error message: &lt;strong&gt;Internet Explorer cannot display the WebPage&lt;/strong&gt;. Ignore the message and remove the &lt;strong&gt;?PageView=Shared&lt;/strong&gt; from URL and refresh the page. You should be able to see the chart as follows:&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5460417251770225938" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 206px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/S8dMj1kt1RI/AAAAAAAABk4/Xq2NzKFXi1Q/s400/Fig3.JPG" border="0" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-943791810801096122?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/943791810801096122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2010/04/intractive-sharepoint-charts-with-no.html#comment-form' title='25 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/943791810801096122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/943791810801096122'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2010/04/intractive-sharepoint-charts-with-no.html' title='Intractive SharePoint Charts with No Code'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pYQuYk_rGaM/S8dM5XnqQrI/AAAAAAAABlA/oo7VfDOGbpY/s72-c/GoogleChart.JPG' height='72' width='72'/><thr:total>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-6482646608285679928</id><published>2010-03-10T17:10:00.015-05:00</published><updated>2010-04-15T13:22:11.132-04:00</updated><title type='text'>Attachments in DataView</title><content type='html'>&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;By Dafault DataView control dont display attachments and when you add attachment column it displays true/false.&lt;br&gt;&lt;br /&gt;&lt;br /&gt;Here is the solution by Brandt Fuchs: &lt;a href="http://dbweb.sbisite.com/blogs/bf/Lists/Posts/Post.aspx?ID=19" target="_blank"&gt;http://dbweb.sbisite.com/blogs/bf/Lists/Posts/Post.aspx?ID=19&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Perform following steps:&lt;br /&gt;&lt;br /&gt;1. Add DataView control in your page.&lt;br /&gt;2. Add an empty column.&lt;br /&gt;3. Add following code:&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&lt;br /&gt;&lt;td class="ms-vb"&gt;&lt;br /&gt;&lt;br /&gt;&lt;SharePoint:AttachmentsField ControlMode="Display" ItemId="{@ID}" EnableViewState="true" FieldName="Attachments" runat="server"/&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5447138073510888242" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 118px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_pYQuYk_rGaM/S5gfN7ofQzI/AAAAAAAABiY/x31jrX_FsUU/s400/AttachemtsinDataView.jpg" border="0" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-6482646608285679928?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/6482646608285679928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2010/03/attachments-in-dataview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/6482646608285679928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/6482646608285679928'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2010/03/attachments-in-dataview.html' title='Attachments in DataView'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pYQuYk_rGaM/S5gfN7ofQzI/AAAAAAAABiY/x31jrX_FsUU/s72-c/AttachemtsinDataView.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-2642310866112898630</id><published>2010-03-08T17:21:00.014-05:00</published><updated>2010-03-08T17:47:27.050-05:00</updated><title type='text'>Adding JavaScript to SharePoint Form Field</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Many times in my current project I felt the need of adding javascript to the SharePoint Form Fields to trigger my custom function to perform some calculation etc.&lt;br /&gt;Luckily I found the following blog and it sloved my Javascript problem.&lt;br /&gt;&lt;br /&gt;URL: &lt;a target="_blank" href="http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html"&gt;http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When you add the javascript mentioned in the above blog in the bottom of your page, do call your custom function again because in the end. Because if ur page postbacks and reload (due to some missing required field or any other reason) dropdown change event wont fire. So here is the updated code:&lt;br /&gt;&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;function getField(fieldType,fieldTitle) { &lt;br /&gt;    var docTags = document.getElementsByTagName(fieldType); &lt;br /&gt;    for (var i=0; i &lt; docTags.length; i++) { &lt;br /&gt;        if (docTags[i].title == fieldTitle) { &lt;br /&gt;            return docTags[i] &lt;br /&gt;        } &lt;br /&gt;    } &lt;br /&gt;} &lt;br /&gt; &lt;br /&gt;function DisplayMessage()&lt;br /&gt;{&lt;br /&gt; alert('Hello World');&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Add JavaScript to Decision Column&lt;br /&gt;getField('select','Decision').onchange = function() {DisplayMessage()};&lt;br /&gt;&lt;br /&gt;//Add additional call&lt;br /&gt;DisplayMessage();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Line 19 is the additional call to the function.&lt;/b&gt;&lt;br /&gt;Above code will add onchange event to choice type SharePoint field and each time the selected value is changed, DisplayMessage() will be triggered.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-2642310866112898630?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/2642310866112898630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2010/03/adding-javascript-to-sharepoint-form.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2642310866112898630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2642310866112898630'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2010/03/adding-javascript-to-sharepoint-form.html' title='Adding JavaScript to SharePoint Form Field'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-8211318558094767762</id><published>2009-12-16T11:14:00.009-05:00</published><updated>2009-12-18T06:36:51.668-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>SharePoint 2010 - List Relationship</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Today, I got the access to the SharePoint 2010 Beta and guess what I saw? The most beautiful thing that could happen to the SharePoint lists...&lt;strong&gt;Relationships&lt;/strong&gt;. Just like Database relations. :o)&lt;br /&gt;&lt;br /&gt;Lets take a look at the following screen shot: While creating a lookup column in a list, I noticed following enhancements:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5415868754291023682" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 204px; CURSOR: hand; HEIGHT: 400px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_pYQuYk_rGaM/SykH8AGnX0I/AAAAAAAABgI/wieYsUiwG08/s400/Pic.jpg" border="0" /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;I can choose ID Column from the parent list.Very very important for building reports/views. &lt;/li&gt;&lt;li&gt;If I choose other column (Title etc), I still can include ID as an additional field. &lt;/li&gt;&lt;li&gt;Restrict &amp;amp; Cascade delete option. :o) If I choose restrict and want to delete parent item, having child items...it will not allow me to do so. If I choose cassade and want to delete parent item...it will delete all the child items along with the parent. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;SharePoint 2010 Lists rock!&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-8211318558094767762?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/8211318558094767762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2009/12/sharepoint-2010-list-relationship.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8211318558094767762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8211318558094767762'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2009/12/sharepoint-2010-list-relationship.html' title='SharePoint 2010 - List Relationship'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_pYQuYk_rGaM/SykH8AGnX0I/AAAAAAAABgI/wieYsUiwG08/s72-c/Pic.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-211379510894740940</id><published>2009-12-11T11:23:00.051-05:00</published><updated>2010-03-05T12:40:16.847-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Designer 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='Join'/><title type='text'>Join Lists Using SharePoint Designer 2007</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Background:&lt;/strong&gt;&lt;br /&gt;There is no parent-child relationship support in MOSS 2007 lists by default. But as a developer, we all know it is the most common functionality while storing and displaying the data. Following is the technique that I discovered somewhere on the internet to display the data using DataView Control in SharePoint Designer(while developing reports for my last project), but unfortunatily I lost the original source and thought to reproduce it in my blog with some enhancements.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Implementation:&lt;/strong&gt;&lt;br /&gt;Following are the steps to perform Inner Join on two lists using DataView Control in SharePoint Designer:&lt;br /&gt;&lt;br /&gt;1. We need following two lists(with data in them):&lt;br /&gt;&lt;lo&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;li&gt;Department (ID, Title) &lt;/li&gt;&lt;li&gt;Student (ID,Department_x0020_ID, Title)&lt;/li&gt;&lt;/lo&gt;&lt;br /&gt;&lt;br /&gt;2. Open SharePoint Designer and create a new ASPX page.&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5414016406696840114" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 187px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/SyJzPLlNS7I/AAAAAAAABeY/3l1SKMR-a9g/s400/01.png" border="0" /&gt;&lt;br /&gt;3. Create a linked datasource by following steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Select &lt;strong&gt;Create a new Linked Source...&lt;/strong&gt; from Data Source Library tab. &lt;/li&gt;&lt;img id="BLOGGER_PHOTO_ID_5414018239040933938" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 214px; CURSOR: hand; HEIGHT: 400px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_pYQuYk_rGaM/SyJ051mFUDI/AAAAAAAABeg/Iv39-TGxaCw/s400/02.png" border="0" /&gt;&lt;br /&gt;&lt;li&gt;In Data Source Properties dialog, select &lt;strong&gt;Configure Linked Source...&lt;/strong&gt; button. &lt;/li&gt;&lt;img id="BLOGGER_PHOTO_ID_5414018394504488482" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 358px; CURSOR: hand; HEIGHT: 301px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/SyJ1C4ve5iI/AAAAAAAABeo/-NpH_y7EIxc/s400/03.png" border="0" /&gt;&lt;br /&gt;&lt;li&gt;From Link Data Sources Wizard, select &lt;strong&gt;Students&lt;/strong&gt; and &lt;strong&gt;Department&lt;/strong&gt; Lists and hit &lt;strong&gt;Next&lt;/strong&gt;.&lt;/li&gt;&lt;img id="BLOGGER_PHOTO_ID_5414018533327822034" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 345px; CURSOR: hand; HEIGHT: 274px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/SyJ1K95i3NI/AAAAAAAABew/WAt3S0S0cPg/s400/04.png" border="0" /&gt;&lt;br /&gt;&lt;li&gt;Choose &lt;strong&gt;Join the contents...&lt;/strong&gt; option and select &lt;strong&gt;Finish&lt;/strong&gt;. &lt;/li&gt;&lt;img id="BLOGGER_PHOTO_ID_5414019285912495522" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 358px; CURSOR: hand; HEIGHT: 281px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_pYQuYk_rGaM/SyJ12xftpaI/AAAAAAAABe4/oYm6S3bO-fM/s400/05.png" border="0" /&gt;&lt;br /&gt;&lt;li&gt;Then select &lt;strong&gt;OK&lt;/strong&gt; to get the &lt;strong&gt;New Data Source&lt;/strong&gt;. &lt;/li&gt;&lt;img id="BLOGGER_PHOTO_ID_5414019671857939042" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 201px; CURSOR: hand; HEIGHT: 400px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/SyJ2NPQRwmI/AAAAAAAABfA/xxtNAuU4zwY/s400/06.png" border="0" /&gt;&lt;br /&gt;&lt;li&gt;Expand the &lt;strong&gt;New Data Source&lt;/strong&gt; and select &lt;strong&gt;Show Data&lt;/strong&gt; option. &lt;/li&gt;&lt;img id="BLOGGER_PHOTO_ID_5414019803651202114" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 140px; CURSOR: hand; HEIGHT: 400px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_pYQuYk_rGaM/SyJ2U6OPXEI/AAAAAAAABfI/QUonUPcE5Bo/s400/07.png" border="0" /&gt;&lt;br /&gt;&lt;li&gt;Under &lt;strong&gt;Data Source Details&lt;/strong&gt; tab, you should see both lists (Department and student).&lt;img id="BLOGGER_PHOTO_ID_5414019970594875058" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 223px; CURSOR: hand; HEIGHT: 255px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_pYQuYk_rGaM/SyJ2eoItprI/AAAAAAAABfQ/eCVy2hfv1Lc/s400/08.png" border="0" /&gt; &lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;4. Insert a &lt;strong&gt;Data View control&lt;/strong&gt; into the ASPX page.&lt;br /&gt;5. Under Data Source Details tab, expand the Students list and drag and drop the &lt;strong&gt;Title&lt;/strong&gt; column to &lt;strong&gt;Data View control&lt;/strong&gt; and it will display all the students.&lt;img id="BLOGGER_PHOTO_ID_5414020144998509874" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 277px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_pYQuYk_rGaM/SyJ2ox1x7TI/AAAAAAAABfY/vwKH76CVF50/s400/09.png" border="0" /&gt;&lt;br /&gt;6. Now place your cursur in &lt;strong&gt;Title&lt;/strong&gt; column and select &lt;strong&gt;Table&lt;/strong&gt; -&gt; &lt;strong&gt;Insert&lt;/strong&gt; -&gt; &lt;strong&gt;Column to Right&lt;/strong&gt;. In this column we will display Department.Title. &lt;img id="BLOGGER_PHOTO_ID_5414020358090884674" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 269px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/SyJ21Lq9hkI/AAAAAAAABfg/_iEoEp71Kxo/s400/10.png" border="0" /&gt;&lt;br /&gt;7. Place your cursor on the first row of new column, select Title Column from Department list and select the &lt;strong&gt;Insert selected field as...&lt;/strong&gt; button and choose &lt;strong&gt;Joined Subview&lt;/strong&gt; opion. &lt;img id="BLOGGER_PHOTO_ID_5414020585231122162" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 279px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_pYQuYk_rGaM/SyJ3CZ1afvI/AAAAAAAABfo/czXoHfKKhx8/s400/11.png" border="0" /&gt;&lt;br /&gt;8. In Join Subview dialog, select Department_x0020_ID = ID and hit &lt;strong&gt;OK&lt;/strong&gt;. (Pic 12) &lt;img id="BLOGGER_PHOTO_ID_5414020837784328882" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 395px; CURSOR: hand; HEIGHT: 313px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_pYQuYk_rGaM/SyJ3RGqymrI/AAAAAAAABfw/DDx3T_yCDoY/s400/12.png" border="0" /&gt;&lt;br /&gt;9. Thats it :o). &lt;img id="BLOGGER_PHOTO_ID_5414021017658965618" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 201px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/SyJ3bkwPvnI/AAAAAAAABf4/blCd6OMijnM/s400/13.png" border="0" /&gt;&lt;br /&gt;10. Play with the HTML to make it look like a report. &lt;img id="BLOGGER_PHOTO_ID_5414021176435865218" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 130px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/SyJ3k0Pm9oI/AAAAAAAABgA/bbGsZZ18MKY/s400/14.png" border="0" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-211379510894740940?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/211379510894740940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2009/12/inner-join-two-lists-using-sharepoint.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/211379510894740940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/211379510894740940'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2009/12/inner-join-two-lists-using-sharepoint.html' title='Join Lists Using SharePoint Designer 2007'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_pYQuYk_rGaM/SyJzPLlNS7I/AAAAAAAABeY/3l1SKMR-a9g/s72-c/01.png' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-5128910861620090283</id><published>2009-11-15T00:37:00.021-05:00</published><updated>2009-12-09T10:49:04.720-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net Error'/><title type='text'>Get the actual error message in SharePoint Site Page</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;In &lt;strong&gt;web.config&lt;/strong&gt; change the following:&lt;br /&gt;&lt;br /&gt;1. CallStack="false"&lt;br /&gt;&lt;br /&gt;2. &amp;lt;customErrors mode="On" /&amp;gt;&lt;br /&gt;&lt;br /&gt;Now refresh the page to see the actual ASP.NET error message.&lt;br /&gt;&lt;br /&gt;Before:&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5413263074954924402" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 297px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_pYQuYk_rGaM/Sx_GFgJtUXI/AAAAAAAABeI/k5ow78py1KM/s400/SPerror_before.png" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;After:&lt;img id="BLOGGER_PHOTO_ID_5413263620001376946" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 318px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_pYQuYk_rGaM/Sx_GlOm6KrI/AAAAAAAABeQ/waUbJHaddjI/s400/SPerror_after.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-5128910861620090283?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/5128910861620090283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2009/11/get-actual-error-message-in-sharepoint.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/5128910861620090283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/5128910861620090283'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2009/11/get-actual-error-message-in-sharepoint.html' title='Get the actual error message in SharePoint Site Page'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pYQuYk_rGaM/Sx_GFgJtUXI/AAAAAAAABeI/k5ow78py1KM/s72-c/SPerror_before.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-7036617929123339067</id><published>2009-11-09T10:44:00.020-05:00</published><updated>2010-01-06T10:23:36.672-05:00</updated><title type='text'>Security on SharePoint Website Controls with SPSecurityTrimmedControl</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;I came across a requirement where I have to display the left menu only to administrator and Thanks to Mark Wagner for his quick and to the point &lt;a href="http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=38"&gt;post&lt;/a&gt; on &lt;strong&gt;SPSecurityTrimmedControl&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;What exactly I did was:&lt;br /&gt;&lt;br /&gt;1. Open the Default.aspx in SharePoint Designer.&lt;br /&gt;2. Select the left menu and then select &lt;strong&gt;Create Custom Content&lt;/strong&gt;.&lt;br /&gt;3. Arranged the tags as follow:&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&lt;br /&gt;&lt;?xml:namespace prefix = asp /&gt;&lt;asp:content id="Content2" contentplaceholderid="PlaceHolderLeftNavBar" runat="server"&gt;&lt;br /&gt;&lt;br /&gt;&lt;?XML:NAMESPACE PREFIX = SharePoint /&gt;&lt;sharepoint:spsecuritytrimmedcontrol runat="server" permissionsstring="ManageWeb"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All the divs and HTML for the menu goes here.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/sharepoint:spsecuritytrimmedcontrol&gt;&lt;br /&gt;&lt;/asp:content&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now the menu will only appear for users having administrator rights. &lt;br&gt; &lt;strong&gt;Note:&lt;/strong&gt; Also, you can directly implement this in Master Page for hiding &lt;strong&gt;View All Site Content&lt;/strong&gt;.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-7036617929123339067?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/7036617929123339067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2009/11/security-on-sharepoint-website-controls.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7036617929123339067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7036617929123339067'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2009/11/security-on-sharepoint-website-controls.html' title='Security on SharePoint Website Controls with SPSecurityTrimmedControl'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-427939273022154782</id><published>2009-07-14T09:30:00.004-04:00</published><updated>2009-07-21T15:00:43.564-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Migration'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>SharePoint 2003 to MOSS 2007 Migration</title><content type='html'>&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Senario:&lt;/strong&gt; You have two servers. One has SharePoint 2003 and other have MOSS 2007 installed. You want to migrate a website collection from SharePoint 2003 to MOSS2007.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;strong&gt;Scan the SharePoint 2003 Website &lt;/strong&gt;&lt;br /&gt;1. PreScan Tool&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="color:#000099;"&gt;prescan.exe /c preupgradescanconfig.xml /v http://intranet&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;2. Check the Orphan Records&lt;br /&gt;&lt;span style="color:#000099;"&gt;stsadm -o databaserepair -url http://intranet -databasename MyIntranet_Site&lt;br /&gt;&lt;/span&gt;3. Delete the Orphan Records&lt;br /&gt;&lt;span style="color:#000099;"&gt;stsadm -o databaserepair -url http://intranet -databasename MyIntranet_Site -deletecorruption&lt;br /&gt;&lt;/span&gt;4. Check the Orphan Records&lt;br /&gt;&lt;span style="color:#000099;"&gt;stsadm -o databaserepair -url http://intranet -databasename MyIntranet_Site&lt;/span&gt;&lt;br /&gt;5. PreScan Tool&lt;br /&gt;&lt;span style="color:#000099;"&gt;prescan.exe /c preupgradescanconfig.xml /v &lt;/span&gt;&lt;span style="color:#000099;"&gt;http://intranet&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Content Database Migration&lt;/strong&gt;&lt;br /&gt;1. Goto SQL Server and create the website’s content database backup.&lt;br /&gt;2. Copy the database to New Server.&lt;br /&gt;3. Create a new Database on New Server and Restore the database (overwrite).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Create the MOSS 2007 Website&lt;/strong&gt;&lt;br /&gt;1. Create the WebApplication in MOSS 2007. Don’t create any site collection.&lt;br /&gt;2. Remove the content application database&lt;br /&gt;&lt;span style="color:#000099;"&gt;stsadm.exe -o deletecontentdb -databasename WSS_Content_Intranet_80 -url http://newintranetsite/&lt;/span&gt;&lt;br /&gt;3. Attach the new database&lt;br /&gt;&lt;span style="color:#000099;"&gt;stsadm.exe -o addcontentdb -url http://newintranetsitet/ –databasename Portal_Site_Restore&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ref 1: http://farhanfaiz.wordpress.com/2008/05/23/sharepoint-upgrade-database-migration&lt;br /&gt;Ref 2: http://sharemypoint.blogspot.com/2007/04/prescanexe-finished-with-failure.html&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-427939273022154782?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/427939273022154782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2009/07/sharepoint-2003-to-moss-2007-migration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/427939273022154782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/427939273022154782'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2009/07/sharepoint-2003-to-moss-2007-migration.html' title='SharePoint 2003 to MOSS 2007 Migration'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-1449598559676319183</id><published>2009-07-06T18:09:00.015-04:00</published><updated>2009-12-14T15:11:14.690-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Designer 2007'/><title type='text'>SharePoint Designer 2007 - Hide the Quick Launch Link</title><content type='html'>&lt;p&gt;&lt;span style="font-size:85%;"&gt;Today my manager came up with the requirement that Recycle Bin Link in Quick Launch Menu should be visible to Administrator only.&lt;br /&gt;If it was the case for a webpart then I could easily specify the Target Audience and voila. But unfortunately webpart zone is not available for Quick Launch Menu and I didn’t want to write custom menu just to hide the RecycleBin link so the genius came up with the following dirty trick. (Yes, I have recognized myself as a genius since childhood).&lt;br /&gt;&lt;br /&gt;1. Launch the SharePoint Designer.&lt;br /&gt;2. Navigate to &lt;strong&gt;_catalogs&lt;/strong&gt; -&gt; &lt;strong&gt;masterpage&lt;/strong&gt; -&gt; &lt;strong&gt;default.master&lt;/strong&gt;.&lt;br /&gt;3. Create a backup of the master page file and open original for editing.&lt;br /&gt;4. Scroll down till the bottom and paste the following javascript code right before &amp;lt;/Body&amp;gt; Tag:&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;var UserID = document.getElementById('zz8_Menu').innerHTML;&lt;br /&gt;UserID = UserID.split('&lt;')[0]; UserID = UserID.split('\\')[1]; if (UserID != 'Administrator') {  //Hide Recyclebin  var objRecycleBin = document.getElementById('ctl00_PlaceHolderLeftNavBar_idNavLinkRecycleBin'); if (objRecycleBin)  {  objRecycleBin.style.display = 'none';  }  }   &lt;/pre&gt;&lt;br /&gt;5. Save and it should hide Recyclebin for all users except for the administrator.&lt;br /&gt;&lt;br /&gt;Note: Please check for the Ids ctl00_PlaceHolderLeftNavBar_idNavLinkRecycleBin and zz8_Menu by view source. &lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-1449598559676319183?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/1449598559676319183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2009/07/sharepoint-designer-hide-quick-launch.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1449598559676319183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1449598559676319183'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2009/07/sharepoint-designer-hide-quick-launch.html' title='SharePoint Designer 2007 - Hide the Quick Launch Link'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-4464216844253073254</id><published>2009-07-06T11:41:00.006-04:00</published><updated>2009-12-14T15:11:33.453-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Designer 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Join'/><category scheme='http://www.blogger.com/atom/ns#' term='DataView'/><title type='text'>SharePoint Designer 2007 - Join Two Lists</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;We all come across situation at times when we have to display data from two different lists in a single view, specially in reporting. I was looking if SharePoint Designer support something like Join View etc when I came across Sahil Malik's following amazing article:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;URL: &lt;/span&gt;&lt;a href="http://blah.winsmarts.com/2007-10-Performing_joins_between_SharePoint_lists.aspx?postID=359" target="_blank"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://blah.winsmarts.com/2007-10-Performing_joins_between_SharePoint_lists.aspx?postID=359&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-4464216844253073254?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/4464216844253073254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2009/07/sharepoint-designer-join-two-lists.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4464216844253073254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4464216844253073254'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2009/07/sharepoint-designer-join-two-lists.html' title='SharePoint Designer 2007 - Join Two Lists'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-2137436793354521092</id><published>2009-06-30T19:04:00.012-04:00</published><updated>2009-07-06T10:31:16.258-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='User Login'/><title type='text'>SharePoint Website – Login Dialog Fix</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Windows user get Login dialog again and again when visiting the page with custom webparts, even when they are logged into the site. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br /&gt;1. Open &lt;strong&gt;Computer Management&lt;/strong&gt; and select Users.&lt;br /&gt;2. Double click the user and select &lt;strong&gt;Member Of&lt;/strong&gt; tab and add &lt;strong&gt;WSS_WPG&lt;/strong&gt;.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5355353792272587650" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 347px; CURSOR: hand; HEIGHT: 400px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_pYQuYk_rGaM/SlIJ5nLy24I/AAAAAAAABbQ/RyVs6P97O5I/s400/Image1.jpg" border="0" /&gt;&lt;br /&gt;This will add user to WSS_WPG group and it should solve the problem.&lt;br /&gt;&lt;br /&gt;Note: Removing users from &lt;strong&gt;WSS_ADMIN_WPG&lt;/strong&gt; will hide Site Actions from the website.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-2137436793354521092?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/2137436793354521092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2009/06/sharepoint-website-windows-user-login.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2137436793354521092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2137436793354521092'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2009/06/sharepoint-website-windows-user-login.html' title='SharePoint Website – Login Dialog Fix'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pYQuYk_rGaM/SlIJ5nLy24I/AAAAAAAABbQ/RyVs6P97O5I/s72-c/Image1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-5296536193372408579</id><published>2009-06-03T16:53:00.024-04:00</published><updated>2009-06-04T09:36:34.611-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object Model'/><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Event Handler'/><title type='text'>SharePoint: List Event Handler</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Sometimes we get business requirements like populate a particular field with some pre-defined specific data when item is added or send an alert when item is added etc. SharePoint Designer Workflows solve these kind of basic problem like sending alerts, update the list item etc BUT you need event handlers to be more flexible and to have more control.&lt;br /&gt;&lt;br /&gt;In this post I will explain how to quickly develop and deploy SharePoint List Events.&lt;br /&gt;&lt;br /&gt;1. Create a Class Library Project.&lt;br /&gt;2. Add reference to SharePoint DLL.&lt;br /&gt;3. Inherit your class with &lt;span style="font-family:courier new;color:#3333ff;"&gt;SPItemEventReceiver&lt;/span&gt;&lt;br /&gt;4. Override &lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:courier new;"&gt;ItemAdded(&lt;span style="color:#3333ff;"&gt;SPItemEventProperties&lt;/span&gt; properties)&lt;/span&gt; &lt;/span&gt;function&lt;br /&gt;5. Your code should look like:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using Microsoft.SharePoint;&lt;br /&gt;&lt;br /&gt;namespace SPListEvents&lt;br /&gt;{&lt;br /&gt;    public class CandidateListHandler: SPItemEventReceiver&lt;br /&gt;    {&lt;br /&gt;        public override void ItemAdded(SPItemEventProperties properties)&lt;br /&gt;        {&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                SPListItem item = properties.ListItem;&lt;br /&gt;                item["Status"] = "Added";&lt;br /&gt;                item["Company"] = "Company1";&lt;br /&gt;                item.Update();&lt;br /&gt;&lt;br /&gt;            }&lt;br /&gt;            catch (Exception exp)&lt;br /&gt;            {&lt;br /&gt;                  //do something with exp&lt;br /&gt;            }&lt;br /&gt;            finally&lt;br /&gt;            {&lt;br /&gt;                base.ItemAdded(properties);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Above code will get fired on the associated list, when a new item will be created. Pretty easy hah.&lt;br /&gt;&lt;br /&gt;6. Sign your dll by selecting &lt;strong&gt;Project&lt;/strong&gt; -&gt; &lt;strong&gt;Properties&lt;/strong&gt; -&gt;&lt;/span&gt; &lt;strong&gt;Signing&lt;/strong&gt; Tab and should look like:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5343207750961045570" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 78px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_pYQuYk_rGaM/SibjI9UloEI/AAAAAAAABYk/WeUoNGkprPw/s400/Image1.JPG" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;7. Compile&lt;br /&gt;8. Deploy the SPListEvents.dll to GAC (c:\windows\assembly)&lt;br /&gt;&lt;br /&gt;Note down the Public Key Token for the installed DLL to use it in the below deployment code e.g. PublicKeyToken=cd22d2b1bc79915b&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;[Assign the Event Handler to a specific list] &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;9. Create a Windows application&lt;br /&gt;10. Add a button and write following code on its click event.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.ComponentModel;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Drawing;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;using Microsoft.SharePoint;&lt;br /&gt;&lt;br /&gt;namespace InstallSPEventHandler&lt;br /&gt;{&lt;br /&gt;    public partial class Form1 : Form&lt;br /&gt;    {&lt;br /&gt;        public Form1()&lt;br /&gt;        {&lt;br /&gt;            InitializeComponent();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private void button1_Click(object sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;            SPSite site = new SPSite("http://mysite.com:1100");&lt;br /&gt;            SPWeb web = site.OpenWeb();&lt;br /&gt;            SPList survey = web.Lists["Candidates"];&lt;br /&gt;&lt;br /&gt;            string assemblyName = "SPListEvents, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cd22d2b1bc79915b";&lt;br /&gt;            string className = "SPListEvents.CandidateListHandler";&lt;br /&gt;&lt;br /&gt;            survey.EventReceivers.Add(SPEventReceiverType.ItemAdded, assemblyName, className);&lt;br /&gt;            //survey.EventReceivers.Add(SPEventReceiverType.ItemUpdated, assemblyName, className);&lt;br /&gt;            MessageBox.Show("Done");&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;11. Run the Desktop Application and click the button to register the ItemAdded event handler to Candidate list.&lt;br /&gt;&lt;br /&gt;12.Your solution might look like:&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5343236035994977346" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 280px; CURSOR: hand; HEIGHT: 321px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/Sib83XSMBEI/AAAAAAAABYs/GigXiQ2K_Po/s400/Image2.PNG" border="0" /&gt;&lt;br /&gt;13. Add new item in Candidate list and Status and Company fields shoyuld get poulated automatically.&lt;br /&gt;14.That’s it.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-5296536193372408579?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/5296536193372408579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2009/06/sharepoint-list-event-handler.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/5296536193372408579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/5296536193372408579'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2009/06/sharepoint-list-event-handler.html' title='SharePoint: List Event Handler'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pYQuYk_rGaM/SibjI9UloEI/AAAAAAAABYk/WeUoNGkprPw/s72-c/Image1.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-9220992330831072576</id><published>2009-05-29T12:42:00.015-04:00</published><updated>2009-06-04T11:13:49.431-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='CAML Query AND'/><title type='text'>SharePoint: CAML Query - AND</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;I was ANDing three SharePoint fields in CAML Query based on the regular logic (place And between all three fields) and was getting errors with absolutely no clue that what possibaly could be wrong.&lt;br /&gt;Here is the right way...thanks to Google:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Target:&lt;/strong&gt; field1 &amp;amp;&amp;amp; field2 &amp;amp;&amp;amp; field3&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;strong&gt;Correct CAML:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;&lt;Where&gt;&lt;br /&gt;  &lt;And&gt;&lt;br /&gt;    &lt;And&gt;&lt;br /&gt;      &lt;Eq&gt;&lt;br /&gt;        &lt;FieldRef Name='field1' /&gt;&lt;br /&gt;        &lt;Value Type='Text'&gt;val1&lt;/Value&gt;&lt;br /&gt;      &lt;/Eq&gt;&lt;br /&gt;      &lt;Eq&gt;&lt;br /&gt;        &lt;FieldRef Name='field2' /&gt;&lt;br /&gt;        &lt;Value Type='Text'&gt;val2&lt;/Value&gt;&lt;br /&gt;      &lt;/Eq&gt;&lt;br /&gt;    &lt;/And&gt;&lt;br /&gt;    &lt;Eq&gt;&lt;br /&gt;      &lt;FieldRef Name='field3' /&gt;&lt;br /&gt;      &lt;Value Type='Text'&gt;val3&lt;/Value&gt;&lt;br /&gt;    &lt;/Eq&gt;&lt;br /&gt;  &lt;/And&gt;&lt;br /&gt;&lt;/Where&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Happy CAMLing!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-9220992330831072576?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/9220992330831072576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2009/05/sharepoint-caml-query-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/9220992330831072576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/9220992330831072576'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2009/05/sharepoint-caml-query-and.html' title='SharePoint: CAML Query - AND'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-1098716362703883849</id><published>2009-05-21T17:05:00.010-04:00</published><updated>2009-12-14T15:15:02.813-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Designer 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='XSL'/><category scheme='http://www.blogger.com/atom/ns#' term='DataView'/><title type='text'>Date Comparison in XSL</title><content type='html'>&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Since XSL in SharePoint Designer does not have a very good support for date comparisons. I Googled for at least more than half of the day for a decent date comparison and came across this &lt;/span&gt;&lt;a href="http://kodethoughts.blogspot.com/2007/10/sharepoint-comparing-dates-in-xslt.html"&gt;&lt;span style="font-size:85%;"&gt;post&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; as a solution by ma man &lt;strong&gt;Kotendra&lt;/strong&gt;. However, this post assumes that date is provided in ISO format (YYYMMDD). This was not my case…so I Googled bit more and bit more and little bit more :o) and here is the solution. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Below is the formula (XSLT Filtering) to compare dates in SharePoint Designer using XSL:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;[&lt;br /&gt;number(ddwrt:FormatDateTime(ddwrt:FormatDate(string(@Open_x0020_Date),1033,1),1033,'yyyyMMdd'))&lt;br /&gt;&gt;=&lt;br /&gt;number(ddwrt:FormatDateTime(ddwrt:FormatDate(string($varFromDate),1033,1),1033,'yyyyMMdd'))&lt;br /&gt;]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Above formula will convert date 5/31/2009 into 20093105 and treat it as a number to compare with another number converted from date.&lt;br /&gt;&lt;br /&gt;Thanks!&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-1098716362703883849?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/1098716362703883849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2009/05/comparing-dates-in-xsl.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1098716362703883849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1098716362703883849'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2009/05/comparing-dates-in-xsl.html' title='Date Comparison in XSL'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-2790140388841506535</id><published>2009-05-11T09:46:00.015-04:00</published><updated>2009-12-14T15:11:51.827-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Designer 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='XSL'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='DataView'/><title type='text'>Implementing Search in a SharePoint List</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;There are times when we want to search in a SharePoint list only, not in the whole portal. I ran into this requirement in my current project and implemented the search on a list using SharePoint Designer. I didn’t want to create a WebPart and with some research I was able to do it in SharePoint Designer. In this post I will explain what exactly I did.&lt;/span&gt; &lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;To implement the search I created following two pages:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;1. Search.aspx (This page will take input parameters)&lt;br /&gt;2. SearchResults.aspx (This page will display results in DataView Control and filter the data based on the input parameters provided in the Search.aspx)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Let’s start the implementation:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;1. I will not go into the details of Search.aspx page. All you can have on the Search.aspx page is a text box and a submit button. Clicking the button will redirect the use to SearchResults.aspx with the parameters attached into the Query String. Our final URL will look like:&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:verdana;color:#000099;"&gt;&lt;br /&gt;&lt;a href="http://www.domain.com/sites/MySite/ListName/SearchResults.aspx?skill=Sharepoint"&gt;&lt;span style="font-size:85%;"&gt;http://www.domain.com/sites/MySite/ListName/SearchResults.aspx?skill=Sharepoint&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Yup, I am searching for people in my list who have SharePoint skills.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;2. Open the SearchResults.aspx in SharePoint Designer and insert the DataView Control. I applied Master Page so those pages don’t look like an alien :o).&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;3. Assign the DataSource of the list and at this point DataView should display all the items in the list.&lt;br /&gt;4. In the designer, select &amp;lt;WebPartPages:DataFormWebPart&amp;gt; &lt;?XML:NAMESPACE PREFIX = WebPartPages /&gt;&lt;webpartpages:dataformwebpart&gt;and open the &lt;strong&gt;Common Data View Task&lt;/strong&gt; window and choose &lt;strong&gt;Parameters&lt;/strong&gt;. &lt;/span&gt;&lt;/webpartpages:dataformwebpart&gt;&lt;webpartpages:dataformwebpart&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5334563595540310002" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 264px; CURSOR: hand; HEIGHT: 278px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_pYQuYk_rGaM/SggtU4_pJ_I/AAAAAAAABWs/DskKbZTmigc/s400/Image1.JPG" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;5. Create a Parameter &lt;strong&gt;varTechnicalSkill&lt;/strong&gt; and Select &lt;strong&gt;Query String&lt;/strong&gt; from &lt;strong&gt;Parameter Source&lt;/strong&gt; drop down and provide the &lt;strong&gt;Query String Variable&lt;/strong&gt; which is &lt;strong&gt;skill&lt;/strong&gt; in our case.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5334565570736857554" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 265px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/SggvH3LModI/AAAAAAAABW0/MT-xwC6adKw/s400/Image2.JPG" border="0" /&gt;6. Again, open the &lt;strong&gt;Common Data View Task&lt;/strong&gt; window and choose &lt;strong&gt;Filter&lt;/strong&gt; this time.&lt;br /&gt;7. Select &lt;strong&gt;Add XSLT Filtering&lt;/strong&gt; and hit &lt;strong&gt;Edit…&lt;/strong&gt; button. Don’t get confuse with the varExperience. It’s just another variable and has absolutely nothing to do with our example.&lt;br /&gt;&lt;/span&gt;&lt;/webpartpages:dataformwebpart&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5334566012620433202" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 236px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_pYQuYk_rGaM/SggvhlUc5zI/AAAAAAAABW8/Ffo6aNbcXBE/s400/Image3.JPG" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;8. In the &lt;strong&gt;Advance Condition&lt;/strong&gt; window, in &lt;strong&gt;Edit the XPath expression&lt;/strong&gt; provide the following formula for search:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5334566398568933650" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 237px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/Sggv4DFvqRI/AAAAAAAABXE/XTD2RdjmWmo/s400/Image4.JPG" border="0" /&gt;&lt;span style="font-family:courier new;"&gt;[contains(@Skill,$varTechnicalSkill)]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Contains&lt;/strong&gt; is a XSL function&lt;br /&gt;&lt;strong&gt;@Skill&lt;/strong&gt; is the column in the list&lt;br /&gt;&lt;strong&gt;$varTechnicalSkill&lt;/strong&gt; is the parameter which will get populated by the Query String skill.&lt;br /&gt;&lt;br /&gt;Hit OK and then OK again.&lt;br /&gt;&lt;br /&gt;9. If you view the source then you should be able to see the following XSL code added to the &amp;lt;XSL:tamplate&amp;gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5334567672209179890" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_pYQuYk_rGaM/SggxCLxPhPI/AAAAAAAABXc/KNikr9cMeNQ/s400/Image5.JPG" border="0" /&gt;&lt;span style="color:#000099;"&gt;&lt;&lt;span style="color:#cc33cc;"&gt;xsl:variable&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;="Rows" &lt;span style="color:#ff0000;"&gt;select&lt;/span&gt;="/dsQueryResponse/Rows/Row[contains(@Tech_x0020_Skill_x0020__x0023_1,$varTechnicalSkill)]"/&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;10. Save the SearchResults.aspx page and that’s it. We are good to use the search functionality.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-2790140388841506535?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/2790140388841506535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2009/05/implementing-search-in-sharepoint-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2790140388841506535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2790140388841506535'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2009/05/implementing-search-in-sharepoint-list.html' title='Implementing Search in a SharePoint List'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_pYQuYk_rGaM/SggtU4_pJ_I/AAAAAAAABWs/DskKbZTmigc/s72-c/Image1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-1923233520468180766</id><published>2009-05-07T15:20:00.008-04:00</published><updated>2009-12-14T15:14:00.102-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Designer 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='XSL'/><category scheme='http://www.blogger.com/atom/ns#' term='XSL Variables'/><title type='text'>SharePoint: Accessing XSL variables in JavaScript</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;A&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;s we all know for a successful SharePoint project we need SharePoint knowledge, development skills, ability to google and prayers…lots of them.&lt;br /&gt;&lt;br /&gt;During my current project I was developing a report which will generate a letter and the body of that letter will be generated by the data stored in Rich Text field in a SharePoint list. Now, in my case that body was a predefined template of the letter and I need to replace few keywords in the letter body using JavaScript. To achieve all this I need to access the Body variable (carrying the letter template) into the javaScript function to play with it.&lt;br /&gt;&lt;br /&gt;Following are the steps to access I took to access XSL variable into my JavaScript function:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;1. Open the website in &lt;strong&gt;SharePoint Designer&lt;/strong&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;2. Create an empty page Report.aspx.&lt;br /&gt;3. Insert DataForm Webpart by selecting &lt;strong&gt;Insert&lt;/strong&gt;-&gt; &lt;strong&gt;SharePoint Controls&lt;/strong&gt; -&gt; &lt;strong&gt;DataView&lt;/strong&gt;.&lt;br /&gt;4. Hide all the columns and your WebPart should look like the following:&lt;/span&gt;&lt;/p&gt;&lt;a href="http://4.bp.blogspot.com/_pYQuYk_rGaM/SgM1sVrFN2I/AAAAAAAABWE/NdnL6UeGMFs/s1600-h/Image1.JPG"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5333166491809010594" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 388px; CURSOR: hand; HEIGHT: 435px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_pYQuYk_rGaM/SgM2qwBK06I/AAAAAAAABWU/K2iJS-HJeks/s400/Image1.JPG" border="0" /&gt;5. Also, you should be able to see the variable &lt;strong&gt;@Body&lt;/strong&gt; in the source code window under &lt;strong&gt;&amp;lt;datafields&amp;gt; &lt;/strong&gt;tag. Both are highlighted in the above image.&lt;br /&gt;6. Now add a hidden field in the page under XSL tag and assign its value to &lt;strong&gt;@Body&lt;/strong&gt; variable. Since, @Body variable is accessible in SharePoint generated XSL only. I added hidden field under one of the &amp;lt;xsl:template&amp;gt; tags.&lt;/span&gt;&lt;br /&gt;&lt;?xml:namespace prefix = xsl /&gt;&lt;xsl:template&gt;&lt;/xsl:template&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5333167261322116722" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 309px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_pYQuYk_rGaM/SgM3XirY_nI/AAAAAAAABWc/PIQ_vBQYBrY/s400/Image2.JPG" border="0" /&gt;&lt;br /&gt;7. Now you have got the value of @Body into the hidden field and you can access the field’s value easily with the following line of javascript, I called this line at the end of the HTML &amp;lt;body&amp;gt; tag:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;var strBody = document.getElementById('txtBody').value;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;8. Thats it.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;xsl:template&gt;&lt;/xsl:template&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8625187760026725920-1923233520468180766?l=mysplist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mysplist.blogspot.com/feeds/1923233520468180766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mysplist.blogspot.com/2009/05/sharepoint-accessing-xsl-variables-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1923233520468180766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1923233520468180766'/><link rel='alternate' type='text/html' href='http://mysplist.blogspot.com/2009/05/sharepoint-accessing-xsl-variables-in.html' title='SharePoint: Accessing XSL variables in JavaScript'/><author><name>Tahir Naveed</name><uri>https://profiles.google.com/101597382839190623160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UesDVhT4Fbw/AAAAAAAAAAI/AAAAAAAABzo/JUk_W1cE8is/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_pYQuYk_rGaM/SgM2qwBK06I/AAAAAAAABWU/K2iJS-HJeks/s72-c/Image1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
