<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-34549525</atom:id><lastBuildDate>Wed, 14 Sep 2011 07:38:46 +0000</lastBuildDate><category>SharePoint India</category><category>Application Page</category><category>SharePoint Saturday</category><category>Feature</category><category>WebPart</category><category>Agile</category><category>SharePoint</category><category>Software Methodologies</category><category>Auditing</category><category>SharePoint Event</category><category>Best Practises</category><category>Business Entities</category><category>Custom Actions</category><category>SharePoint 2010</category><category>Enterprise Web 2.0</category><title>Rajendra Shekhawat's Blog</title><description>Through this effort, it is my effort to share experiences with the community around Microsoft technologies, primarily focussing on SharePoint, VSTS, ASP.net. Also, sharing experiences with respect to project management, technical architecture, managing effectively software engagements.</description><link>http://rajendrashekhawat.blogspot.com/</link><managingEditor>noreply@blogger.com (Rajendra Shekhawat)</managingEditor><generator>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/rajendrashekhawat" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="rajendrashekhawat" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-6991739905807268981</guid><pubDate>Fri, 19 Nov 2010 09:24:00 +0000</pubDate><atom:updated>2010-11-19T14:54:58.360+05:30</atom:updated><title>Presenting at SharePoint Saturday India - 20th November 2010</title><description>SharePoint Saturday India is back. This online event is going to happen on November 20th, 2010. Alpesh did a great job at getting several speakers for this event and there are going to be some parallel sessions happening this time. &lt;br /&gt;
&lt;br /&gt;
I will be speaking about "Introducing Duet Enterprise for Microsoft SharePoint and SAP Applications". This is a level 200 session and would introduce Duet Enterprise. I am excited and a bit nervous too. &lt;br /&gt;
&lt;br /&gt;
You can check the complete list of speakers here @ &lt;a href="http://sharepointsaturday.org/india/Pages/speakers.aspx"&gt;http://sharepointsaturday.org/india/Pages/speakers.aspx&lt;/a&gt; &lt;br /&gt;
You can register for this event @ &lt;a href="http://spindia.eventbrite.com/"&gt;http://spindia.eventbrite.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34549525-6991739905807268981?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2010/11/presenting-at-sharepoint-saturday-india.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-7328378748597244015</guid><pubDate>Mon, 22 Feb 2010 12:30:00 +0000</pubDate><atom:updated>2010-02-22T18:08:03.802+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">SharePoint Saturday</category><category domain="http://www.blogger.com/atom/ns#">SharePoint Event</category><category domain="http://www.blogger.com/atom/ns#">SharePoint India</category><title>SharePoint Saturday India Registration Open</title><description>&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;Join SharePoint architects, developers, and other professionals from India that work with Microsoft Office SharePoint Server 2010 and 2007 for ‘SharePoint Saturday’, on Saturday, April 24th, 2009 for the online event.  SharePoint Saturday will be an educational, informative &amp;amp; lively day filled with sessions from respected SharePoint professionals &amp;amp; MVPs, covering a wide variety of SharePoint-orientated topics.  SharePoint Saturday is FREE, open to the public and is your local chance to immerse yourself in SharePoint! &lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;We are happy to announce that registration is now open.  &lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;So don't delay and register today at &lt;/span&gt;&lt;a href="http://spsindia.eventbrite.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;http://spsindia.eventbrite.com/&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;Also, follow us on twitter at @spsindia for more information on the event, with respect to sessions and events.&lt;br /&gt;&lt;br /&gt;Cheers ....&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34549525-7328378748597244015?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2010/02/sharepoint-saturday-india-registration.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-1736930556631780914</guid><pubDate>Thu, 14 Jan 2010 13:01:00 +0000</pubDate><atom:updated>2010-01-14T18:52:50.228+05:30</atom:updated><title>SharePoint 2010 - SharePoint Designer settings</title><description>&lt;span xmlns=""&gt;&lt;strong&gt;Microsoft Office SharePoint Designer&lt;/strong&gt; is a free WYSIWYG HTML editor and web design program from Microsoft for SharePoint and other websites and is part of the SharePoint family of products. It is part of the Microsoft Office 2007 &amp;amp; 2010 family.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;In SharePoint 2010, administrators would be able to control usage of SharePoint Designer in their environment. Now several administration controls and commands help channel SharePoint Designer into the right hands and onto the right pages. There are following settings available for SharePoint Designer administrator :&lt;br /&gt;&lt;/span&gt;&lt;span xmlns=""&gt;&lt;ul style="MARGIN-LEFT: 44pt"&gt;&lt;li&gt;De-activate SharePoint Designer entirely (but only if it's absolutely necessary!)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Disable unghosting of web pages &lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Turn off master page editing &lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Lock the URL of a web site&lt;span style="font-family:Arial;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;These settings are available at following places -&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Central Administration : 'General Application Settings' group ( &lt;/strong&gt;below snapshot&lt;strong&gt; )&lt;/strong&gt;&lt;span style="font-family:Arial;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_7IBmk5f0b6k/S08WQusDFFI/AAAAAAAABP4/sjJlIhB4E1c/s1600-h/pic1.JPG"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 200px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5426580552671237202" border="0" alt="" src="http://3.bp.blogspot.com/_7IBmk5f0b6k/S08WQusDFFI/AAAAAAAABP4/sjJlIhB4E1c/s320/pic1.JPG" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;On clicking of 'Configure SharePoint Designer Settings' link, product displays the SharePoint Designer settings at webapplication level. ( Below Snapshot ). At webapplication level, all the settings are enabled. Farm Administrators can change their settings at the webapplication level. If SharePoint Designer is disabled at the webapplication level, it also disables the usage at all the containing sitecollections.&lt;span style="font-family:Arial;"&gt; &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_7IBmk5f0b6k/S08Wa-jQk8I/AAAAAAAABQA/XeS7mUvuRv8/s1600-h/pic2.JPG"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 200px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5426580728728032194" border="0" alt="" src="http://1.bp.blogspot.com/_7IBmk5f0b6k/S08Wa-jQk8I/AAAAAAAABQA/XeS7mUvuRv8/s320/pic2.JPG" /&gt;&lt;/a&gt;  &lt;p&gt;2.&lt;strong&gt; In Site Settings page in Site Collection : Under 'Site Collection Administration' group. &lt;/strong&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 200px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5426580728728032194" border="0" alt="" src="http://1.bp.blogspot.com/_7IBmk5f0b6k/S08Wa-jQk8I/AAAAAAAABQA/XeS7mUvuRv8/s320/pic3.JPG" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;On clicking of 'SharePoint Designer Settings' link, product displays the SharePoint Designer settings at sitecollection level. ( Below Snapshot ).&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 200px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5426580728728032194" border="0" alt="" src="http://1.bp.blogspot.com/_7IBmk5f0b6k/S08Wa-jQk8I/AAAAAAAABQA/XeS7mUvuRv8/s320/pic4.JPG" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;SharePoint Designer Groups&lt;/strong&gt; - Furthermore, a new permission group, called Designer, helps target those users who really need SharePoint Designer. &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/34549525-1736930556631780914?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2010/01/sharepoint-2010-sharepoint-designer.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_7IBmk5f0b6k/S08WQusDFFI/AAAAAAAABP4/sjJlIhB4E1c/s72-c/pic1.JPG" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-219058782009117179</guid><pubDate>Wed, 13 Jan 2010 10:26:00 +0000</pubDate><atom:updated>2010-01-13T16:03:55.694+05:30</atom:updated><title>SharePoint 2010 Management Shell - Features CmdLets</title><description>&lt;span xmlns=""&gt; &lt;p style="MARGIN-LEFT: 5pt"&gt;&lt;span style="color:black;"&gt;The SharePoint Management Shell in SharePoint Foundation 2010 provides an extensive set of Windows PowerShell cmdlets that make development, deployment, and administration of SharePoint 2010 easier and more efficient. Management Shell c&lt;/span&gt;ontains the Powershell cmdlets for SharePoint, by using this we control and manage the SharePoint operations like we done in STSADM command.&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 5pt"&gt;&lt;span style="color:black;"&gt;Powershell cmdlets for managing SharePoint Features - &lt;/span&gt;&lt;/p&gt;&lt;div style="MARGIN-LEFT: 5pt"&gt;&lt;table style="BORDER-COLLAPSE: collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="WIDTH: 628px"&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td style="BORDER-BOTTOM: #a3a3a3 1pt solid; BORDER-LEFT: #a3a3a3 1pt solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: #a3a3a3 1pt solid; BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-TOP: 5px"&gt;&lt;p&gt;PS C:\Users\Administrator&amp;gt; get-command *feature* &lt;/p&gt;&lt;p&gt;CommandType Name Defintion &lt;/p&gt;&lt;br&gt;----------- -------- ------------------------------------ &lt;p&gt;Cmdlet Disable-SPFeature Disable-SPFeature [-Identity...&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Cmdlet Enable-SPFeature Enable-SPFeature [-Identity]...&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Cmdlet Get-SPFeature Get-SPFeature [[-Identity] &amp;lt;...&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Cmdlet Install-SPFeature Install-SPFeature [-Path] &amp;lt;S...&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Cmdlet Uninstall-SPFeature Uninstall-SPFeature [-Identi...&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="MARGIN-LEFT: 5pt"&gt;&lt;span style="color:black;"&gt;Help is available for these SharePoint 2010-specific cmdlets in Windows PowerShell. Type &lt;strong&gt;get-help&lt;/strong&gt; and then type the name of the cmdlet. For example, to find help about &lt;strong&gt;SPServiceApplication&lt;/strong&gt;, type &lt;strong&gt;get-help get-SPServiceApplication&lt;/strong&gt;. &lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 5pt"&gt;&lt;/p&gt;&lt;div style="MARGIN-LEFT: 5pt"&gt;&lt;table style="BORDER-COLLAPSE: collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="WIDTH: 628px"&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td style="BORDER-BOTTOM: #a3a3a3 1pt solid; BORDER-LEFT: #a3a3a3 1pt solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: #a3a3a3 1pt solid; BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-TOP: 5px"&gt;&lt;p&gt;&lt;br /&gt;PS C:\Users\Administrator&gt; get-help get-spfeature&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;NAME&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Get-SPFeature &lt;/p&gt;&lt;p&gt;SYNOPSIS&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Returns the SharePoint Features based on a given scope. &lt;/p&gt;&lt;p&gt;SYNTAX&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Get-SPFeature [-Identity &amp;lt;SPFeatureDefinitionPipeBind&amp;gt;] [-AssignmentCollection &amp;lt;SPAssignmentCollection&amp;gt;] [-Limit &amp;lt;String&amp;gt;] [&amp;lt;CommonParameters&amp;gt;] &lt;/p&gt;&lt;p&gt;Get-SPFeature [-Identity &amp;lt;SPFeatureDefinitionPipeBind&amp;gt;] [-AssignmentCollect ion &amp;lt;SPAssignmentCollection&amp;gt;] [-Farm &amp;lt;SwitchParameter&amp;gt;] [-Limit &amp;lt;String&amp;gt;] [ &amp;lt;CommonParameters&amp;gt;] &lt;/p&gt;&lt;p&gt;Get-SPFeature [-Identity &amp;lt;SPFeatureDefinitionPipeBind&amp;gt;] [-AssignmentCollection &amp;lt;SPAssignmentCollection&amp;gt;] [-Limit &amp;lt;String&amp;gt;] [-Sandboxed &amp;lt;SwitchParameter&amp;gt;] [-Site &amp;lt;SPSitePipeBind&amp;gt;] [&amp;lt;CommonParameters&amp;gt;] &lt;/p&gt;&lt;p&gt;Get-SPFeature [-Identity &amp;lt;SPFeatureDefinitionPipeBind&amp;gt;] [-AssignmentCollection &amp;lt;SPAssignmentCollection&amp;gt;] [-Limit &amp;lt;String&amp;gt;] [-Web &amp;lt;SPWebPipeBind&amp;gt;] [&amp;lt;CommonParameters&amp;gt;] &lt;/p&gt;&lt;p&gt;Get-SPFeature [-Identity &amp;lt;SPFeatureDefinitionPipeBind&amp;gt;] [-AssignmentCollection &amp;lt;SPAssignmentCollection&amp;gt;] [-Limit &amp;lt;String&amp;gt;] [-WebApplication &amp;lt;SPWebApplicationPipeBind&amp;gt;] [&amp;lt;CommonParameters&amp;gt;] &lt;/p&gt;&lt;p&gt;DETAILED DESCRIPTION&lt;br /&gt;&lt;/p&gt;&lt;p&gt;All SPFeature sets take the Identity parameter, which can be either the relative path of the SharePoint Feature (considered the feature name) or the GUID of a Feature definition. If the Identity parameter is provided, the cmdlets attempt to find the given Feature definition or instance for the given scope. If no parameters are specified, all installed features are returned. &lt;/p&gt;&lt;p&gt;The Get-SPFeature cmdlet behaves differently at each scope, returning the enabled Features at each level. If no scope is provided, all installed Features are returned. &lt;/p&gt;&lt;p&gt;get-spfeature (returns all the installed Feature definitions in the farm ) &lt;/p&gt;&lt;p&gt;get-spfeature -farm ( returns all the enabled Feature in the farm) &lt;/p&gt;&lt;p&gt;get-spfeature -webapplication (returns all enabled the Features in the Webapplication)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;get-spfeature -site (returns all the enabled Features on the site &amp;lt;&amp;lt;both full trusted and particially trusted code&amp;gt;&amp;gt;) &lt;/p&gt;&lt;p&gt;get-spfeature -site -sandboxed (returns all installed the ptc Feature definitions on the site)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;get-spfeature -web (returns all the enabled Features in the Web)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;RELATED LINKS&lt;br /&gt;&lt;/p&gt;&lt;p&gt;REMARKS&lt;br /&gt;For more information, type: "get-help Get-SPFeature -detailed". &lt;/p&gt;&lt;p&gt;For technical information, type: "get-help Get-SPFeature -full".&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:12;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34549525-219058782009117179?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2010/01/sharepoint-2010-management-shell.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-6603351680025051348</guid><pubDate>Wed, 06 Jan 2010 06:46:00 +0000</pubDate><atom:updated>2010-01-06T12:29:49.267+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">SharePoint 2010</category><title>Up and running with the SharePoint 2010 Public Beta</title><description>Although, I am late by few weeks, I started with the installation for SharePoint 2010 Public Beta last week. Although, I have been following and reading lot of stuff on SharePoint 2010 in last few months. Installation was pretty neat. Very good experience as compared to SharePoint 2007 beta.&lt;br /&gt;&lt;br /&gt;Although, I missed on installing the prerequisites through the setup and started running the prerequisites on my own. After running the required all the prerequisites, setup kept on giving me the error for 'Windows Server Features or Role Services required by the product are not enabled'. ( Attached snapshot). I tried multiple things - enabled the role services on the server.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_7IBmk5f0b6k/S0QzJMNcsuI/AAAAAAAABPQ/_131igqedHo/s1600-h/error1.JPG"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 515px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5423516084250391266" border="0" alt="" src="http://3.bp.blogspot.com/_7IBmk5f0b6k/S0QzJMNcsuI/AAAAAAAABPQ/_131igqedHo/s320/error1.JPG" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;span xmlns=""&gt;&lt;span style="color:#4c4c4c;"&gt;I ran the SharePoint 2010 prerequisites which added administration roles. &lt;/span&gt;&lt;span style="color:#4c4c4c;"&gt;After that SharePoint 2010 installation was pretty straight forward. Way to go …&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#4c4c4c;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span xmlns=""&gt;&lt;span style="color:#4c4c4c;"&gt;I am planning to share lot of technical details on different areas of SharePoint 2010 in next few weeks.&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34549525-6603351680025051348?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2010/01/up-and-running-with-sharepoint-2010.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_7IBmk5f0b6k/S0QzJMNcsuI/AAAAAAAABPQ/_131igqedHo/s72-c/error1.JPG" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-5919112670586137732</guid><pubDate>Fri, 11 Sep 2009 11:33:00 +0000</pubDate><atom:updated>2009-09-11T17:09:52.557+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Enterprise Web 2.0</category><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><title>Connectbeam - SharePoint Connector</title><description>&lt;span xmlns=""&gt;&lt;p style="MARGIN-LEFT: 19pt"&gt;&lt;a href="http://www.connectbeam.com/"&gt;Connectbeam&lt;/a&gt;, founded in December, 2005, is a leading provider of enterprise social software applications and the first company to integrate concepts of social bookmarking and tagging with those of social networking. Connectbeam's new &lt;a href="http://www.connectbeam.com/demo/sharepointintegration"&gt;Spotlight Connect for SharePoint&lt;/a&gt; provides SharePoint users with a single destination for discovering and sharing rich enterprise social bookmarking and tagging information. Spotlight Connect for SharePoint also extends and enhances the native collaboration and discovery capabilities of SharePoint Server 2007.&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 19pt"&gt;&lt;a href="http://www.connectbeam.com/pdf/CB_Sharepoint_DS_D.pdf"&gt;Spotlight Connect for SharePoint&lt;/a&gt; - &lt;/p&gt;&lt;p style="MARGIN-LEFT: 19pt"&gt;Spotlight Connect for SharePoint is deployed as a series of customizable SharePoint Web Parts, including:&lt;br /&gt;• Social Search and Related Content&lt;br /&gt;• Social Graphs&lt;br /&gt;• Bookmarks&lt;br /&gt;• Tags&lt;br /&gt;• Groups&lt;br /&gt;• Connections&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 19pt"&gt;&lt;span style="TEXT-DECORATION: underline"&gt;&lt;strong&gt;Suggested Improvements - &lt;span style="font-size:12;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 19pt"&gt;&lt;strong&gt;SharePoint Document Library - Connectbeam integration&lt;/strong&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Incase user would like to share information in the document library at the enterprise level, option to publish the information to Connectbeam &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;strong&gt;SharePoint List (Announcements, Custom List etc. ) - Connectbeam integration&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;In case users would like to share announcement or a part of it with Connectbeam groups or corresponding Enterprise, it would be a good functionality to have.&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34549525-5919112670586137732?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2009/09/connectbeam-sharepoint-connector.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-181621865949334923</guid><pubDate>Thu, 10 Sep 2009 07:39:00 +0000</pubDate><atom:updated>2009-09-10T13:16:16.001+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Best Practises</category><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><category domain="http://www.blogger.com/atom/ns#">Business Entities</category><title>Populating and Creating Business Entities from SharePoint List</title><description>&lt;span xmlns=""&gt;&lt;p style="MARGIN-LEFT: 22pt"&gt;Patterns and practices has released a new version of guidance for &lt;a href="http://msdn.microsoft.com/en-us/library/dd203468.aspx"&gt;building collaborative applications.&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 22pt"&gt;One of the new functionality provided by the Microsoft group is very useful and generic, w.r.t creating and saving business entities. Concept is based on List based repositories by following below steps - &lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="color:black;"&gt;Business entity class E.g. Customer &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black;"&gt;Static class that contains the SharePoint field IDs for the list to be used. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span style="color:black;"&gt;Repository class which creates instance of the &lt;strong&gt;ListItemFieldMapper&lt;/strong&gt; class and adds mappings that associate the field IDs to the corresponding property of the business entity&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;Please refer - &lt;a href="http://msdn.microsoft.com/en-us/library/ee413898.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee413898.aspx&lt;/a&gt; for more details &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;After business entity and mapping classes are defines, generic functionality could be used to retrieve and save the business entity directly with SharePoint.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Sample Code - &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;&lt;div&gt;&lt;strong&gt;Creating collection for Customer Business Entity:&lt;/strong&gt; &lt;/div&gt;&lt;p style="MARGIN-LEFT: 27pt"&gt;public IList&amp;lt;Customer&amp;gt; GetAllCustomers()&lt;br /&gt;{&lt;br /&gt;// ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;using (SPSite site = new SPSite(customerWebUrl))&lt;br /&gt;{&lt;br /&gt;using (SPWeb customerWeb = site.OpenWeb())&lt;br /&gt;{&lt;br /&gt;SPList customerList = customerWeb.Lists[Constants.CustomerListName];&lt;br /&gt;CAMLQueryBuilder camlQueryBuilder = new CAMLQueryBuilder();&lt;br /&gt;camlQueryBuilder.FilterByContentType(CustomerContentTypeName);&lt;br /&gt;SPListItemCollection items = customerList.GetItems(camlQueryBuilder.Build());&lt;br /&gt;&lt;br /&gt;IList&amp;lt;Customer&amp;gt; customers = new List&amp;lt;Customer&amp;gt;();&lt;br /&gt;foreach(SPListItem item in items)&lt;br /&gt;{&lt;br /&gt;Customer customer = listItemFieldMapper.CreateEntity(item);&lt;br /&gt;customers.Add(customer);&lt;br /&gt;}&lt;br /&gt;return customers;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;strong&gt;Save a Business Entity to a List&lt;/strong&gt; &lt;/div&gt;&lt;p style="MARGIN-LEFT: 27pt"&gt;public void AddCustomer(Customer customer)&lt;br /&gt;{&lt;br /&gt;using (SPSite site = new SPSite(customerWebUrl))&lt;br /&gt;{&lt;br /&gt;using (SPWeb customerWeb = site.OpenWeb())&lt;br /&gt;{&lt;br /&gt;SPList customerList = customerWeb.Lists[Constants.CustomerListName];&lt;br /&gt;SPListItem customerListItem = customerList.Items.Add();&lt;br /&gt;this.listItemFieldMapper.FillSPListItemFromEntity( customerListItem, customer);&lt;br /&gt;customerList.Update();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;} &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34549525-181621865949334923?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2009/09/populating-and-creating-business.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-8743020104448646436</guid><pubDate>Sun, 03 May 2009 12:17:00 +0000</pubDate><atom:updated>2009-05-04T06:54:14.931+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><title>SharePoint List Association Manager</title><description>While starting on design of SharePoint Custom applications, one of the dilemma which comes - Whether to use SharePoint lists as DataStore or Use RDBMS for storing master and transaction data.&lt;br /&gt;&lt;br /&gt;Advantages of SharePoint Lists -&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Out of box User Interface, reduces development effort&lt;/li&gt;&lt;li&gt;Available UI Column types of text, multi line, drop down, radio button, date time etc.&lt;/li&gt;&lt;li&gt;Allow lookup columns to define relationships between lists.&lt;/li&gt;&lt;li&gt;Sorting and Paging&lt;/li&gt;&lt;li&gt;Different Views based on user needs&lt;/li&gt;&lt;li&gt;Multiple Records Data Entry &lt;/li&gt;&lt;li&gt;Email Alerts&lt;/li&gt;&lt;li&gt;Integration with Excel, Access etc.&lt;/li&gt;&lt;li&gt;Provides RSS Feeds&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Implementing Database Entities as SharePoint Lists, allow users to perform CRUD operations and out-of-box UI with above features.&lt;/p&gt;&lt;p&gt;Limitation of SharePoint Lists for maintaining Database Entities - &lt;/p&gt;&lt;ul&gt;&lt;li&gt;As SharePoint manages the storage and retrieval of data, Application developers has no control over it, to optimize or tweak the operation.&lt;/li&gt;&lt;li&gt;Performance Issues of SharePoint lists : It is well known about SharePoint List performance issue. Refer - &lt;a href="http://sharepoint.microsoft.com/blogs/GetThePoint/Lists/Posts/Post.aspx?ID=162"&gt;http://sharepoint.microsoft.com/blogs/GetThePoint/Lists/Posts/Post.aspx?ID=162&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Basic Database Features missing in SharePoint list - Unique Constraints, Foreign Key relationships between lists, Database Constraints etc.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;SharePoint List Association Manager ( &lt;a href="http://www.codeplex.com/SLAM"&gt;SLAM&lt;/a&gt; ) overcomes one of the limitation of defining relationships on SharePoint lists. In nutshell, it creates the Database Tables of Lists and Relationships in External Database. Uses SharePoint eventhandlers to update external database list and relationship tables. Association of lists is based on SLAM xml configuration files. External Database provides independent datastore for reporting, and provides performance gain.&lt;/p&gt;&lt;p&gt;Working with SLAM, there are few things, I found out ( based on my current understanding) -&lt;/p&gt;&lt;p&gt;Explaining by taking example of two SharePoint Lists 'Country' and 'City'. 'Country' has a single text column 'CountryCode'. 'City' has two columns - Text column 'CityName' and lookup column from 'Country' list.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;No constraints on lists at SharePoint lists. It allows deletion of data from 'Country' list, even if we have relationship data in 'City' list.&lt;/li&gt;&lt;li&gt;Allows deletion of parent SharePoint list 'Country', even after relationship defined.&lt;/li&gt;&lt;li&gt;Duplicates the data between SharePoint list and External Database Tables.&lt;/li&gt;&lt;li&gt;Overhead of maintaining SLAM config, as we have already defined metadata for lists in SharePoint.&lt;/li&gt;&lt;li&gt;Performance Issues - Takes approx. 30 minutes to sync SharePoint lists having 20000 records. Concerns on implementations with Enterprise applications with large amount of data.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;SLAM doesn't provide Database features of primary keys, constraints, triggers etc. &lt;/p&gt;&lt;p&gt;In my view, SharePoint lists should be mistaken as replacement for Relational Database Management System. For small amount of data and keeping SharePoint lists constraints, might be useful for smaller chunk of data.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34549525-8743020104448646436?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2009/05/sharepoint-list-association-manager.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-7626278926809269820</guid><pubDate>Fri, 01 May 2009 20:02:00 +0000</pubDate><atom:updated>2009-05-03T17:45:08.668+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Software Methodologies</category><category domain="http://www.blogger.com/atom/ns#">Agile</category><title>Agile Software Projects - Possible Reasons for failure</title><description>Agile's attractiveness with short-burst development cycles, sometimes overshadows the preconditions to rapid-development. The belief in agile is that it's quicker to refactor the product along the way than to try to define everything completely up front, which &lt;strong&gt;arguably is impossible&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Potential Reasons for Agile Software Projects failure, keeping &lt;a href="http://www.agile-software-development.com/2007/02/10-things-you-need-to-know-about-agile.html"&gt;Agile Principles&lt;/a&gt; in view - &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Product owners non-commitment to being actively involved throughout the project&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Not effective collaboration with business colleagues or customers&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Requirements emerge and evolve, results into Scope changes, creates the risk of ever-lasting projects. Sometimes, No documentation, whatsoever.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Wasted Effort on deliverables that don't last&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Less predictability, at the start of the project and during, about what the project is actually going to deliver.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Design flaws - Constant requirements change within short durations, and shorter delivery spans, doesn't allow scope to detailed design. Also, not being aware of high level requirements at the start, doesn't allow to have high level design understanding.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Testers needed throughout the project - To ensure quality, additional cost to the project for testing during regular short releases.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Development Team Burnout - Agile development is rather intense for developers. The need to really complete each feature 100% within each iteration, and the relentlessness of iterations, can be mentally quite tiring so it's important to find a sustainable pace for the team.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34549525-7626278926809269820?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2009/05/agile-software-projects-possible.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-884112641820036300</guid><pubDate>Fri, 01 May 2009 14:57:00 +0000</pubDate><atom:updated>2009-05-03T17:45:49.730+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">WebPart</category><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><title>Oracle SharePoint - Integration Points : Opens new possibilities</title><description>&lt;p&gt;&lt;a href="http://download-west.oracle.com/docs/cd/E10316_01/WebParts/HelpStructure/documentation/web_parts_10en.pdf"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Oracle Universal Content Management Integration with SharePoint using Web Parts&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;WebParts to use Oracle ECM as backend and SharePoint as frontend. The web parts also provide for the use of both a SharePoint content repository and a Content Server repository. Content items can be moved between the two systems. This allows consumers who are familiar with SharePoint to interact with the Content Server through a known interface, thus making it easier to contribute and search for content.&lt;br /&gt;Two primary use cases exist for the combination of the Web Parts product and SharePoint:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Using SharePoint to collaborate on documents then ‘promoting’ them to a Content Server for storage or use on the enterprise system. This allows users to manage content in SharePoint, including in workflows, collaboration projects, and so forth, but use Content Server for storage and retention. &lt;/li&gt;&lt;li&gt;Using a SharePoint front end but storing the content behind SharePoint in a Universal Content Management (UCM) system. This allows users who are familiar with SharePoint to use that interface for many tasks.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.sharepointblogs.com/ldusolier/archive/2006/12/22/use-bdc-to-connect-to-oracle-databases-you-can-use-the-bdc-feature-of-moss-2007-to-interact-with-information-stored-in-external-data-sources-for-example-sql-server-and-oracle-data-bases-the-bdc-part-2.aspx"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;SharePoint BDC to connect to Oracle Databases&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt; : Business Data Catalog is a feature in MOSS 2007, it provides you with an easy way to integrate line of business data in MOSS 2007, without any code. Following article provides details on creating and implementing BDC for Oracle Databases.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://otndnld.oracle.co.jp/document/products/oecm/content/1013/doc_cd/adapters/admin_guide_sp07_adapter_10en.pdf"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Oracle Universal Records Management Adapter for MOSS 2007&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt; : It Communicates between Records Manager and SharePoint Database Server. The Adapter provides common retention functionality like identification, search and applying policies on the content items.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/products/webcenter/pdf/get_more_from_sharepoint.pdf"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Oracle Fusion Middleware combining with SharePoint&lt;/span&gt;&lt;/strong&gt; &lt;/a&gt;: Oracle Fusion Middleware includes a unique and broad set of capabilities that help IT organizations get control of SharePoint deployments while enhancing the content experience for end users. It help organizations with &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Share content once the creation phase of the lifecycle is complete by publishing content to an enterprise content management (ECM) system for enterprise access and distribution&lt;/li&gt;&lt;li&gt;Comply with industry or government regulations and policies with centralized policy management across distributed SharePoint environments &lt;/li&gt;&lt;li&gt;Implement in-place records and retention management—including legal holds—across SharePoint instances &lt;/li&gt;&lt;li&gt;Archive content from SharePoint into a single, secure, online repository&lt;br /&gt;Securely search across multiple libraries and instances &lt;/li&gt;&lt;li&gt;Implement information security across and beyond SharePoint environments—including securing documents on laptops, flash drives, and within systems beyond the firewall &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Integrate SharePoint content within enterprise and composite applications&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/B28196_01/idmanage.1014/b25347/shrpprtl.htm"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Oracle Access Manager Integration with SharePoint&lt;/span&gt;&lt;/strong&gt; &lt;/a&gt;: Oracle Access Manager provides a full range of identity management and security functions, including: Web-based single sign-on (SSO), user self-service and self-registration, user provisioning, reporting and auditing, policy management, dynamic groups, and delegated administration. Oracle Access Manager integrates with all leading directory servers, application servers, Web servers, and enterprise applications.&lt;br /&gt;Once Oracle Access Manager has been integrated with SPPS, the Access System handles user authentication through an ISAPI filter for IIS and an ISAPI wild card extension, which enables single sign-on between Oracle Access Manager and SPPS. WSS handles resource request authorization for all SPPS resources.&lt;br /&gt;Such integration enables authenticated users to enjoy SSO access not just to SPPS resources, but also Oracle Access Manager-protected resources, which can reside on the full range of Oracle Access Manager-supported platforms (such as Windows, Solaris, or Linux,) or application servers (such as WebLogic or WebSphere).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sharepointsecurity.com/content-149.html"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Oracle Database as Role and Membership Provider for SharePoint&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;ASP.NET 2.0 Membership provides a common user authentication and management framework. It also always to extend it by creating a custom Membership Provider when user information is stored in Oracle.&lt;br /&gt;&lt;strong&gt;Benefit of ASP.NET 2.0 Membership&lt;/strong&gt; - With Membership services, we are able to use pre-built user authentication and registration controls instead of writing them from scratch. The end result is less code to write for login, login status, user identity, user registration, and password recovery.&lt;br /&gt;Reference : &lt;a href="http://msdn.microsoft.com/en-us/library/aa479070.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa479070.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/products/id_mgmt/ovds/pdf/ovd-sharepoint-wp-v3.pdf"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Oracle Virtual Directory : Integration with SharePoint &lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Oracle Virtual Directory - Creating a secure application environment requires integration of existing user identity information. For some companies, that information is contained in databases. Others use LDAP directories or Windows Domains. For most, this information is scattered across multiple locations and multiple services. Oracle Virtual Directory provides Internet and industry-standard LDAP and XML views of existing enterprise identity information, without synchronizing or moving data from its native locations. This accelerates the deployment of applications and reduces costs by eliminating the need to constantly adapt those applications to a changing identity landscape as user populations are added, changed, or removed.&lt;br /&gt;The benefits of SharePoint and Oracle Virtual Directory Integration are: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Allow a single SharePoint instance to use multiple Active Directory domains &lt;/li&gt;&lt;li&gt;Allow SharePoint to use identity information stored in non-Active Directory based identity stores including databases &lt;/li&gt;&lt;li&gt;Allow SharePoint to use identity information that is split between Active Directory and non-Active Directory data stores including databases&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34549525-884112641820036300?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2009/05/oracle-sharepoint-integration-points.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-1884718924700345960</guid><pubDate>Sun, 05 Oct 2008 04:06:00 +0000</pubDate><atom:updated>2008-10-05T09:42:10.699+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Custom Actions</category><category domain="http://www.blogger.com/atom/ns#">Feature</category><title>SharePoint Custom View Actions</title><description>&lt;span xmlns=""&gt;&lt;p style="MARGIN-LEFT: 22pt"&gt;Posted a new article on CodeProject to add two new actions on Toolbar for SharePoint lists.&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 22pt"&gt;&lt;a href="http://www.codeproject.com/KB/sharepoint/customviewactions.aspx"&gt;http://www.codeproject.com/KB/sharepoint/customviewactions.aspx&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 22pt"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 22pt"&gt;Although, both of these functionalities are available out-of-box, but having these links on the toolbar itself, improves user productivity.&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 22pt"&gt;With respect to technical implementation - &lt;/p&gt;&lt;ol&gt;&lt;li&gt;For action 'Creating new view, replicating existing view' : Used out-of-box application page 'viewnew.aspx'.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;For action 'Delete current view' : Added new application page and deleted the view using SharePoint Object model. However, discovered a issue with SharePoint object model. While deleting the view with object model, there is no check for default view. It deletes the default view also, which removes the list from the Quick Launch bar. Out-of-box Microsoft functionality, is making 'Delete' button visible true or false, on the frontend for ViewEdit.aspx, but it is not checked at the API level.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;For this custom action, I have checked for the default view, and changed the 'Action' Text accordingly. &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34549525-1884718924700345960?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2008/10/sharepoint-custom-view-actions.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-892642932456590956</guid><pubDate>Wed, 01 Oct 2008 11:04:00 +0000</pubDate><atom:updated>2009-05-04T06:55:12.534+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><category domain="http://www.blogger.com/atom/ns#">Software Methodologies</category><title>Risks Matrix for SharePoint Projects</title><description>&lt;span xmlns=""&gt;&lt;p style="MARGIN-LEFT: 19pt"&gt;Very helpful document on Risk Management for SharePoint Project - &lt;a href="http://thorprojects.com/files/sharepointcommonrisksforvariousprojecttypes.pdf"&gt;http://thorprojects.com/files/sharepointcommonrisksforvariousprojecttypes.pdf&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 19pt"&gt;Some important Risk Types - &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Bad Expectations &lt;/li&gt;&lt;li&gt;Poor Terms definition &lt;/li&gt;&lt;li&gt;Poor Understanding &lt;/li&gt;&lt;li&gt;No value proposition&lt;/li&gt;&lt;li&gt;No compelling reason&lt;/li&gt;&lt;li&gt;No Launch &lt;/li&gt;&lt;li&gt;&lt;div&gt;Poor Adoption&lt;br /&gt;&lt;/div&gt;&lt;p&gt;SharePoint Internet Sites - &lt;/p&gt;&lt;/li&gt;&lt;li&gt;Major Risks are poor understanding, no Launch &amp;amp; poor Understanding. &lt;/li&gt;&lt;li&gt;&lt;div&gt;The greatest issue with Internet site is how SharePoint processes requests and how it will fit into the environment. While SharePoint is capable of being used in Internet applications, it's not designed for this purpose. It will exhibit limitations when used in the anonymous authentication environment of the Internet. &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34549525-892642932456590956?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2008/10/risks-matrix-for-sharepoint-projects.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-3371122458778839352</guid><pubDate>Mon, 29 Sep 2008 18:48:00 +0000</pubDate><atom:updated>2009-05-04T06:56:05.210+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><category domain="http://www.blogger.com/atom/ns#">Application Page</category><title>Custom DataSheet View Using ListNet ActiveX Control</title><description>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Introduction&lt;/strong&gt; -&lt;br /&gt;&lt;br /&gt;SharePoint DataSheet Page is used for editing lists in multiple record grid format. DataSheet view uses ListNet control, which is an ActiveX control. This control is also works in conjunction with the ListViewWebPart class to provide users with a dataview for editing lists in Microsoft Windows SharePoint Services.&lt;br /&gt;&lt;br /&gt;ListNet control is defined in the STSLIST.DLL file, a dynamic-link library (DLL) that is installed on the client during 2007 Office system setup in the Local_Drive:\Program Files\Microsoft Office\OFFICE12 directory.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Analyzing out-of-box 'Edit in DataGrid' Page&lt;/strong&gt; -&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;On clicking on 'Edit in DataGrid', redirection to 'AllItems.aspx' (~site/{DocLib}Forms/AllItems.aspx?ShowInGrid=True&amp;amp;View={ViewGuid}) happens.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;In summary, looking at the source of the page, it contains Script tag, which calls Javascript function, RenderActiveX. RenderActiveX has the object tag with class id={65BCBEE4-7728-41a0-97BE-14E1CAE36AAE}.&lt;br /&gt;&lt;br /&gt;Parameters which are set on the page, to render the ActiveX are - ListName, ViewGuid, ListWeb. ListData, ViewSchema, ListSchema.&lt;br /&gt;&lt;br /&gt;In summary, below is the script tag -&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&amp;lt;SCRIPT&amp;gt;RenderActiveX("&amp;lt;OBJECT id='STSListControlWPQ2' name='STSListControlWPQ2' classid=CLSID:65BCBEE4-7728-41a0-97BE-14E1CAE36AAE PARAM NAME='ListName' VALUE='{ListID} PARAM NAME=ViewGuid VALUE={ViewID} PARAM NAME=ListWeb VALUE={WebUrl} PARAM NAME='ListData' VALUE={ListData} PARAM NAME=ViewSchema VALUE={ViewSchema} PARAM NAME='ListSchema' VALUE={ListSchema} PARAM NAME='ControlName' VALUE='STSListControlWPQ2' &amp;gt; &amp;lt;/OBJECT&amp;gt;");&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;Custom Application Page using ListNet ActiveX Page &lt;/strong&gt;-&lt;br /&gt;Below is some of the code snippet used in the application page. Application Page is passed two query parameters ListId and WebId, to create dynamic view for the list in the web.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&amp;lt;script runat="server"&amp;gt;&lt;br /&gt;SPWeb web;&lt;br /&gt;SPList list;&lt;br /&gt;string ListData, ViewSchema, ListSchema;&lt;br /&gt;&lt;br /&gt;protected override void OnLoad(EventArgs e)&lt;br /&gt;{&lt;br /&gt;//Reading ListId querstring parameter&lt;br /&gt;Guid listGuid = new Guid(Request.QueryString.Get("ListId"));&lt;br /&gt;&lt;br /&gt;//Reading WebId querstring paramter&lt;br /&gt;Guid webGuid = new Guid(Request.QueryString.Get("WebId"));&lt;br /&gt;&lt;br /&gt;SPSite site = SPContext.Current.Site;&lt;br /&gt;web = site.OpenWeb(webGuid);&lt;br /&gt;list = web.Lists[listGuid];&lt;br /&gt;&lt;br /&gt;//Custom string functions, STSHtmlEncode &amp;amp; STSScriptEncode to encode the string&lt;br /&gt;ListData = STSScriptEncode(STSHtmlEncode(list.Items.Xml));&lt;br /&gt;ViewSchema = STSScriptEncode(STSHtmlEncode(list.DefaultView.SchemaXml));&lt;br /&gt;ListSchema = STSScriptEncode(STSHtmlEncode(list.SchemaXml));&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&amp;lt;asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server"&amp;gt;&lt;br /&gt;&amp;lt;SCRIPT&amp;gt;RenderActiveX("\u003cOBJECT id=\u0022STSListControlWPQ2\u0022 name=\u0022STSListControlWPQ2\u0022 classid=CLSID:65BCBEE4-7728-41a0-97BE-14E1CAE36AAE width=\u002299\u0025\u0022 tabindex=\u00221\u0022\u003e\u003cPARAM NAME=\u0022ListName\u0022 VALUE=\u0022{&lt;%=list.ID.ToString()%&gt;}\u0022\u003e\u003cPARAM NAME=\u0022ViewGuid\u0022 VALUE=\u0022{&lt;%=list.DefaultView.ID.ToString()%&gt;}\u0022\u003e\u003cPARAM NAME=\u0022ListWeb\u0022 VALUE=\u0022&lt;%=web.Url%&gt;\u002f_vti_bin\u0022\u003e\u003cPARAM NAME=\u0022ListData\u0022 VALUE=\u0022&lt;%=ListData%&gt;\u0022\u003e\u003cPARAM NAME=\u0022ViewSchema\u0022 VALUE=\u0022&lt;%=ViewSchema%&gt;\u0022\u003e\u003cPARAM NAME=\u0022ListSchema\u0022 VALUE=\u0022&lt;%=ListSchema%&gt;\u0022\u003e\u003cPARAM NAME=\u0022ControlName\u0022 VALUE=\u0022STSListControlWPQ2\u0022\u003e\u003cp class=ms-descriptiontext\u003eThe Datasheet view of this list cannot be displayed. Please wait while the page is redirected to Standard view. If your list does not appear in a few moments, \u003cA onclick=\u0022javascript:GCNavigateToNonGridPage\u0028\u0029; javascript:return false;\u0022 href=\u0022?ShowInGrid=False\u0022 target=_self\u003eopen the list in Standard view\u003c\u002fA\u003e\u003c\u002fp\u003e\u003c\u002fOBJECT\u003e");&lt;br /&gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:Content&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&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/34549525-3371122458778839352?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2008/09/custom-datasheet-view-using-listnet.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-254935184210985150</guid><pubDate>Sun, 28 Sep 2008 19:00:00 +0000</pubDate><atom:updated>2008-09-29T00:58:28.041+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">WebPart</category><title>Switching between WebPart Pages Modes</title><description>Frequently, need for switching between different modes in WebPart page programmatically is felt. For this we have used using various SharePoint JavaScript functions like MSOTlPn_ShowToolPaneWrapper, MSOLayout_ToggleLayoutMode etc. have been used in the past.New approach for the switching between WebPart modes would be to use WebPartManager DisplayModes collection and setting DisplayMode.Below attached sample webpart code, achieves the same. When you load the page in a browser, Display Mode drop-down list control is populated with display modes and is used to switch to different display modes. To edit controls, select Edit in the drop-down list control. When you are finished, select Browse in the Display Mode drop-down list control to return the page to a normal view. To add controls to the page, switch to catalog mode.&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Runtime.InteropServices;&lt;br /&gt;using System.Web.UI;&lt;br /&gt;using System.Web.UI.HtmlControls;&lt;br /&gt;using System.Web.UI.WebControls;&lt;br /&gt;using System.Web.UI.WebControls.WebParts;&lt;br /&gt;using System.Xml.Serialization;&lt;br /&gt;using Microsoft.SharePoint;&lt;br /&gt;using Microsoft.SharePoint.WebControls;&lt;br /&gt;using Microsoft.SharePoint.WebPartPages;&lt;br /&gt;&lt;br /&gt;namespace SPUtil&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;[Guid("68e96c2c-c788-4cf3-834a-9a7ec1ba0d9c")]&lt;br /&gt;public class EditModeSwitchWebPart : System.Web.UI.WebControls.WebParts.WebPart&lt;br /&gt;{&lt;br /&gt;DropDownList dropdownDisplayMode;&lt;br /&gt;protected override void CreateChildControls()&lt;br /&gt;{&lt;br /&gt;base.CreateChildControls();&lt;br /&gt;dropdownDisplayMode = new DropDownList();&lt;br /&gt;dropdownDisplayMode.AutoPostBack = true;&lt;br /&gt;dropdownDisplayMode.SelectedIndexChanged += new EventHandler(dropdownDisplayMode_SelectedIndexChanged);&lt;br /&gt;&lt;br /&gt;foreach (WebPartDisplayMode wpDisplayMode in WebPartManager.DisplayModes)&lt;br /&gt;{&lt;br /&gt;WebPartDisplayMode enabledWpDisplayMode = WebPartManager.SupportedDisplayModes[wpDisplayMode.Name];&lt;br /&gt;if (enabledWpDisplayMode != null)&lt;br /&gt;dropdownDisplayMode.Items.Add(enabledWpDisplayMode.Name);&lt;br /&gt;}&lt;br /&gt;Controls.Add(dropdownDisplayMode);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void dropdownDisplayMode_SelectedIndexChanged(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;if(this.dropdownDisplayMode.SelectedItem != null)&lt;br /&gt;this.WebPartManager.DisplayMode = WebPartManager.DisplayModes[dropdownDisplayMode.SelectedValue];&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34549525-254935184210985150?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2008/09/switching-between-webpart-pages-modes.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-1463505565537738912</guid><pubDate>Wed, 20 Aug 2008 04:54:00 +0000</pubDate><atom:updated>2008-09-29T00:59:01.447+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Application Page</category><title>Redirecting to custom application page, after uploading documents</title><description>&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Overview&lt;/strong&gt; - &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SharePoint Upload.aspx page is used for uploading documents from the document libraries and other lists. Upload.aspx is called, by passing various Query String parameters like ListId, Source, MultipleUpload etc. MultipleUpload parameter is used to display controls for single or multiple file upload. After uploading the documents, code redirection happens to AllItems.aspx or EditForm.aspx, based on scenarios. Since, redirection happens in code behind, creating custom application page to perform upload function and redirecting, serves the purpose. To start with, approach looks like, lot of development effort. However, it is very simple, since we are reusing the functionality provided in upload.aspx. This enables you to inject specific business rules and processes for adding files to the library. This also enables to write specific business processes as well custom file processing.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Code&lt;/strong&gt; –&lt;br /&gt;Creation of custom aspx page with code behind library. Instead of creating a completely new Upload page, you will derive from the existing Upload page and functionality and modifying the functionality you want. To do this, you reference the Microsoft.SharePoint and Microsoft.SharePoint.ApplicationPages assemblies in your project. Then you create a class that derives from the Microsoft.SharePoint.ApplicationPages.UploadPage class. This class uses the Microsoft.SharePoint and Microsoft.SharePoint.ApplicationPages namespaces. The functionality that we want is redirect the users to custom application page. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;C# Code - &lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt;namespace UploadRedirect &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;{ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;public class CustomUpload : Microsoft.SharePoint.ApplicationPages.UploadPage &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;protected override void OnLoad(EventArgs e) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;{ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;base.OnLoad(e); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;//Set the literal control text to redirect page.&lt;br /&gt;this.ConfirmationURL.Text = { Complete Url to the Redirect Page } &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;} &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;}&lt;br /&gt;&lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Creating the ASPX Page –&lt;br /&gt;&lt;/strong&gt;Create new custom aspx page, based on Upload.aspx from Layouts directory. Add the reference of above creating assembly on the top of custom aspx page. Rest of the content remains the same. Deploy the assembly in Global Assembly Cache and custom upload aspx page in layouts directory. Test the page, by passing the same query string parameters as being passed in upload.aspx. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Redirecting the User to the New Upload Page - &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Change the links for Upload and Multiple Upload in the Document Library. There can be different approaches for the same. Custom Document Library Template with the path to custom upload page, would be one of them. Using Javascript of overriding the links, can be another.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;References - &lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt;Microsoft MSDN Article -&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc713554.aspx"&gt;Preventing Record Modification but Allowing Metadata Modification by Overriding the Upload Page in Windows SharePoint Services 3.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;span style="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/34549525-1463505565537738912?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2008/08/redirecting-to-custom-application-page.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34549525.post-4226524305869163897</guid><pubDate>Sat, 24 Nov 2007 04:36:00 +0000</pubDate><atom:updated>2008-09-29T00:59:18.106+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Auditing</category><title>Sharepoint 2007 Auditing - Top Viewed Documents in a Site Collection</title><description>&lt;p align="left"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;div align="left"&gt; &lt;/div&gt;&lt;div align="left"&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Introduction -&lt;/strong&gt; Windows SharePoint Services 3.0 introduces built-in audit logging you can enable and configure at the scope of a site collection. When you enable auditing, Windows SharePoint Services writes audit event entries into an internal audit log table that is stored within the content database. The audit event entries for a site collection are stored with all other Windows SharePoint Services content such as list items, documents, and Web Part customizations.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Below Sample Code retrieves top 10 most viewed documents for a site collection, using audit event entries. Based on similar concepts, Webparts to show user-based recently viewed documents or updated, deleted etc. can be built. Administrator tools can be created to view audit data based on event type like view, update, delete etc.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="left"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Note: Auditing Tables are populated based on Site Collection Audit Settings, available in site collection administration section in site settings page. Admistrators would be able to configure various audit events like view, update, delete, check-in &amp;amp; check-out etc.&lt;/span&gt;&lt;/p&gt;&lt;div align="left"&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Sample Code -  &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;pre&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;//C# Function&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;private void GetTopViewedDocuments(string targetSiteID)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;      DataSet auditDataSet = null;&lt;br /&gt;      if (targetSiteID != null)&lt;br /&gt;      {&lt;br /&gt;          SPSite targetSiteCollection = new SPSite(new Guid(targetSiteID));&lt;br /&gt;&lt;br /&gt;          string contentDBName = targetSiteCollection.ContentDatabase.Name.ToString();&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;          //GetTopViewedDocumentsDataSet - Function is DAL function which make sql connection and calls the SP.&lt;br /&gt;          auditDataSet = GetTopViewedDocumentsDataSet(contentDBName,targetSiteID,3);&lt;br /&gt;       }&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p align="left"&gt;&lt;br /&gt; &lt;/p&gt;&lt;div align="left"&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;//Stored Procedure for getting audit data&lt;br /&gt;//Paramters - ContentDBName for the sitecollection&lt;br /&gt;//Dynamic SQL using ContentDBName and referring AuditData table for corresponding DB&lt;br /&gt;CREATE PROCEDURE [dbo].[GetTopViewedDocuments]&lt;br /&gt; @ContentDBName varchar(200),&lt;br /&gt; @SiteID varchar(50),&lt;br /&gt;        @Event int&lt;br /&gt;AS&lt;br /&gt;DECLARE&lt;br /&gt; @DynamicSQL varchar(4000),&lt;br /&gt; @WhereClause varchar(4000)&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;  SET NOCOUNT ON;&lt;br /&gt;&lt;br /&gt;-- Where clause : limiting on SiteId and audit event and displaying data for few file extensions.&lt;br /&gt;SET @WhereClause = 'AUDITDATA.SITEID = ''' + cast(@SiteID as varchar(200)) + ''' AND&lt;br /&gt;    AUDITDATA.EVENT = ' + cast(@Event as varchar(10)) + 'AND&lt;br /&gt;    DOCS.EXTENSION IN (''doc'',''docx'',''xls'',''xlsx'',''ppt'',''pptx'',''txt'')'&lt;br /&gt;&lt;br /&gt;  SET @DynamicSQL =&lt;br /&gt;  'SELECT&lt;br /&gt; TOP 10&lt;br /&gt; DOCS.LEAFNAME as "DOCUMENT NAME",&lt;br /&gt; DOCS.DIRNAME AS "DOCUMENT PATH",&lt;br /&gt; COUNT(ITEMID) as "OPERATION COUNT"&lt;br /&gt; FROM '&lt;br /&gt;  + @ContentDBName + '.dbo.AUDITDATA AUDITDATA&lt;br /&gt; INNER JOIN '&lt;br /&gt;  + @ContentDBName + '.dbo.DOCS DOCS&lt;br /&gt; ON&lt;br /&gt;  AUDITDATA.ITEMID = DOCS.ID&lt;br /&gt; AND&lt;br /&gt;  AUDITDATA.SITEID = DOCS.SITEID&lt;br /&gt; WHERE ' +&lt;br /&gt;  @WhereClause +&lt;br /&gt; ' GROUP BY&lt;br /&gt;  AUDITDATA.ITEMID,&lt;br /&gt;  DOCS.LEAFNAME,&lt;br /&gt;  DOCS.DIRNAME&lt;br /&gt; ORDER BY&lt;br /&gt;  [OPERATION COUNT] DESC'&lt;br /&gt;&lt;br /&gt; EXEC(@DynamicSQL)&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p align="left"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Audit Tables -&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#cc0000;"&gt;NOTE: Never update any SharePoint database directly. Always use the SharePoint API (Object Model) for any updates. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;Database Table - &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;- &lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;AuditData - Table that holds information about all the auditing related data&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;- AuditData - &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;Important Columns -&lt;br /&gt;-- SiteId - Site Collection Id&lt;br /&gt;-- ItemId - Id for item on which auditing is recorded&lt;br /&gt;-- UserId - UserId for the user performing the auditing action&lt;br /&gt;-- DocLocation - Location of Auditing Document&lt;br /&gt;-- Occurred - Date and Time for the auditing event&lt;br /&gt;-- Event - Event Id based on enumeration&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;p align="left"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;Here are some common queries that we can run against the content databases for auditing records - &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;p align="left"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;-- Query for getting auditing data for a particular document with user details &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;SELECT TP_TITLE,TP_LOGIN,DOCLOCATION,OCCURRED,EVENT&lt;br /&gt;FROM AUDITDATA INNER JOIN USERINFO&lt;br /&gt;ON AUDITDATA.USERID = USERINFO.TP_ID AND AUDITDATA.SITEID&lt;br /&gt;= USERINFO.TP_SITEID&lt;br /&gt;WHERE AUDITDATA.DOCLOCATION LIKE @SearchDocument AND USERINFO.TP_ISACTIVE =1 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;-- Query for getting auditing data for a particular site collection &lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;SELECT AUDITDATA.DOCLOCATION,AUDITDATA.OCCURRED,&lt;br /&gt;AUDITDATA.EVENT,SITES.ID&lt;br /&gt;FROM AUDITDATA INNER JOIN SITES&lt;br /&gt;ON AUDITDATA.SITEID = SITES.ID&lt;br /&gt;WHERE SITES.ID = @SiteID &lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;div align="left"&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;strong&gt;Important - SPAuditEventType Enumeration&lt;br /&gt;&lt;/strong&gt;- CheckOut = 1&lt;br /&gt;- CheckIn = 2&lt;br /&gt;- View = 3&lt;br /&gt;- Delete = 4&lt;br /&gt;- Update = 5&lt;br /&gt;- Undelete = 10&lt;br /&gt;- Copy = 12&lt;br /&gt;- Move = 13&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34549525-4226524305869163897?l=rajendrashekhawat.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://rajendrashekhawat.blogspot.com/2007/11/sharepoint-2007-auditing-top-viewed.html</link><author>noreply@blogger.com (Rajendra Shekhawat)</author><thr:total>3</thr:total></item></channel></rss>

