MS-Teams Outlook Add-in released

With Microsoft introducing MS-Teams earlier this year, the team are working on rolling out new features. Outlook add-in being one of them. It is now in general availability. This enables users to host/join a team meeting from Outlook client. There is no separate installation required for this. Follow the steps below:

  1. Download MS-Teams desktop client.
  2. Login using your credentials and logout.
  3. Make sure you are using the latest version on Outlook 2016
  4. Start MS-Teams and login again using your credentials.
  5. Start Outlook and you should see the Join Teams Meeting option in the New Items menu.


If you haven’t started using MS-Teams to collaborate with your colleagues, feel free to get in touch.

Cross domain issues with Office Online server 2016

Recently while provisioning a huge SharePoint 2016 farm (around 70 server) on MS-Azure with 3 Office Online servers, I came across some cross domain issues with Office Online.

We had provisioned all the four environments (development, test, pre-prod and production) on Azure but on two different domains and here come the real complexity 🙂

Environment Domain URL
Development PPAD http://sharepointsite-dev
Test PPAD http://sharepointsite-test
Pre-Production AD http://sharepointsite-preprod
Production AD http://sharepointsite

The users who would be accessing the site were using laptops which were on the AD domain; for example, AD\anandsharma being their account ID.

Accessing the development and test URL’s with such devices required appending the domain name after the SharePoint site url to resolve the DNS. For example: http://sharepointsite-dev.ppad

Now while setting up Office Online servers in such cases has a big caveat!!

So let’s say my Office Online server’s load balancer (as in our case) has the internal URL as http://sharepointsite-dev-oos and everything is configured according the the following technet article –

In such a scenario, the cross domain dns resolving will not work.

Hence while configuring the Office online server, you must append the domain name to the internal url property when configuring the new farm.

Configuration on the Office Online Server (Development)

Import-Module -Name OfficeWebApps
New-OfficeWebAppsFarm -InternalURL "http://sharepointsite-dev-oos.ppad" -AllowHttp -EditingEnabled
Set-OfficeWebAppsFarm -AllowHttpSecureStoreConnections:$true

Configuration on the SharePoint Web Front End (Development)

Add-PSSnapin Microsoft.SharePoint.Powershell
New-SPWOPIBinding -ServerName "sharepointsite-dev-oos.ppad" -AllowHTTP
Set-SPWOPIZone -zone "internal-http"
$config = (Get-SPSecurityTokenServiceConfig)
$config.AllowOAuthOverHttp = $true
$Farm = Get-SPFarm
$Farm.Properties.Add("WopiLegacySoapSupport", "http://sharepointsite-dev-oos.ppad/x/_vti_bin/ExcelServiceInternal.asmx");

Hope this helps anyone struggling with cross domain configurations.

Error on adding content types to document library

There have been instances when the SharePoint super users behaves adventurous and test SharePoint capabilities. As a result of their playing around and testing the system, they create entries here and there and then forget about them completely. One such user came to me with an error “Something went wrong” (default SharePoint error message) while he was trying to add content type to the document library.  Continue reading “Error on adding content types to document library”

Adding links to Suite Bar in Office 365

So we want to add few custom links to the Delta suite bar within Office 356. You can either add it to the Script Editor webpart to add these links for single page or add it to the master page if you want so.






