Showing posts with label Sharepoint. Show all posts
Showing posts with label Sharepoint. Show all posts

Thursday, July 12, 2018

SharePoint 2010 – Unable to edit cell in Datasheet view – “This cell is read only”


When I try to edit the excel in SharePoint 2010 list in Datasheet view, I see an error saying that “The Selected Cells are Read-only” as shown the image below.


  • I have verified user Permissions to the list. User Having Full control permissions to the list
  • Checked-out by any one (It is not document library)
  • Any Attachments having read-only – NO
  • Is current column is default system column? (Like Created, Modified Etc..) – NO
After checking all these details, I found Microsoft Support article about the fix. We have Content Approval enabled in the list and that is blocking DataSheet View edit. By Turning Off the Content Approval, We can fix the error.

Here are the steps to turn off content approvals,
  • In the List select Settings
  • Select List Settings
  • Select Versioning Settings
  • In the Content Approval section select No for "Require content approval for submitted items"

Now we can able to edit the items in DataSheet view.
Hope this helps.

Thursday, June 14, 2018

SharePoint 2013 security patch issue – AccessKey too long, cannot be more than one character


After installing SharePoint 2013 march updates, when I try to configure User Profile Service Application I got an error saying that - AccessKey too long, cannot be more than one character. By seeing the SharePoint logs, I found an error saying that

Application error when access /_layouts/15/ProfileSynchronizationServiceProvisionPage.aspx, Error=AccessKey too long, cannot be more than one character. Parameter name: value
 at System.Web.UI.WebControls.WebControl.set_AccessKey(String value)
 at Microsoft.SharePoint.Portal.WebControls.InputFormButtonAtBottom.set_AccessKeyLocId(LocStringId value)
 at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControl__control11()
 at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControlProfileSyncProvisionSettingsForm()
 at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControl__control4(Control __ctrl)
 at System.Web.UI.MasterPage.InstantiateInContentPlaceHolder(Control contentPlaceHolder, ITemplate template)
 at ASP._admin_admin_master.__BuildControlDeltaPlaceHolderMain()
 at ASP._admin_admin_master.__BuildControl__control27()
 at ASP._admin_admin_master.__BuildControlSPHtmlTag()
 at ASP._admin_admin_master.__BuildControlTree(_admin_admin_master __ctrl)
 at System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection)
 at System.Web.UI.Page.ApplyMasterPage()
 at System.Web.UI.Page.PerformPreInit()
 at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

I have verified the details about the issue I don’t see any clues about the issue. Some suggested to replace the /_layouts/15/ProfileSynchronizationServiceProvisionPage.aspx file from Stage/Dev. But I cannot risk that with my production environment. I have seen same issue few other people and they have the same error after installing March 2018 updates as the TechNet forum.

After two days Stefan Goßner posted the fix for the issue.  Here are the steps to fix the issue,
  1. Delete the content of the following folder:
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
  2. Restart IIS . This will allow aspx pages to recompile.




Saturday, July 29, 2017

SharePoint list Nintex form error – “The app Nintex Forms for Office 365 is out of date. Please update the app.”

While working with Nintex form in office 365 site I got an error saying that “The app Nintex Forms for Office 365 is out of date. Please update the app.” as shown the image below.



As I am new to Nintex forms, thought this is update news from Nintex team and tried to verify the option to update the Nintex forms by clicking on the Nintex forms in site contents. But I am unable find any update link on the app.

Going through few blog posts, I got the reason for the error. We got the error because of the script in the form. I wrote alet(‘hi’) instead alert(‘hi’). Silly right? Yes sometimes happens.

After fixing the error I am able to open the form without errors. 

Saturday, June 20, 2015

SharePoint 2013 error – Site stuck up in Read-only mode after interrupted backup

While working with SharePoint 2013 restore and backup I got interesting error in one of my host named site collection (I hope this is generic issue, not specific to host named site collection) saying as shown the image below.



When I try to fix this issue from SharePoint central administration quotas, all the options are disabled and unable to change anything as shown the image below.


