Sunday, January 4, 2015

Unable to add iframe in Content Editor WebPart SharePoint 2013 & IE 11

Using SharePoint 2013, IE 11

Issue: Cannot add iframe in Content Editor WebPart. Source page added in iframe is not getting displayed in IE 11. Works fine in Firefox and chrome browsers.

Script used: <iframe  id="iFrameBox" src="http://servername.com/page.html"></iframe>


Resolution: Add the script to load the source file on document ready function.

<script language="javascript" type="text/javascript">
 $(document).ready(function(){
       $("#iFrameBox").attr("src","
http://servername.com/page.html");
 });

</script>

<iframe  id="iFrameBox" src=""></iframe>

Tuesday, November 25, 2014

Too many characters in character literal

Issue: Getting "Too many characters in character literal" error when try to build a SharePoint project. Error in the following line of code in application page
Assembly Name="$SharePoint.Project.AssemblyFullName$"

Cause: Since the SharePoint project is a sandboxed solution, Sandboxed solutions do not support the application pages.
Referencehttp://msdn.microsoft.com/en-us/library/ee231562.aspx

Resolution: Fixed it by changing the solution from Sandbox to farm.

Thursday, September 4, 2014

Remove duplicate Array from JArray

To remove duplicate array from JArray.


private static string RemoveDuplicateTasks(JArray strArray)
        {

            JArray uniqueArray = new JArray();
            StringBuilder jsonResponse = new StringBuilder();

            //Loop through each array and find for array value with a specific column name. (ex: ID)
            foreach (JObject jObject in strArray)
            {
                //Verify if the ID column value exist in the uniqueArray
                JObject rowObject = uniqueArray.Children<JObject>().FirstOrDefault(o => o["id"] != null && o["id"].ToString() == jObject.Property("id").Value.ToString());

                //rowObject will be null if these is no match for the value in ID column
                if (rowObject == null)
                {
                    uniqueArray.Add(jObject);
                }
            }

            //Remove the curly braces { }
            int strLength = uniqueArray.ToString().Length;
            string strValue = uniqueArray.ToString().Substring(1, (strLength - 2));
            jsonResponse.Append((jsonResponse.Length > 0 ? "," : "") + strValue);
            return "[" + jsonResponse.ToString() + "]";
        }

Wednesday, July 9, 2014

Get SharePoint Groups added at Web level programmatically

To get SharePoint groups added to the specific web site/subsite level. Assumption is that the subsite is not inheriting permissions.

  private static List<string> GetAllWebGroups(string webUrl)
        {
            List<string> lstGroups = new List<string>();

            try
            {
                SPSecurity.RunWithElevatedPrivileges(delegate
                {
                    using (SPSite site = new SPSite(webUrl))
                    {
                        using (SPWeb spWeb = site.OpenWeb())
                        {
                            foreach (SPRoleAssignment roleAssignment in spWeb.RoleAssignments)
                            {
                                if (roleAssignment.Member is SPGroup)
                                {
                                    foreach (SPRoleDefinition roleDefinition in roleAssignment.RoleDefinitionBindings)
                                    {
                                       // To get groups with specific role .
                                       //  SPRoleType.Editor does not work for SharePoint 2010
                                      /*The following condition will not return custom roles, remove this condition in case                                        you want to display all groups.*/
                 
                                        if (roleDefinition.Type == SPRoleType.Reader ||
                                            roleDefinition.Type == SPRoleType.Contributor ||
                                            roleDefinition.Type == SPRoleType.WebDesigner ||
                                            roleDefinition.Type == SPRoleType.Administrator)
                                        {
                                            if (!lstGroups.Exists(delegate(string sGroupName) { return sGroupName == roleAssignment.Member.Name; }))
                                                lstGroups.Add(roleAssignment.Member.Name);
                                        }
                                    }
                                 
                                }
                            }
                        }
                    }
                });
            }

Friday, May 16, 2014

Cannot complete this action as the Secure Store Shared Service is not responding. Please contact your administrator.

Using SharePoint 2013;

In IIS, change the secure store service Application pool identity to a dedicated user if it is pointed to Network service/Local Service.

Tuesday, May 6, 2014

Error when creating new user group in SharePoint 2010 using Internet Explorer 9/10/11

Environment: SharePoint 2010, IE 9/10/11

Scenario: Create new SharePoint user group

Error:

Error

An unexpected error has occurred.
Troubleshoot issues with Microsoft SharePoint Foundation.
Correlation ID: ad4b6182-60df-4a07-998c-c4f11d82c500
Date and Time: 5/6/2014 5:10:53 AM

Resolution: Apply cumulative hot fix

April 2014 Update
SharePoint Foundation 2010

SharePoint Server 2010


Friday, April 4, 2014

Add Sign in as different user menu in SharePoint 2013

Using SharePoint 2013;

This project adds "Sign in as different user" option in SharePoint 2013, which was not enabled out of the box. Build the project and deploy the WSP to SharePoint. The feature to add the menu is scoped at web level. The feature will be activated by default on the site collection.

Click here to download the source code.