24 October, 2012

Duplicates entries in SharePoint Datasheet view Export to Spreadsheet


ISSUE:
Duplicate items appear when viewing items in Datasheet view in SharePoint.  This also happens when using the Export to Spreadsheet (Excel).  If duplicates appear in Datasheet view, they will also appear during Export to Spreadsheet and vice versa.

DESCRIPTION:
The list has got versioning switched off, and views fine in standard list view. However, when you switch to either datasheet view or Excel Export it shows the same rows up to three times in sequential rows.

WORAROUND/SOLUTION:
The affected lists have a REQUIRED lookup field which allows multiple values.
If you have a view that does NOT include this field and it is either a datasheet or you "Switch to Datasheet" then datasheet shows duplicate items depending on how many multi-values are selected.   

Our work-around was to create a specific Datasheet view with the field included.  The multi-value field does not show in datasheet, because multi-value lookup fields don't seem to work in datasheet.  However, it's important to include the field in the view to avoid duplicates.

Unfortunately, if you have a view that does not include the field and then "Switch to Datasheet" you will encounter the same problem.

The duplicates appear also when you try to Export to Excel.  If you have a view that would be affected by the "Switch to Datasheet" duplicates problem, when you try to Export to Excel, it will also appear.

So before you uncheck multiple values make sure you do it with the consent of the user.

Reference:


Specified argument was out of the range of valid values/Provisioning did not succeed/The feature failed to activate

Most of the SharePoint problems revolves around features, activations, publishing, enterprise, solutions and so on…Today I was working with one user and he was facing some error message while activating publishing feature at the site level.

What exactly those error messages: (3 different error messages)

Specified argument was out of the range of valid values.
Parameter name: ContentTypeId   at Microsoft.SharePoint.SPContentTypeBindingElement.EnsureContentTypeExists(SPWeb web)
   at Microsoft.SharePoint.SPContentTypeBindingElement.ElementActivated(SPFeaturePropertyCollection props, SPSqlCommand sqlcmdAppendOnly, SPWebApplication webApp, SPSite site, SPWeb web, Boolean fForce)
   at Microsoft.SharePoint.Administration.SPElementDefinitionCollection.ProvisionContentTypeAndEventReceiverBindings(SPFeaturePropertyCollection props, SPSite site, SPWeb web, Boolean fForce)
   at Microsoft.SharePoint.Administration.SPElementDefinitionCollection.ProvisionElements(SPFeaturePropertyCollection props, SPWebApplication webapp, SPSite site, SPWeb web, Boolean fForce)
   at Microsoft.SharePoint.SPFeature.ProvisionElements(SPFeaturePropertyCollection props, SPWebApplication webapp, SPSite site, SPWeb web, Boolean fForce)
   at Microsoft.SharePoint.SPFeature.Activate(SPSite siteParent, SPWeb webParent, SPFeaturePropertyCollection props, Boolean fForce)
   at Microsoft.SharePoint.SPFeatureCollection.AddInternal(Guid featureId, SPFeaturePropertyCollection properties, Boolean force, Boolean fMarkOnly)
   at Microsoft.SharePoint.SPFeatureCollection.Add(Guid featureId, Boolean force)
   at Microsoft.SharePoint.SPFeatureCollection.CheckSameScopeDependency(SPFeatureDefinition featdefDependant, SPFeatureDefinition featdefDependency, Boolean fActivateHidden, Boolean fForce)
   at Microsoft.SharePoint.SPFeatureCollection.CheckFeatureDependency(SPFeatureDefinition featdefDependant, SPFeatureDependency featdep, Boolean fActivateHidden, Boolean fForce)
   at Microsoft.SharePoint.SPFeatureCollection.CheckFeatureDependencies(Guid featidDependee, Boolean fActivateHidden, Boolean fForce)
   at Microsoft.SharePoint.SPFeatureCollection.AddInternal(Guid featureId, SPFeaturePropertyCollection properties, Boolean force, Boolean fMarkOnly)
   at Microsoft.SharePoint.SPFeatureCollection.Add(Guid featureId)
   at Microsoft.SharePoint.WebControls.FeatureActivator.BtnActivateFeature_Click(Object objSender, EventArgs evtargs)
   at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
   at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
   at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Provisioning did not succeed. Details: Failed to create the 'Pages' library. Ori
ginalException: Content type '0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130E
C3DB064584E219954237AF39' not found in web 'https://sharepointknowledgemanagement.net/sites/DemoSite'.

The feature failed to activate because a list at 'Documents' already exists in this site.  Delete or rename the list and try activating the feature again.    at Microsoft.SharePoint.Publishing.Internal.ProvisioningHelper.AddList(SPListCollection lists, String urlName, String title, String description, Guid featureId, Int32 templateType, Boolean& newListCreated)
   at Microsoft.SharePoint.Publishing.Internal.ProvisioningHelper.AddList(SPListCollection lists, String urlName, String title, String description, Guid featureId, SPListTemplateType templateType, Boolean& newListCreated)
   at Microsoft.SharePoint.Publishing.Internal.AreaProvisioner.CreateDocumentsDocumentLibrary(SPList approvalTaskList)