By going through some of the blogs, I got the issue. In SharePoint 2013, we are having Manintanence Mode property for SPSite makes SharePoint site is undergoing a Maintenance & is read only. We can set this SharePoint site when content DB is in read only state, or when SharePoint site upgrade, moving SharePoint site in process.
We can fix this error by clearing ClearMaintenanceMode method in SpSiteAdministration object. We can do this by running following command,
$Site = new-object Microsoft.SharePoint.Administration.SPSiteAdministration(SITE URL)  $Site.ClearMaintenanceMode()
This fixed my issue. Hope this helps.



Friday, May 8, 2015

Prevent users to create the my sites in SharePoint

In one of my SharePoint environment, we had issue with my sites. When users click on about us, it automatically creates my site for all the user. All these my sites are created as a site collections in the web application.



We have 2000 people accessing the site and every user creating new my site. So it will be 2000 site collection in one web application. SharePoint can handle that, but we not using any my site features in our environment.
For this we just need to prevent the users to create my sites. We can do that from central admin site User profile service settings as shown below.

Open SharePoint central admin site User profile Service application. Select manage user Permissions.



We can see a popup as shown below. Select Authenticated users and uncheck “Create personal sites” option as shown the image below.
Click on Ok to save the settings.



Hope this will helps.


Monday, April 27, 2015

SharePoint – Back to basics – SPLongOperation for lengthy operations

We have many hidden features in SharePoint in look and feel in Out of Box as well as custom. SPLongOperation One of the hidden feature in custom coding side. This feature exists from SharePoint but many of the users may not be aware of this. SPLongOpearation allows us to inform end users on processing screen while operating lengthy operations like moving documents from one site other, deleting sites etc... And at the end we can have options to close/ redirect the page.

Here is the sample code on usage of SPLongOperation,

               try{
                              using (SPLongOperation longOpearation = new SPLongOperation(this.Page))
                              {
                                             longOpearation.LeadingHTML = "Title of the long operation";//title message
                                             longOpearation.TrailingHTML = "this will take few sec”//sub message
                                              longOpearation.Begin();
                                             //Code start
                                             //Write the code that to be processed in long operation
                                             //code ends
                                               HttpContext context = HttpContext.Current;
                                             if (context.Request.QueryString["IsDlg"] != null)
                                             {
                                                            context.Response.Write("<script type='text/javascript'>window.frameElement.commitPopup();</script>");
                                                            context.Response.Flush();
                                                            context.Response.End();
                                              }
                                              else
                                              {
                                                             string url = SPContext.Current.Web.Url;
 longOpearation.End(url, SPRedirectFlags.CheckUrl, context, string.Empty);
                                             }

                              }
               }
               catch (Exception ex)
              {
                              SPUtility.TransferToErrorPage(ex.ToString());//transfores us to the error page with error message
               }

In the Begin and End methods for long operation we can have different overloaded methods. By using SPLongOperation.Begin method (String, String, SPLongOperation.BeginOperation) method we can pass title and sub message. Here in the script end method, iam passing redirection URL and checking flags and current context. For more details, here is the full description in msdn.



Sunday, April 26, 2015

SharePoint error – A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible.

While working on one of the existing SharePoint server, I tried to open the SharePoint central admin site. I got an error saying that “A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible.” As shown the image below.



This is the error due to SQL server service got stopped. To fix the error we have to run the SQL Service as shown the image below.



But in my case, MSSQLSERVER service is started and running. Restarted the service, but it wasn’t worked for me. By digging in to the deep I got few details from system admin. The farm I am working is already had few sites. But before handing that to me all the sites deleted from SQL server. When I try to access the CA site it gives the error message.

Restarted SharePoint timer service, SQL server and all the servers in the farm. Nothing worked for me. Finally ran SharePoint configuration wizard. Super... it worked for me. Now I got the issue that some of my farm users deleted DB’s in sql server directly instead deleting form CA. By running the config wizard


Tuesday, April 21, 2015

SharePoint 2016…? Yes..!! it is on the way

Most of us are updated from SharePoint 2010 to 2013 recently. But here is another announcement from Microsoft regarding another new update in SharePoint – SharePoint 2016. As per SharePoint office blogs, SharePoint 2016 will be available from 2nd Quarter of 2016. Beta version might be 4th quarter of 2015.

Looks like rein this version Microsoft people most concerned on the customers using on-premises, cloud and hybrid deployments in the future and SharePoint integration with Microsoft Ignite. As per Microsoft people SharePoint 2016 concerned more on better content management, team collaboration and greater UI features all the devices.

