Archive for the ‘SharePoint 2016’ Category

How To Resolve Issue Opening Visual Studio 2015 Projects in Visual Studio 2017   Leave a comment

I recently upgraded to the new Microsoft Visual Studio 2017.  When I tried to open projects created in the earlier version (Visual Studio 2015), I encountered a running issue where it continuously asked to install the Visual Studio Tools for Office.  The problem was that they are already installed with Visual Studio 2017 when I selected the Office Tools & SharePoint products during the Install.

It seems the versioning has not been updated correctly during either the Migration, or the Upgrade. Since this product is so new, I don’t know if this is the official remedy but here is how I fixed it.

Solution:

Open the Project File (e.g. .vbproj or .csproj) file and update the “MinimumOfficeToolsVersion” to 14.   Sometimes I noticed the value varied from 14.5 to 14.6

Happy SharePointing!

Posted March 14, 2017 by Bismarck in SharePoint 2016

How To Resolve Publishing Pages Not Created in the Correct Location   Leave a comment

Problem

You may have come across this issue in your Intranet. Let’s say you create your Intranet with several Sub-Sites and utilize the Managed Metadata Navigation to manage the Top Link Bar. This Managed Metadata Navigation is inherited across and down through all of the Sub-Sites.

howtoresolvepublishingpageslocation_pic1

Now, when you click on the ‘Add a Page’ from the “Find it at: <URL>” displays the wrong address or at most the <Root> of the Site Collection.

howtoresolvepublishingpageslocation_pic2

What you want to happen in a Publishing site, is to have the New Pages Added, added to the Pages library of the site or Sub-Site you are creating it from.

Resolution

Uncheck the “Create friendly URLs for new pages automatically” in the Navigation Settings of the Site or Sub-Site should resolve this issue.

howtoresolvepublishingpageslocation_pic3

Result:

howtoresolvepublishingpageslocation_pic4

Note:

If you have the Publishing Infrastructure and Publishing Feature enabled on a Team Site, it will default to “/SitePages”. This is because by default the “Wiki Page Home Page” Site feature is enabled by default when a Team Site is provisioned. Simply Disable this feature and your New Pages will be added to the “/Pages” Library.

Happy SharePointing!

Posted December 16, 2016 by Bismarck in SharePoint 2013, SharePoint 2016

How To Remove the Recent Node on the Quick Launch without Code in SharePoint 2016   Leave a comment

You can remove the Recent Node in the Quick Launch (Current Navigation) in SharePoint 2016 without having to write code or deploy CSS changes.  This should also work on SharePoint 2013 as well.

Steps

  1. First create a New SharePoint Security Group in your Site Collection.  This group only needs “Read” permissions.

PeopleAndGroups

2. From “Site Settings”, “Navigation”, select the Recent Link in the Current Navigation section and click on the “Edit” menu item in the Navigation box.

Navigation

3. Next, select the “Target Audience” and add the New SharePoint Permission Group you created.

That’s it.  Now all you have to do is Add users to your new group if they need to see the “Recent Node”

Posted May 11, 2016 by Bismarck in SharePoint 2013, SharePoint 2016

How To Add a Feature Stapler to My Sites and Change the Blog Title   Leave a comment

I’ve been working with SharePoint 2013 for some time now and now eagerly reviewing the new SharePoint 2016.  I noticed that when users provision their Blogs on their My Sites, the title default to “Welcome to My Blog”.  The eventual result of this becomes more apparent when they show up in the search results.

Here I decided to incorporate a feature stapler while working on a custom branded My Sites Masterpage.  This feature will, when a My Site Blog is provisioned, renames the Blog Title to “Welcome to <DisplayName>’s Blog.  Now when you search on Blogs it makes it more clear as to who blog it is.

So I in my Visual Studio Project, I created an Event Handler called “MySiteWebProvisioning” with the following code:

Imports System
Imports System.Security.Permissions
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.Utilities
Imports Microsoft.SharePoint.Workflow
Imports Microsoft.Office.Server

Public Class MySiteWebProvisioning
Inherits SPWebEventReceiver

”’ <summary>
”’ A site was provisioned.
”’ </summary>
Public Overrides Sub WebProvisioned(properties As SPWebEventProperties)
MyBase.WebProvisioned(properties)

Using targetWeb As SPWeb = properties.Web
Using rootWeb As SPWeb = targetWeb.Site.RootWeb

‘******************************************************************************************
‘* Set MySite Blog Title to Display Name’s – Blog.  When these MySite Blogs
‘* are Crawled, they will have return “User DisplayName’s – Blog rather than just “Blog".
'******************************************************************************************

If properties.Web.Site.HostName = “mysites.portal.contoso.com” Then
If properties.Web.WebTemplateId = “9” Then

Try
Dim spResource As SPUserResource = properties.Web.TitleResource
Dim sWebUrl As String = properties.ServerRelativeUrl
Dim sUserDisplayName As String = properties.UserDisplayName

properties.Web.Title = sUserDisplayName + “‘s – Blog”
properties.Web.AllowUnsafeUpdates = True
properties.Web.Update()

Catch ex As Exception
‘Throw a message in the ULS Logging
Microsoft.Office.Server.Diagnostics.PortalLog.LogString(“Exception Occurred Ascii.SP.ER.MySiteBranding: {0} || {1}”, ex.Message, ex.StackTrace)
End Try
End If
End If

‘Update Blog MasterPage
targetWeb.MasterUrl = rootWeb.MasterUrl
targetWeb.CustomMasterUrl = rootWeb.CustomMasterUrl
targetWeb.SiteLogoUrl = rootWeb.SiteLogoUrl
targetWeb.AlternateCssUrl = rootWeb.AlternateCssUrl
targetWeb.Update()

End Using

End Using

End Sub

End Class

Here is the Element.xml

<?xml version=”1.0″ encoding=”utf-8″?>
<Elements xmlns=”http://schemas.microsoft.com/sharepoint/”&gt;
<Receivers >
<Receiver>
<Name>MySiteWebProvisioningWebProvisioned</Name>
<Type>WebProvisioned</Type>
<Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
<Class>Ascii.SP.ER.MySiteBranding.MySiteWebProvisioning</Class>
<SequenceNumber>10002</SequenceNumber>
</Receiver>
</Receivers>
</Elements>

In my Feature Stapler, I associated it with the MySite Template.  The Elements.xml for this is displayed below:

Elements.xml

<Elements xmlns=”http://schemas.microsoft.com/sharepoint/”&gt;
<FeatureSiteTemplateAssociation Id=”c4c9b0b4-c604-4ec0-8355-3136fd02411b” TemplateName=”SPSPERS#2″ />
</Elements>

Happy SharePointing!

Posted February 2, 2016 by Bismarck in SharePoint 2013, SharePoint 2016