SharePoint Multitenancy – BCS and Secure Store Service applications are not appeared in the tenant admin portal

When your developers asking for BCS to be configured and If you do not see any links for BCS and Secure Store Service applications under your tenant admin portals, it’s quite normal. That not necessarily mean the Multitenant concept is not supporting BCS or SSS in partitioned mode. When the initial scripts are executed to perform service application creation, these two applications are also provisioned. However the linking is not done.

As per Microsoft:

  • Business Data Connectivity service

Once configured in partition mode, all configuration of the Business Data Connectivity service moves to tenant administration. However the Tenant Administration site template does not include the link to this page, which can be added using the customization technique in the Extending the Tenant Administration site template section

  • Secure Store service

Once configured in partition mode, the generation of encryption keys remains a farm level configuration performed either via Central Administration or Windows PowerShell. The remainder of the Secure Store service configuration moves to tenant administration. However the Tenant Administration site template does not include the link to this page, which can be added using the customization technique in the Extending the Tenant Administration site template section.

Spencer did a wonderful job with his detailed explanation to Multitenancy http://www.harbar.net/articles/sp2013mt.aspx. Thanks to this great series of article, I was able to setup a comprehensive farm for one of the government agency in Asia which has over 30 tenants. Nevertheless, it doesn’t seems to cover this particular problem.

There is a solution in CodePlex for this, but I didn’t attempt to try as it involves a deployment in the servers- https://fixmultitenantissues.codeplex.com/

clip_image001

Let’s find a way out of this.

It’s possible to extend the tenant admin portal template to perform certain things such as adding a new link, removing a link etc.. But where are these links? If we have them, we can at least try to configure BCS and see if that functions well under partitioned mode, right?

Well, they are there!

You can find the SSS and BDC Application pages in the resource folders under the following path. These folders contain the pages used in these two applications. Finding these allows us to test the Business Data Connectivity Service functionality and embed the URLs to the tenant admin portals by extending the site template.

clip_image002

SSSvc folder contains the following items inside. Just copy the path and the page name at the end. The path would be “http://tenant.domain.net/admin/_layouts/15/sssvc/TA_ManageSSSvcApplication.aspx

clip_image003

Then BCS. Go to BDC folder and check if it has the following set of files. Path for that would be “http://tenant.domain.net/admin/_layouts/15/bdc/TA_ViewBDCApplication.aspx

Copy both these URLs to a notepad.

clip_image004

Now let’s add these links in to Tenant admin portal. For now we are adding these in to the left navigation so that if everything works well we can extend the template and add the links globally and permanently.

Open up the tenant admin portal and simply go to Site Settings –> Quick Launch, under the Look and feel section

clip_image005

Add new headings respectively

clip_image006

They should appear in the left panel right away.

clip_image007

Click on each, and you should be able to open up the applications now.

clip_image008

clip_image009

If everything goes well, you can go ahead and extend the layout templates. The following feature definition shows how to add a new group, several links, and remove the link to the Manage Site Collections page. Doing this allows us to globally enable the links across all tenant admin sites at once.

<Elements xmlns=”http://schemas.microsoft.com/sharepoint/”&gt;
<CustomActionGroup
Id=”TenantAdmin_HostingUserAccounts”
Location=”Microsoft.SharePoint.TenantAdministration”
Title=”User Accounts”
Sequence=”90″
ImageUrl=”_layouts/images/SiteSettings_UsersAndPermissions_48x48.png”>
<UrlAction
Url=”” />
</CustomActionGroup>
<CustomAction
Id=”TenantAdmin_HostingUserAccounts_AddUser”
GroupId=”TenantAdmin_HostingUserAccounts”
Location=”Microsoft.SharePoint.TenantAdministration”
Sequence=”10″
Title=”Create User”>
<UrlAction
Url=”_layouts/UserAccountsWebParts/UA_AddUsers.aspx” />
</CustomAction>
<CustomAction
Id=”TenantAdmin_HostingUserAccounts_ManageUsers”
GroupId=”TenantAdmin_HostingUserAccounts”
Location=”Microsoft.SharePoint.TenantAdministration”
Sequence=”30″
Title=”Manage Users”>
<UrlAction
Url=”_layouts/UserAccountsWebParts/UA_ManageUsers.aspx” />
</CustomAction>
<HideCustomAction
GroupId = “TenantAdmin_Sites”
HideActionId = “TenantAdmin_Sites_ManageSiteCollections”
Location=”Microsoft.SharePoint.TenantAdministration” />
</Elements>