<script type="text/javascript">    
        $(document).ready(function() {
           var addLinks = "<div class='o365cs-nav-O365LinksItem'><div><a title='Google' class='o365button o365cs-nav-navItem o365cs-nav-workloadLink o365cs-spo-topnavLink o365cs-topnavLink' id='O365_MainLink_ShellMail' role='menuitem' aria-disabled='false' aria-selected='false' aria-label='Google' href=''><span>Google</span><div class='o365cs-activeLinkIndicator o365cs-nw-b' style='display: none;'></div></a></div><div style='display: none;'></div></div>";

addLinks +=  "<div class='o365cs-nav-O365LinksItem'><div><a title='Bing' class='o365button o365cs-nav-navItem o365cs-nav-workloadLink o365cs-spo-topnavLink o365cs-topnavLink' id='O365_MainLink_secondLink' role='menuitem' aria-disabled='false' aria-selected='false' aria-label='Bing' href=''><span>Bing</span> <div class='o365cs-activeLinkIndicator o365cs-nw-b' style='display:none;'></div></a></div><div style='display: none;'></div></div>";
        $('.o365cs-nav-O365Links div:first').prepend(addLinks);

Customising Office 365 icon in SharePoint 2013

While implementing an Office 365 solution, I did some quick fixes to the system (mostly branding the site) which I would like to share in this post.

Hiding the Office 365 icon on the top left of the window

Add the following lines to the CSS file

.ms-core-brandingBox {display:none;}

Editing the Office 365 icon to custom icon

If you want to show your company logo instead, add the logo to your SharePoint site and refer it in the CSS like the following:

#suiteBrandingIconBox {background-image:url(image url location)!important;
background-color:transparent;background-position:top left;background-repeat:no-repeat;height:30px; }

Hiding the Show More on person.aspx

When you implement mysites within SharePoint 2013, on the person.aspx page, there are few information available for the person like Email Address, Office Phone, Mobile and so on. This webpart comes with a Jquery link Show More and Show Less which contracts and expands on click.
I had a requirement where I had to hide this button and expand the box always so that all the values are visible to the user at all times. Here is how I implemented the solution.

  • Find out the ID for the control by going to Developer tools within your browser.
  • Replace it after the # sign in the example below.
  • Add the whole snippet into Script Editor webpart on the person.aspx page

#your respective ID of the control_ProfileViewer_showHideLink
display:block !important;
overflow:visible !important;

Override redirect using EditItemWithCheckoutAlert

On an edit item link, you want to perform some operation and redirect to a page of your choice, write a small script on your page and override the EditItemWithCheckoutAlert function.
So when you click on the edit link, the EditForm.aspx opens.

This allows you to modify the fields and delete the list item. Once you perform your desired action, the dialog box is closed and you are redirected to previous view/default view. To override this, use the script below, modify it to suit your URL and put it in a CEWP/Script Editor WP on your page.

if (typeof(EditItemWithCheckoutAlert) != 'undefined')
var changed_EditItemWithCheckoutAlert = EditItemWithCheckoutAlert;
EditItemWithCheckoutAlert = function(evt, Url, bCheckout, bIsCheckedOutToLocal, strDocument, strhttpRoot, strCurrentUser, strCheckoutUser) {
changed_EditItemWithCheckoutAlert(evt, Url+'&Source=yourURL', bCheckout, bIsCheckedOutToLocal, strDocument, strhttpRoot, strCurrentUser, strCheckoutUser);

Converting InfoPath data connections to UDCX files

While working with InfoPath 2013 and SharePoint 2013 on a Windows 2012 platform, I came across an issue where I was not able to convert the InfoPath data connections into UDCX files. I was getting the error below:

The specified location does not exist or could not be opened. Choose a data connection library on a server running Microsoft SharePoint Server and specify a valid filename.

After some read through, I found out that for this to be able to work, I would need a Windows feature installed on the server. This feature is Desktop Experience. Once I enabled this from the Server Manager, and restarted the server, I got rid of this error. Files were then getting converted to UDCX and were published to the Data Connection library.

Hope this helps someone.

Disabling mobile site within SharePoint 2010

As we all know that SharePoint creates a very basic (ugly looking) default site for mobile devices. When opening the site from any mobile browser, it automatically directs the website to the respective mobile website which has /m appended to it.
My client did not wanted the default mobile site to open within mobile devices as it gives a very untidy look so they wanted to disable the redirect function. If you have similar issues, follow the steps below to disable the redirection.
  • Navigate to:
    • C:\inetpub\wwwroot\wss\VirtualDirectories\<yoursharepointsite>\App_Browsers\compat.browser
  • Locate
    • <userAgent match=”iPhone”&gt
  • Now under tag, locate
    • <capability name=”isMobileDevice”    value=”true”/>
  • Change this to false
  • Now for Android, repeat the same thing and set the ismobileDevice attribute to false.

No need to reset the iis or anything else. Just save the file and browse the site from iphone, you will see the desktop site opening.

Also, I noticed that if you create a backup copy of the file with any name within the folder, the site breaks and doesn’t render. So make changes within the file and copy it to some other location for a backup copy.

There is a MobilityRedirect feature within the SPWeb which can be disabled to prevent the redirection as well.
  • Disable-SPFeature –Identity MobilityRedirect –Url

Hope this helps someone

Deleting work item in TFS using Visual Studio 2010

As I was setting up TFS (Team Foundation Services) for my upcoming SharePoint project, I created few work items such as Tasks, Sprint Backlog, Bugs etc. also created custom fields and values within them. To test these items, I created a few test work items before moving it to live. Now, I wanted to get rid of the test work items I created before I could log live data in it. So here comes this post, where I would write on how we can delete work items from TFS. So, first of all, there is no simple tick and delete UI from Microsoft which does so. Microsoft recommends using command line to delete the work items. There are some free tools available through few of the sites, but I prefer deleting using command line. Follow the steps below:
  • Open Visual Studio Command Prompt by navigating to Start > All Programs > Microsoft Visual Studio 2010 > Visual Studio Tools
  • Note down the IDs of the work items you want to remove from the TFS
  • Within the command prompt type the below syntax:
witadmin destroywi /collection /id:,,

Note: For noting down the IDs of the work items you can run a query that has ‘test’ in the Title field, provided you have entered test while your testing.

Resetting Sync databse within SharePoint

Resetting Sync database will delete the database completely with all the values in it.
I think one should reset the sync database as the last thing when all troubleshooting tricks provide no result. Only consider resetting when: 
  • Your import user profile connection is fetching details from AD but they cannot be seen on SharePoint
  • Similar scenario with export connections, so you want to push changes back to AD but you don’t see any changes on AD
  • You have modified settings on your FIM Client manually 

Here is a very nice article on resetting the sync database you should follow before considering a  reset:
PS: The User related information such as Profile Pictures, About Me etc. resides in Profile DB and the Social DB, these information will be safe as you do a reset of your Sync database