tag:blogger.com,1999:blog-58506178987457492592024-03-13T09:39:36.848-07:00Tech SpaceThe Technical Solution Space for SharePoint 2010, MOSS 2007, and .Net (C#, VB.Net)Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.comBlogger15125tag:blogger.com,1999:blog-5850617898745749259.post-48555278187309721602012-03-19T11:47:00.001-07:002012-03-19T11:47:55.431-07:00Resolving Discussion Board Issues After a SharePoint 2007 - 2010 Migration<a href="https://www.nothingbutsharepoint.com/sites/itpro/Pages/Resolving-Discussion-Board-Issues-After-a-SharePoint-2007-2010-Migration.aspx#.T2d_Rtqabn8.blogger">Resolving Discussion Board Issues After a SharePoint 2007 - 2010 Migration</a>Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0tag:blogger.com,1999:blog-5850617898745749259.post-48931653120882204782012-03-19T11:44:00.001-07:002012-03-19T11:46:21.986-07:00Install Adobe PDF iFilter for SharePoint 2010<a href="https://www.nothingbutsharepoint.com/sites/itpro/Pages/Install-Adobe-PDF-iFilter-for-SharePoint-2010.aspx#.T2d-f3X05Ng.blogger">Install Adobe PDF iFilter for SharePoint 2010</a>Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0tag:blogger.com,1999:blog-5850617898745749259.post-32518290502719685462012-03-19T11:04:00.001-07:002012-03-19T11:45:33.295-07:00SharePoint: Controlling Site Sizes with Quotas<a href="https://www.nothingbutsharepoint.com/sites/itpro/Pages/SharePoint-Controlling-Site-Sizes-with-Quotas.aspx#.T2d1Kmj2yyI.blogger">SharePoint: Controlling Site Sizes with Quotas</a>Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0tag:blogger.com,1999:blog-5850617898745749259.post-17125940077789593772012-03-19T11:03:00.001-07:002012-03-19T11:45:58.566-07:00Managed Metadata Column Limitations<a href="https://www.nothingbutsharepoint.com/sites/eusp/Pages/Managed-Metadata-Column-Limitations.aspx#.T2d0w2eiGPM.blogger">Managed Metadata Column Limitations</a>Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0tag:blogger.com,1999:blog-5850617898745749259.post-21495531371074641732010-02-17T23:10:00.000-08:002010-02-17T23:14:26.532-08:00Opening PDF in separate window of Web Application...When you browse a PDF file , by default open in same window. Now you want to change the default behaviour to open it in separate window.<br /><br /><strong>Solution:</strong><br />PDF has the setting enabled. You can disable that setting.<br /><br /><strong>Steps:</strong><br />1. Open Acrobat Reader on you PC<br />2. Go to View > Preferences<br />3. Select 'Internet' from left side<br />4. Uncheck 'Display PDF in Browser' option<br /><br />Note: This setting is a client side setting and all the above steps need to be followed on client machine which ever want to change the default behaviour.Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0tag:blogger.com,1999:blog-5850617898745749259.post-38401056307869227632010-02-17T06:44:00.000-08:002010-02-17T23:09:50.704-08:00SharePoint Groups vs. Active Directory Groups<table border="0" width="100%"><br /> <tr><br /> <td width="50%"><br /> <strong>SharePoint Group</strong></td><br /> <td width="50%"><br /> <strong>Active Directory Group</strong></td><br /> </tr><br /> <tr><br /> <td valign="top" width="50%"><br /> Members of this group can be added/removed from within SharePoint. The <br /> permission to add or remove users from the group can be delegated to SharePoint <br /> users.</td><br /> <td valign="top" width="50%"><br /> Members of this group can be managed within Active Directory. Only Active <br /> Directory administrators have the permission to modify group memberships.</td><br /> </tr><br /> <tr><br /> <td valign="top" width="50%"><br /> Members of this group can be visible to users.</td><br /> <td valign="top" width="50%"><br /> Members of this group are not visible to users.</td><br /> </tr><br /> <tr><br /> <td valign="top" width="50%"><br /> Cannot contain another SharePoint group as member.</td><br /> <td valign="top" width="50%"><br /> Can contain another Active Directory Group.</td><br /> </tr><br /> <tr><br /> <td valign="top" width="50%"><br /> Must have a unique name on site collection level. The name is the unique <br /> identifier of the group.</td><br /> <td valign="top" width="50%"><br /> Can cause serious problems in lage scale scenarios: A user might only be a <br /> member of 1024 Active Directory groups (recoursively). If this number is reached <br /> the user is no longer able to log on to Windows.<br /><br /> Read the<br /> <a href="http://download.microsoft.com/download/8/f/3/8f36dfe4-47d0-4775-ad5a-5614384921aa/AccessTokenLimitation.doc" target="_blank">Microsoft documentation</a> for more information.</td><br /> </tr><br /> <tr><br /> <td valign="top" width="50%" colspan="2"><br /> Can contain SharePoint users that do not exist in the Active Directory.</td><br /> </tr><br /> </table>Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0tag:blogger.com,1999:blog-5850617898745749259.post-89718271866465312292010-02-17T06:29:00.000-08:002010-02-17T06:41:15.349-08:00If Current Navigation is not same as Parent Site Navigation...If you set Current Navigation to “Display the same navigation items as the parent site” and if you don’t find the same navigation items as of the parent site, you might need to add an <strong>EnableInheritance="True"</strong> attribute to the <br /><br />PublishingNavigation:PortalSiteMapDataSource as in this example:<br /><br /><PublishingNavigation:PortalSiteMapDataSource ID="SiteMapDSWithHeadings" Runat="server" <br /> SiteMapProvider="CurrentNavSiteMapProvider" <br /> EnableViewState="true" <br /> StartFromCurrentNode="true" <br /> StartingNodeOffset="0" <br /> ShowStartingNode="false" <br /> TrimNonCurrentTypes="None" <br /> EnableInheritance="True"/>Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0tag:blogger.com,1999:blog-5850617898745749259.post-54041126686962353652010-02-17T06:23:00.000-08:002010-02-17T06:41:30.950-08:00How to Retrieve Text from Enhanced Rich Text Column Programmatically...SPFieldMultiLineText sampleField = sampleListItem.Fields["Sample"] as SPFieldMultiLineText; <br /><br />string sampleText = sampleField.GetFieldValueAsText(sampleListItem["Sample"]);Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0tag:blogger.com,1999:blog-5850617898745749259.post-13293225513380082102010-02-17T06:11:00.000-08:002010-02-17T06:41:43.765-08:00Reading & Writing SPFieldUrl field values Programmatically...// <summary><br /><strong>// Returns the value of an Url-Field.</strong><br />// </summary><br /><br />public static string GetFieldValueUrl(this SPListItem item, string fieldName)<br />{<br /> if (item != null)<br /> {<br /> SPFieldUrlValue urlValue = new SPFieldUrlValue(item[fieldName] as string);<br /> return urlValue.Url;<br /> }<br /> else<br /> {<br /> return string.Empty;<br /> }<br />}<br /><br />Example:<br /><br />// Get the url of a SPFieldUrl field<br />string url = item.GetFieldValueUrl("URL");<br /><br /><br /><br />// <summary><br /><strong>// Sets the value of an URL-Field.</strong><br />// </summary><br /><br />public static void SetFieldValueUrl(this SPListItem item, string fieldName, string url, string description)<br />{<br /> if (item != null)<br /> {<br /> item[fieldName] = new SPFieldUrlValue() <br /> { <br /> Description = description, <br /> Url = url <br /> };<br /> }<br />}<br /><br /><br />Example:<br /><br />// Set the url and description of a SPFieldUrl field<br />item.SetFieldValueUrl("URL", "http://www.TestSite.com", "Test' Blog");Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0tag:blogger.com,1999:blog-5850617898745749259.post-81112514363947131482010-02-17T06:07:00.001-08:002010-02-17T06:38:04.601-08:00Setting Multiple Values of SPFieldLookup Column Programmatically .../// <summary><br />/// Set the values of a Lookup-Field with multiple values allowed.<br />/// </summary><br /><br />public static void SetFieldValueLookup(this SPListItem item, string fieldName, IEnumerable<string> lookupValues)<br />{<br /> if (item != null)<br /> {<br /> SPFieldLookup field = item.Fields.GetField(fieldName) as SPFieldLookup;<br /> <br /> SPFieldLookupValueCollection fieldValues = new SPFieldLookupValueCollection();<br /> <br /> foreach (string lookupValue in lookupValues)<br /> {<br /> fieldValues.Add(GetLookupValue(item.Web, field, lookupValue));<br /> }<br /> item[fieldName] = fieldValues;<br /> }<br />}<br /><br /><br />Example:<br /><br />//Set the value of a SPFieldLookup field with multiple values allowed<br /><br />string[] values = {"Hamburg", "London" };<br />item.SetFieldValueLookup("MultiLookupFieldName", values);Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0tag:blogger.com,1999:blog-5850617898745749259.post-26517569374629838162010-02-17T06:04:00.000-08:002010-02-17T06:38:04.603-08:00Setting Single Value of SPFieldLookup Column Programmatically .../// <summary><br />/// Sets the value of a Lookup-Field.<br />/// </summary><br /><br />public static void SetFieldValueLookup(this SPListItem item, string fieldName, string lookupValue)<br />{<br /> if (item != null)<br /> {<br /> SPFieldLookup field = item.Fields.GetField(fieldName) as SPFieldLookup;<br /> item[fieldName] = GetLookupValue(item.Web, field, lookupValue);<br /> }<br /> else<br /> {<br /> item[fieldName] = null;<br /> }<br />}<br /><br /><br />Example:<br /><br />// Set the value of a SPFieldLookup field<br /><br />item.SetFieldValueLookup("LookupFieldName", "LookupValue");Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0tag:blogger.com,1999:blog-5850617898745749259.post-80207323488829473832010-02-17T05:58:00.000-08:002010-02-17T06:38:04.607-08:00Reading Multiple Values of SPFieldLookup Column Programmatically ...// <summary><br />// Returns the value of a Lookup-Field with multiple values.<br />// </summary><br /><br />public static IEnumerable<string> GetFieldValueLookupCollection(this SPListItem item, string fieldName)<br />{<br />List<string> result = new List<string>();<br />if (item != null)<br />{<br />SPFieldLookupValueCollection values = item[fieldName] as SPFieldLookupValueCollection;<br /><br />foreach (SPFieldLookupValue value in values)<br />{<br />result.Add(value.LookupValue);<br />}<br />}<br />return result;<br />}<br /><br /><br />Example:<br />// Read lookup values of a SPFieldLookup field with multiple values allowed<br /><br />IEnumerable<string> values = item.GetFieldValueLookupCollection("MultiLookupFieldName");Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0tag:blogger.com,1999:blog-5850617898745749259.post-44693514804282635992010-02-17T05:49:00.000-08:002010-02-17T06:38:04.609-08:00Reading Single Value of SPFieldLookup Column Programmatically ...// <summary><summary><br />// Returns the Single Value of a Lookup Field.<br />// </summary></summary><br /><br />private static string GetFieldValueLookup(this SPListItem item, string fieldName)<br />{<br /> if (item != null)<br /> {<br /> SPFieldLookupValue lookupValue = new SPFieldLookupValue(item[fieldName] as string);<br /> return lookupValue.LookupValue;<br /> }<br /> else<br /> {<br /> return string.Empty;<br /> }<br />}<br /><br /><br />Example:<br />// Reads the value of a SPFieldLookup field<br />string value = item.GetFieldValueLookup("LookupFieldName");Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0tag:blogger.com,1999:blog-5850617898745749259.post-47510093494581554302009-06-03T06:28:00.000-07:002009-06-03T07:05:55.774-07:00"Access Denied" error when creating new page in pages libraryRecently discovered an issue in SharePoint 2007 when creating a new Page under Pages Library, we were getting "Access Denied" error message in "CreatePage.aspx" page. The users accessing the site have "Full Control" and they are getting the "Create Page" option in the "Site Actions" menu, so this should not be a security problem. This was really shocking and finally could find a solution for the same. The User or Group needs to also have "Read" permission to the master page gallery, and then this works fine.<br />Resolution:<br /><ul><li>Go to Site Actions -> Site Settings -> Modify All Site Settings.</li><li>Go to Galleries -> Master pages and page layouts.</li><li>Within the Master pages library/list, Select Settings -> Document Library Settings.</li><li>Select Permissions for this document library.</li><li>Add "Restricted Read" access to the User or Group.</li></ul><p>After this we should not have any issue in creating Pages in pages library.</p>Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com1tag:blogger.com,1999:blog-5850617898745749259.post-23415613449868482372009-06-02T05:01:00.000-07:002009-06-03T04:53:41.018-07:00SharePoint 2007 Permission Levels<div>A SharePoint Permission Levels are group of permissions that can be granted to users or SharePoint groups so that they can perform specific actions on securable objects such as a site, library, list, folder, item, or document on your site. Permission levels allow you to group permissions and apply them to users and SharePoint groups on various sites in your SharePoint.<br /><br />When you create a SharePoint site, there are five permission levels provided by default:<br /><ul><br /><li><strong>Full Control:</strong> allows users or groups full control over a site. Full Control is the least restrictive permission level. You can not modify or remove this permission level.</li><br /><li><strong>Design:</strong> allows users or groups to view, add, update, delete, approve, and customize lists, libraries, and pages on your site, including themes and style sheets.</li><br /><li><strong>Contribute:</strong> allows users or groups to view, add, update, and delete previously created list items and document libraries. </li><br /><li><strong>Read:</strong> allows users or groups to read pages on the site including the resource libraries. Read is the most restrictive permission level.</li><br /><li><strong>Limited Access:</strong> is a permission level that is automatically assigned to a user or group and therefore cannot be directly assigned by the administrator. It is used when you assign the users or groups to a child object of a parent object to which they do not have access. You can not modify or remove this permission level.</li></ul></div><br />Click on below image to enlarge...<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3YZw41sTPtVBHkBJELUFlXGYcE9kZISARfDVwEGHljwJ-M6VfOH4L66XWfyILcvNB_alD0F4ChTn6ehuXhMsIY0PFHopoYLFWINdRN9B03zFfYOhNT12y5hldybOvF16_HGWtIZpYevih/s1600-h/MOSS+2007+Permission+Levels.JPG"><img id="BLOGGER_PHOTO_ID_5343067378485385314" style="WIDTH: 365px; CURSOR: hand; HEIGHT: 400px" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3YZw41sTPtVBHkBJELUFlXGYcE9kZISARfDVwEGHljwJ-M6VfOH4L66XWfyILcvNB_alD0F4ChTn6ehuXhMsIY0PFHopoYLFWINdRN9B03zFfYOhNT12y5hldybOvF16_HGWtIZpYevih/s400/MOSS+2007+Permission+Levels.JPG" border="0" /></a>Sreedhar Chavalihttp://www.blogger.com/profile/07439053706133433501noreply@blogger.com0