Full details of extending the template is described in this TechNet article https://technet.microsoft.com/en-us/library/dn659286.aspx?f=255&MSPPError=-2147217396

Advertisements

Sorry Something Went Wrong: SharePoint 2016 Farm Configuration Wizard Failed with timeout during services provisioning

clip_image001

The Error says it all, SharePoint could not provision the farm configurations within the given timeframe and it pops up the timeout. End result is, no services or applications provisioned. Below is a result from the very first application server was trying to provision my SP2016 farm on production.

clip_image002

You may have successfully installed prerequisites and product but this error could occur during your next step which is product configuration and service app (farm configuration) provisioning if you have a weak bandwidth for inter server communication. No matter how robust your servers are, the network could screw it all with a low bandwidth.

Try to ping across the servers and ensure you have a steady line from WFE to Intranet and Database Servers. Below sample is from one of my deployment which was failed with above error due to lack of bandwidth from APP server to Database just because the customer was having legacy network equipment and cabling (It was lower than 50 mbps given for SharePoint VLAN).

clip_image003

clip_image004

This is also can affect during Product configuration. That means the connection between your Database server to Application Server is worst, not only for SharePoint but anything rely on network connectivity will surely not perform well.

clip_image005

Or even hangs on 3rd stage unusually (normally this stage takes 10 min max, at my case it was more than 30 which is hilariously abnormal)

clip_image006

Its mandatory to have a good (at least 1gbps, 10gbps is ideal) network connectivity across all SharePoint, OWA and Workflow Manager Servers.

Hardware requirements for SharePoint 2016 – https://technet.microsoft.com/en-us/library/cc262485(v=office.16).aspx

SharePoint Designer Error – InfoPath Cannot Save the following form http://Site.Domain.Local/Library the document library was either renamed or deleted.

You might think how this could happen when you can simply access the library and open items inside it but just unable to publish the form via InfoPath designer. This isn’t related to library or SharePoint configurations at all.

If you are running SPD on a Server operating system, one single feature called “Desktop Experience” could be missing there and installing that will solve this for you.

clip_image001

Resolution: Install Desktop Experience if you are opening SPD on a Windows Server

Open up Server manager and proceed to “Add Roles and Features” wizard. Under the User Interfaces and Infrastructure category, select Desktop Experience component and proceed to install it.

clip_image002

<

p align=”justify”>Close SharePoint Designer and Open again. You should be able to publish the form without any issue now.

Some List Fields Invisible in Edit/View Forms after Migrating to Office 365 SharePoint Online

We did a Portal Migration from On-Premise SharePoint to Office 365 SharePoint online. and all went well except few issues raised by end users as they supposed use this portal for many workflows and other automations.

First issue is that some of the fields are invisible in Edit/New Forms when editing or creating records in most of the lists. All these were well functioning in On-premise SharePoint 2010.

These fields were seen in any views (Custom/All Items) too but not in Edit/View Forms.

Enabling “Content Types” from List Settings –> Advanced Settings and then Looking at the Content Types under the List Settings, there were only one Content Type which is Default “Document” Content type and clicking on it showed only two fields added to it. So this is the Point !

Document Content Type is the default Content Type here and the custom fields were not added to it. This is the cause of the issue.

clip_image001

Simply Adding the necessary Fields in to this Content Type would save our day.

clip_image002

And Yes, the Forms then appeared to contain all the fields it supposed to have.

clip_image003

Unable to Delete a SharePoint 2013 Web Application