Better UI experience: We have to make better and quick decisions to increase the effectiveness of any of the company. SharePoint 2016 provides us improved access to mobile devices to view all the content in SharePoint, permission details on different devices with touch based experience as the more in people-centric. This will be available in SharePoint on-premises and office 365 environments in SharePoint 2016. By using office graph and delve users can able to discover the relevant information stored in on-premises and cloud based environments. In SharePoint 2016, MS people more focused on integrating with Exchange and Yammer applications.

Cloud based infrastructure: SharePoint 2016 designed in the way that experiencing SharePoint on-premises as office 365 and invested more on improving the performance, reliability and scalability on hybrid environment to behave like on-premises environments. With rich UI, improved performance, this will integrate with the next release products such as Windows Servers, exchange server 2016 and next release of SQL server.

Compliances and Reporting: SharePoint server 2016 provides list of features to protect sensitive information introducing Data Loss Prevention. Data Loss Prevention is non-negotiable, and overexposure to information can have legal and compliance implications. With the use of enabling data encryption and compliance tools in on-premises environment and enabling user self-service and ensuring content usage adheres to corporate policy in office 365 environment data will be protected.

There are many things added in SharePoint server 2016. Waiting for most another successful product. Follow me to get more updates.

Source: Office Blogs




Saturday, March 21, 2015

Exception from hresult 0x800a03ec excel - Error ‘Microsoft Office Excel cannot access the file’ while accessing Microsoft Office 11.0 Object Library

We got this error with SharePoint 2007 farm custom coding. Code downloads all the list items to excel template. Generally we can see this error with rows updating in excel. But we haven’t changed anything from DEV to PROD. We have investigated the error in SharePoint logs and Event logs.
We are seeing the error as there are several possible reasons: 
·           The file name or path does not exist.
·           The file is being used by another program.
·           The workbook you are trying to save has the same name as a currently open workbook.
After checking the issue. We have found that there is the error with excel service. To fix that we have to create a folder.

If we are running in Windows Server 2008 64-bit/R2,
·           Navigate to C:\Windows\SysWOW64\config\systemprofile folder and create the following directory “Desktop”
If we are running in Windows Server 32-bit
·           Navigate to C:\Windows\System32\config\systemprofile\Desktop folder and create the following directory “Desktop”

If still you have the issue, you have to change the security setting to run excel application using following steps,

·           Start –> enter DCOMCNFG.exe to open Component Service
·           This will bring up the component services window, expand out "Console Root" -> "Computers" -> "DCOM Config"
·           Find "Microsoft Excel Application" in the list of components.
·           Right click on the entry and select "Properties"
·           Go to the "Identity" tab on the properties dialog.
·           Select "The interactive user."
·           Click the "OK" button.
·           Switch to the services console
·           Start the service automating Excel
·           Test you application again.


Enable Windows authentication in IIS if excel application in your site prompting for credentials.

Saturday, March 14, 2015

Get all the site collection with content DB details using powershell commands

As discussed earlier power shell commands are pretty powerful than SharePoint object model code. Some time we can't run SharePoint object model code in production environment like gathering site/server/DB details.

We can get sites and content DB details using following power shell commands 