Troubleshooting steps:

Try activating the publishing feature at the site collection level. If it’s successful then forthcoming issues will also gets resolved and you can successfully activates the feature at the subsite level too.

If the error message stated that the list is already exist then open the site (on which you are facing problems) in SPD (SharePoint Designer). You will see the same list that was reflected in the error message. Either delete it or rename it and then try to activate the feature. It will be successful.

If you are facing problems by means of GUI then try to activate the same by means of stsadm command.

Check the ULS logs for detail error messages

Check event logs for any specific event ID’s

Isolate the problem specific to a site, site collection, list, and particular feature at which level. 

If you have any queries/questions regarding the above mentioned information then please let me know. I would be more than happy to help you as well as resolves your issues. Thank you

Preventing Lync Server 2010 certificate expiration


Problem Description:
A Lync Server Certificate is about to expire in a few days:
·         An expired certificate will cause the Lync Server 2010 services to not start
·         An expired certificate may communication between Lync Server 2010 Server roles to fail
 
More details:
There are two way to locate information about the certificate that is associated with the Lync Server 2010 server

Method 1: Using Lync Server Deployment Wizard

Note You can also request a certificate from an internal CA, or assign an existing certificate from this wizard.
1.      Launch the Lync Server Deployment Wizard from the Windows Start menu on the Lync Server 2010 server
2.      Click on “Install or Update Lync Server System”
3.      Click run on Step 3: Request, Install or Assign Certificates
4.      Use the Certificate Wizard to view all the certificates that are installed for the Lync Server 2010 server

Method 2: Using Lync Management Shell

Use the PowerShell cmdlet Get-CsCertificate to locate information about the certificate associated with the Lync Server 2010 server

Note To view all properties on the certificate objects returned to see the SAN’s. Use with a "Get-CsCertificate | fl –property * cmdlet

For more information on Get-CsCertificate cmdlet please refer the following technet document
Get-CsCertificate

To request a certificate using the Lync Management Shell use the Request-CsCertificate cmdlet

For more information on Request-CsCertificate cmdlet please refer the following technet document
Request-CsCertificate

To import a certificate using Lync Management Shell use the Import-CsCertificate cmdlet

For more information on Import-CsCertificate cmdlet please refer the following technet document
Import-CsCertificate

To assign a certificate using Lync Management Shell use the Set-CsCertificate cmdlet

For more information on Set-CsCertificate cmdlet please refer the following technet document
Set-CsCertificate

21 October, 2012

Checking the User Profile Sync permissions – SharePoint 2010


When configuring the User Profile Sync in SharePoint, you would have certainly read up Spence Harbar’s post on configuring the User Profile Sync. If you haven’t, then here’s a link you should definitely bookmark:


Spence has by far the most comprehensive guide on configuring the UPS. If you read and understand the above post, you won’t go wrong with UPS configuration.
The aim of this post was to talk about a little less known script to check to see if your UPS permissions are set correctly.

The script is called PowerShell Administration Library for SharePoint – “Administration.ps1″ by Tobias Lekman.

You can a few handy functions. Really worth checking it out.

Since we are talking about User Profile, I want to draw your attention to an interesting function called Check-Replicatechanges. It’s as simple as loading up the PowerShell script and run a Check-Replicatechanges DOMAIN\UPSServiceAcc and it does a check on the specified User Profile Sync account to see if it has permissions fit for Forefront Identity Manager to perform its magic.


This tool is very handy if your AD infrastructure is run by another team and you don’t have Domain Admin permissions.

http://lekman.codeplex.com/releases/view/65930

Curtsey: www.jeremytaylor.net.

There was an error in callback


Problem Description:
When you search for user accounts using "Browse" People-Picker icon, the following error message may occur and the user accounts may not be resolved

Error Message:
"There was an error in callback".

Probable cause:
This issue normally happens if WSS_WPG group does not have any permissions on this registry key "HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\Secure".

By default, WSS_WPG group has FULL control access to the above mentioned registry key.

This particular key contains a binary value called AppCredentialKey – it is used to encrypt/decrypt the data passed by PeoplePicker-SearchADForests. This key is created using setapppassword command and used in one way trust relationships. Application pool accounts need at least read access to the above mentioned registry key for successful People Picker behavior.

Resolution
1)      Check WSS_WPG group permissions and confirm whether the application pool account of the web application present in that group 
2)      Later check the registry key - "HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\Secure" and identify permissions allocated for WSS_WPG group in the Permissions window of the registry key.
3)      If WSS_WPG group does not present in Permissions window, add the 'WSS_WPG' group with read or full control permissions.  

If you have any queries/questions regarding the above mentioned information then please let me know. I would be more than happy to help you as well as resolves your issues. Thank you.