An object of the type    Microsoft.SharePoint.Administration.SPIisWebsiteUnprovisioningJobDefinition named “Unprovisioning TEST-PROD“already exists under the parent Microsoft.SharePoint.Administration.SPWebService named “”.  Rename your object or delete the existing object.

A Long text error when you simply trying to delete a web application is something you won’t expect.

clip_image001

Ultimately the resolution for this is to delete the TimerJob exists as the error clearly mentions.

Open up the Central Administration and direct to Monitoring –> Review Job Definitions 

Find the “Unprovisioning PRODTEST-INT” Job. Last part of the Job name will be based on your Web App Name.

clip_image002

Go ahead and click on it and then delete the Job. You should now be able to perform the deletion of Web Application.

Configuring Calendar Overlay to Display Different Color for each Category in SharePoint Online-Make the SharePoint Calendar More Delightful and Useful

Calendar being one of the most significant feature in SharePoint. Most of the time to use it in a meaningful way, you need a little bit of customization. This article describes the way of customizing the color code of Calendar items based on a specific category.

Scenario: I need my calendar to show different colors for each category such as Meeting, Business, etc.…Once we complete all the steps, you will see a calendar like this which has different color for each category. The filtering option can be used to either default “Category” Field or you may create your own column with multiple choices as you need.

I have used SharePoint Online In this Scenario but it will be the same for On-Premise SharePoint as well.

clip_image001

So let’s get in to the scene. First to create Views on the Existing Calendar. Office 365 SharePoint will already have Calendar by default even for newly created sites.

Go ahead and Create a New View by Clicking on “Create View

clip_image002

To Select the Calendar View, Click on it

clip_image003

Give it a name and drag to bottom of the page. In this case its “Meeting” so I will see this name when I’m configuring the Overlay at next levels.

clip_image004

Choose the Filtering Option as you need it to be. In this case I will use the Category Filed to Color up the events so each Category will have a different color. First lets create a View for the Meeting category. Once selected the field and given the Value which you want to filter, hit “ok” to save.

clip_image005

Now to configure the Calendar Overlay. Simply Click on “Calendar Overlay” Icon on the Ribbon

clip_image006

It will bring you up to this page. Hit on new Calendar here (Not to be confused. This doesn’t mean you need to have multiple calendars here. It simply means you can have multiple calendars as well. also you can have multiple views in a single Calendar too) so in this scenario, we will have multiple views in a single calendar in order to define different colors for each category.

clip_image007

Let’s create the first Overlay for the Meeting Category first. URL will be automatically inserted. If your calendar on the root site, simply click Resolve to retrieve the List and View otherwise define the path for your calendar.

This is where you define the View you created earlier. From now on, All items created under Meeting Category will be shown in Purple Color.

clip_image008

If you have many categories, repeat the same process for other category items as well (e.g.- Birthday, Business). When you complete everything, the final Calendar will look like this.

clip_image009

Control/Hide SharePoint Top Ribbon to an Specific Audience

Mostly in SharePoint Public Sites Scenarios, You will look for a solution where to hide the Admin Ribbon of the SharePoint Site. Basically the site itself should not have the Admin panel shown to anonymous users accessing from outside which can be only shown up on the level of permissions of the user logged in to the Site (Mostly Internal Domain Users)

clip_image001

If you have developed you own Masterpage, this has to be done there.

To do this, Simply open the Site using SharePoint Designer. Locate your Master Page (which has been set as the Default) Find below two Controls in MasterPage.

Dont forget to Keep a Copy of the Master page before you start editing.

Master

Then Edit the PermissionString from its defined value (ManageWeb) to the new value based on your permission requirements. In this sceanrio it defined to “AddListItems” Value which is the new permission Level. from now on, the Ribbon will be only Visible for thoese who has AddListItems permision Level. To any other level it will be hidden.

In Below sceanrio, Anonymous User wont be able to see the Ribbon as it defined to hide for everyone does not have “AddListItems” Permission level. However you have to carefully look at the list of permission levels supported in “SecurityTrimControl” which has been listed below.