$rootSite=New-Object Microsoft.SharePoint.SPSite("Web app URL")
$spWebApp = $rootSite.WebApplication 
foreach($site in $spWebApp.Sites) {
    
    write-output "$($site.RootWeb.Url) - $($site.ContentDatabase)"     
  
    $site.Dispose() 


Wednesday, March 11, 2015

SharePoint 2010 site accessing error - The server is busy now. Try again later

While accessing ee.ihess.com (SharePoint 2010) site, I got the error saying that “The server is busy now. Try again later” as shown the image below.


We can get this error when on the processes/services taking up the bulk of your server resources you can take different actions to reduce this overload (For example: recycling the timer service more often). We have the option to turn off HTTP throttling for an entire web application in Central Administration.
We can fix this error by using the steps below
  • Navigate to Central Admin > Application Management > Manage Web Applications. 
  • Select the problematic Web App > Select the down arrow next to General Settings and click Resource Throttling.

  • On the bottom of the window there will be an option to turn HTTP Request monitoring and Throttling Off. Click OK to save changes.



Sunday, December 14, 2014

SharePoint deployment – Back to basics – WSP stuck on “Deploying” state

While deploying a WSP in one of my SharePoint 2010 project, wsp stuck on “Deploying” state. I am Deploying the solution with farm admin credentials using Central Administration globally. But the status was “Deploying” for long time.

I have spent almost 2 hours on that but still the state is on “Deploying”. By verifying the few blog posts on the same error by running all the administration service jobs using stsadm.exe – o execadmsvcjobs issue may fixed.



I ran the command but still the Deployment status showing “Deploying”. I have restarted OWS Timer Service on all the servers in the farm. Finally all the Deployments ran successfully. 

SharePoint 2013 error – The server was unable to save the form at this error

While working with SharePoint 2013 list, saving the data I got an error saying that “The server was unable to save at this time. Please try again.” As shown the image below.

By checking the logs I have found following error “Memory gates checking failed because the free memory is less than 5% of total memory. As a result, the service will not be available for incoming requests. To resolve this, either reduce the load on the machine or adjust the value of minFreeMemoryPercentageToActivateService on the serviceHostingEnvironment config element.


After verifying the details in event logs, Services and Task Manager Details, I have found that error causing low memory. To fix this error we have to restart “SharePoint Search Host Control” and “SharePoint Administration service”. By refreshing this error we can have a lot of memory will be freed. We have same error when custom application deployed without disposing object. In that case we need to reset the IIS. By resetting the IIS We can save the list data without error.
Hope this helps.


Wednesday, November 5, 2014

SharePoint OWA Power Point error - Sorry, PowerPoint Web App Ran into a problem opening this presentation.

In SharePoint 2013 environment I got an error PowerPoint while previewing the document. Error message states that “sorry PowerPoint web app ran into a problem opening this presentation to view this presentation please open it in Microsoft PowerPoint” as shown the image below.



I am seeing this only one Power Point documents only. Word apps and all the other office are working as expected. By double clicking on the document it is opening as expected.
I have verified ULS logs and IIS logs on trouble shooting this error. I didn’t any information on this error. Tried using fiddler to get any of the information. But no luck. Verified few posts and did following,
  •  Tried to rebuild the Office Web App servers
  •   By passed the host files targeting OWA server
  •  Changed service accounts

All of the options are not worked. Finally one of the post suggested to clear the cache in “d” folder on “C:\ProgramData\Microsoft\OfficeWebApps\Working\d” location in Office Web App server as shown the image below (drive is dependent. In my case it is C:\ If you didn’t find ProgramData, you have set folder option to show the hidden files.)


Go the folder location and remove all the files in the folder (back up all the files instead of deleting). Wow…. It worked like a charm. Almost 3 days I worked on this issue but resolution is this much simple.

Hope this helps..!!!


Sunday, November 2, 2014

SharePoint back basics – move site collection to another content Database using PowerShell commands

Yes, we can move SharePoint site collection form one content DB to another Content database. But before moving the database we need to check following things,
  • New content database should be exists on the same server and it needs to be under the same web application.
  • The account used to move the site collection should be WSS_ADMIN_WPG group and account need to have db_owner permissions.

Before moving the content Db we have verify the size of the DB by using following command,

$spaceUsedinDB = (Get-SPSiteAdministration -Identity (SiteCollection URL).DiskUsed
$spaceUsedinDB

To move the site collection to the new content DB create a new content DB in SharePoint central Admin by navigating to Application management -> Manage Content Database -> Create new Content Database




Run following command in SharePoint management shell,

Move-SPSite SiteCollection URL -DestinationDatabase Target_Content_DB_Name

This operation will take time depending on the site collection size. 

Wednesday, October 29, 2014

Infopath Error: The Query cannot run, Infopath cannot run the specified query. Access denied.

 Creating a InfoPath form for a document library in one of my project, publish the infopath form I got an error saying that “InfoPath cannot run the specified query. Access is denied”.
I have verified few blog posts and verified following options,
  • Permissions to document library and site – Yes iam having Full Control over site and Document library
  • Domain – Yes iam in VPN with the same network

But User cannot submit a form to SharePoint if the security level is ‘Restricted’ . We need to have Domain Trust should be Full Control or more.
To grant Full control we have to follow the steps below,
In the InfoPath File Click on “Form Options” as shown the image below,



In Form Option popup, Security and Trust, Select “Full Trust” on security level as shown the image below.



Click on Ok to save the settings. Now we can publish the InfoPath form with out errors. 

Sunday, September 21, 2014

SharePoint InfoPath form Allow anonymous users to enter data

SharePoint InfoPath forms is one of the way to enter data into SharePoint. To allow anonymous users to enter the data in the forms we have to follow the steps below,
  • Configure Anonymous access to SharePoint site
  • Create a list that to submit data anonymously, Change anonymous permissions to the list and update list form to InfoPath form

To configure Anonymous access to Site, navigate to SharePoint central Administration, Navigate to Application management -> Manage Web Applications.

Select the web application, click on “Authentication Providers” in the ribbon. Check “Enable anonymous access” checkbox to Enable Anonymous Access to web application.



To Enable Anonymous access to SharePoint site, Navigate to SharePoint site where we need to allow users enable anonymous access. Open Site Settings, Select Site Permissions. In Ribbon, Permissions Tools section, click on Anonymous access button.



Select Entire Web site option in Anonymous access popup.



Create a List in the site. In List permissions, Break permissions from Parent and Enable Anonymous access to Add items to list.














Customize the InfoPath form by  using Customize List option in the ribbon. 


Tuesday, September 16, 2014

SharePoint content type error “The content type is in use”

One of my project from recent times I was worked on content hub to manage the content types in SharePoint. While changing the content type name, I got an error saying that “The content type is in use” as shown the image below.



I have checked all the content types in current site, I haven’t seen any content type with the current name. By checking few blogs like mavention and sympmarc I got the reasons for this error.

There many reasons for this issue as listed below,

Content type still exists in Site: Even we can’t see the content type in SharePoint content type gallery, it may exists in Recycle Bin (Site Recycle Bin or Site collection Recycle Bin). We have to remove the content type from Recycle Bin too. To remove the content type from Site Collection Recycle Bin, we need to have Site Collection privileges on Site Collection.

Other users might have associated anywhere? There is another chance that other users might have associated with the content type that we can’t see. We can see this behavior in SharePoint document libraries. We can check this by navigating to SharePoint Library settings and click on Manage Check out files. We can see the list of items belongs to other users. If it ok, take the owner ship of the items and check-in them.

Minor Versions:  We have one more possibility that there are some items may checked-in with minor versions in the List/Library. We have to check the appropriate items and need to publish the items with major versions.
This may helps.


Wednesday, September 10, 2014

Check SharePoint service status using SharePoint object model

By using SharePoint object model we can retrieve the User Profile Service information like User Profiles and user group details from UserProfileManager class. Some times we can see “UserProfileApplicationNotAvailable” error. We can check service availability details using following code block.

public bool IsCurrentServiceisInStart(string serviceName)
{
    bool currentServiceisInStart = false;

    SPService currentService = SPFarm.Local.Services.FirstOrDefault(s => s.TypeName.Equals(serviceName));

    if (currentService!= null )
    {
        SPServiceInstance serviceInstance  = service.Instances.FirstOrDefault(i => i.Status == SPObjectStatus.Online);
        If(serviceInstance !=null)
                currentServiceisInStart=true;
    }

    return currentServiceisInStart;

}

We can check the current service from SharePoint local services by mentioning the service application details as “SPFarm.Local.Services.FirstOrDefault” command in Linq.

We can use this code block while calling SharePoint service application. Hope this will help.

Sunday, September 7, 2014

SharePoint – Back to basics – Impersonate user programmatically

In SharePoint custom development activities, we have to impersonate the user to view SharePoint contents. To impersonate user in SharePoint we need to have the account that having privileges (generally in Run with elevated privileges “System Account” will be used) or user tokens.
To handle with System Account, we can use following code block,

SPSite parentSite = new SPSite(siteURL);

SPUserToken systemToken = parentSite.SystemAccount.UserToken;

using (SPSite site = new SPSite(siteURL, systemToken))
{
    using (SPWeb web = site.OpenWeb())
    {
        // Code to be run
    }
}

We can impersonate the by using following code by getting the user token of the user to switch as shown the code below,

SPUserToken userToken = web.AllUsers[user].UserToken;

// Create an SPSite object in the context of the user
SPSite site = new SPSite(siteURL, userToken)
SPWeb web = site.OpenWeb();

//Add code here.

To run this code, we need to run the code System account