Tag Archives: SharePoint Designer

Error Creating Publishing Sites In SharePoint 2013

I’ve come across an issue in SharePoint 2013 related to the creation of Publishing Sites.  Instead of the site being created, the user is confronted with the error below.

PublishingSiteError1

A list of errors logged in the ULS is at the end of this post, but the issue is due to access being denied to __DeviceChannelMappings.aspx.

To resolve the error use SharePoint Designer to assign the Restricted Read access to _catalogs/masterpage and DeviceChannels.

Within SharePoint Designer, right-click on masterpage and choose properties.

PublishingSiteError2

Click on Permissions for this list.

PublishingSiteError3

Assign Restricted Read permissions to the appropriate user, or group.

PublishingSiteError4

Next, repeat the process for the DeviceChannels folder.

PublishingSiteError5

List of ULS error messages:

<nativehr>0x81070211</nativehr><nativestack></nativestack>Cannot open file “_catalogs/masterpage/__DeviceChannelMappings.aspx”.

System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)), 

Unexpected error when trying to populate mobile mappings file ‘_catalogs/masterpage/__DeviceChannelMappings.aspx’ in web ‘/SITENAME’: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

A runtime exception was detected. Details follow.  Message: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))  Technical Details: System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))    

Watson Reporting Cancelled) System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))   

Event log message was: ‘Failed to initialize some site properties for Web
at Url: ‘http://SITENAME&#8221;. Exception was: ‘System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

Publishing Feature activation failed. Exception: Microsoft.SharePoint.SPException: Provisioning did not succeed. Details: Failed to initialize some site properties for Web
at Url: ‘SITENAME’ OriginalException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) —> System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

Extend SharePoint 2013 People Search Using Business Connectivity Services – Multi-Value User Properties

Following on from the four part series Extend SharePoint 2013 People Search Using Business Connectivity Services I had a requirement to update multi-value user properties using BCS.  If you haven’t read the posts in the series I highly recommend that you do as I’m only going to cover the changes I had to make in order to import multi-value properties.

For this example I’ve added a column to my SQL Server table called Speciality and updated the stored procedure to return the values in this column.

BCS-Multi1

In the screen shot above I’ve added three specialties for myself, SharePoint, Hyper-V and SQL Server.  This has created multiple rows, an additional row for each specialty  each with the same email address.  The email address is important as this will be used by a filter within the external content type to return multiple values for each user.

Next, in SharePoint Designer open the external content type that references the stored procedure and click on Operations Design View in the ribbon.

BCS-Multi2

In Data Source Explorer find the stored procedure under Routines, right click on it and choose New Read List Operation.

BCS-Multi3

Click Next and on the Input Parameters screen click to add a Filter.  Create the filter, in my case on the email field and click Ok.  

BCS-Multi4

On the Return Parameter screen click on Email, then tick Map to Identifier.  Finish the wizard and save changes to your external content type.

BCS-Multi5

From Central Administration open your User Profile Synchronization Service and click on Configure Synchronization Connections.

BCS-Multi6

Use the drop down to edit your external content type connection.  You can now choose a 1:many mapping, filter using the email filter against the WorkEmail user profile property.

BCS-Multi7

To create a multi-value user open the User Profile Synchronization Service and click on Mange User Properties.

BCS-Multi8

Click on New Property, select the property type as string (Multi Value) and choose the multi value separator you’d like to use.

BCS-Multi9

Map the new property to the correct attribute from your BCS data connection and click Ok.

BCS-Multi10

Run a full profile synchronization, then click on Manage User Profiles to search for a user and check the properties have been populated.

BCS-Multi11

BCS-Multi12