———————————————— Grey Bar (Ribbon Row)

clip_image003

<SharePoint:SPSecurityTrimmedControl ID=”HideRibbonRow” runat=”server” PermissionsString=”ManageWeb”>

document.getElementById(“s4-ribbonrow”).style.display = “block”;

</SharePoint:SPSecurityTrimmedControl>

clip_image004

———————————————— Blue Bar (Suit bar)

clip_image005

<SharePoint:SPSecurityTrimmedControl ID=”HideSuiteBar” runat=”server” PermissionsString=”ManageWeb”>

document.getElementById(“suiteBar”).style.display = “block”;

clip_image006

Once edited the Permission, simply save and Publish the MasterPage and test it out. if you have defined permission peroperly to your users, it will work perfectly.

Below are the full list of permission levels suported by the “SecurityTrimControl”

EmptyMask – Has no permissions on the Web site. Not available through the user interface.

ViewListItems – View items in lists, documents in document libraries, and view Web discussion comments.

AddListItems – Add items to lists, add documents to document libraries, and add Web discussion comments.

EditListItems – Edit items in lists, edit documents in document libraries, edit Web discussion comments in documents, and customize Web Part Pages in document libraries.

DeleteListItems – Delete items from a list, documents from a document library, and Web discussion comments in documents.

ApproveItems – Approve a minor version of a list item or document.

OpenItems – View the source of documents with server-side file handlers.
ViewVersions – View past versions of a list item or document.
DeleteVersions – Delete past versions of a list item or document.
CancelCheckout – Discard or check in a document which is checked out to another user.
ManagePersonalViews – Create, change, and delete personal views of lists.
ManageLists – Create and delete lists, add or remove columns in a list, and add or remove public views of a list.

ViewFormPages – View forms, views, and application pages, and enumerate lists.
Open – Allow users to open a Web site, list, or folder to access items inside that container.
ViewPages – View pages in a Web site.

AddAndCustomizePages – Add, change, or delete HTML pages or Web Part Pages, and edit the Web site using a SharePoint Foundation compatible editor.

ApplyThemeAndBorder – Apply a theme or borders to the entire Web site.
ApplyStyleSheets – Apply a style sheet (.css file) to the Web site.
ViewUsageData – View reports on Web site usage.
CreateSSCSite – Create a Web site using Self-Service Site Creation.
ManageSubwebs – Create subsites such as team sites, Meeting Workspace sites, and Document Workspace sites.

CreateGroups – Create a group of users that can be used anywhere within the site collection.

ManagePermissions – Create and change permission levels on the Web site and assign permissions to users and groups.

BrowseDirectories – Enumerate files and folders in a Web site using Microsoft Office SharePoint Designer 2007 and WebDAV interfaces.

BrowseUserInfo – View information about users of the Web site.
AddDelPrivateWebParts – Add or remove personal Web Parts on a Web Part Page.
UpdatePersonalWebParts – Update Web Parts to display personalized information.
ManageWeb – Grant the ability to perform all administration tasks for the Web site as well as manage content. Activate, deactivate, or edit properties of Web site scoped Features through the object model or through the user interface (UI). When granted on the root Web site of a site collection, activate, deactivate, or edit properties of site collection scoped Features through the object model. To browse to the Site Collection Features page and activate or deactivate site collection scoped Features through the UI, you must be a site collection administrator.

UseClientIntegration – Use features that launch client applications; otherwise, users must work on documents locally and upload changes.

UseRemoteAPIs – Use SOAP, WebDAV, or Microsoft Office SharePoint Designer 2007 interfaces to access the Web site.

ManageAlerts – Manage alerts for all users of the Web site.
CreateAlerts – Create e-mail alerts.
EditMyUserInfo – Allows a user to change his or her user information, such as adding a picture.
EnumeratePermissions – Enumerate permissions on the Web site, list, folder, document, or list item.

<

p align=”justify”>FullMask – Has all permissions on the Web site. Not available through the user interface.