Blog Categories

Subscribe to RSS feed


Follow Microsoft Technologies on Pinterest

Office 365 – The Limitations of Alternate Login ID

Back in April of 2014, Microsoft announced a feature called “Alternate Login ID” (sometimes referred to as “Alternative Login ID”). The idea was that instead of changing the UPNs in your on-premises Active Directory, you could use a different value to authenticate to Office 365 and sync that value to the cloud as your login.

At the time of release, I wrote an article (“Office 365 – Configuring AD FS & DirSync with an Alternate Login“) that covered the necessary configuration to use Alternate Login ID. It seemed like a very viable option for organizations that had dependencies on their current UPNs and would not be able to easily change their UPNs. In the past 10 months, that article has been one of the more popular articles that I’ve written so I wanted to follow it up with an update based on information that we now know today.
Read the rest of this post »

Azure Search: Scoring Profiles


When a search query is submitted to the index, each document that is returned has a search scoreazuresearch_configure1_5_searchtile which is an indicator of its relevance in the current search query and context. The higher the score, the more relevant the item and therefore, the higher it is ranked on a scale of high to low.

In Azure Search, you can tweak the calculation of a search score through an index modification called a scoring profile. A common usage of scoring profiles is Geo-search, which allows you to automatically boost items which are closer to the location of the user. You can also simply boost by pushing newer documents to the top of your search results, or in some cases boost some older documents. It all depends on what your business needs are.

You can configure as many scoring profiles as you would like in your search index, but you can only specify one profile at a time when running a query.

Scoring Profiles vs. Managed Property Weighting and XRANK

For the SharePoint Devs out there getting into Azure Search, Scoring Profiles is a lot like Managed Property Weighting combined with XRANK in SharePoint. However, I find that Azure Search gives you control that allows you too really customize your boosting in ways that SharePoint cannot. Most of your boosting control comes in how you define your scoring profiles in your index, which allows you to really clean up your query on the front end without having to use XRANK. For example, to achieve a simple Geo-search, you would only need to provide the scoring profile and the current location as parameters in your search query.

As a further bonus, you can configure as many different scoring profiles as you would like, giving you full control of how your query gets processed. While in SharePoint, you can only configure a single set of relevancy rules without using XRANK, in Azure Search you can configure as many as you would like and specify which one you would like to use at the time. This way you can specify different weights for different fields (managed properties) when your business needs change without having to completely clobber the back-end index.  Read the rest of this post »

Customer Experience Drives Digital Transformation – Webinar 2/25

Digital Transformation tenenhance-customer-experience-and-loyaltyds to have a slightly different meaning to different people, depending on how you ask.  Whether it’s cloud, customer experience, eCommerce, integration, CRM, digital marketing, mobile, collaboration, analytics or Big Data, most would agree, however, that digital transformation enables businesses to “see” their customers better and add value throughout the lifecycle.

There’s a reason that the first topic we will be covering in Perficient’s Digital Transformation webinar series (following the initial webinar which can be viewed here)  is, “How Customer Experience Drives Digital Transformation.”  The customer experience is often the driving factor, the catalyst, in digital transformations, as mentioned on i-SCOOP:

Although digital transformation is not just about customer-facing functions, it’s clear that in many transformation projects, the customer experience is a key driver and catalyst. In more IT-oriented projects, the same goes for the user experience and user adoption. Actual usage and adoption in fact is essential to make such projects succeed.

When I think of customer experience and digital transformation, I immediately think of Sitecore. Sitecore is all about customer experience management and its .NET based platform – with many integrations—including Dynamics AX, Microsoft’s ERP platform, etc. — provide a single, connected experience and allow marketers to create great brand experiences with every customer who engages digitally. Things like persona development and personalized content make them a no-brainer in reaching consumers in the digital age.

Regardless of your platform preference, join us on Wednesday, February 25, at 1 p.m. CT to learn how and why you should give customer experience more thought, no matter where you currently are in your digital transformation initiative. Read the rest of this post »

New Additions to the Office 365 Family

I’ll keep this post short and sweet in honor of Friday!

Now if you are an avid follower of Microsoft, you got to agree that the most fascinating news (other than stock news) about the company is their shift to the cloud with platforms and products like Azure and Office 365. With so much exciting features coming through it’s tough to keep track. We at Perficient here, have the privilege to work with the latest greatest and keep you updated with the same. The three new features which caught my attention last week provide a great enhancement to user experience, be it mobile or desktop. I discuss them briefly here

Office on iOS

Office 365 Message Encryption Viewer – This app allows you to open mail attachments and send back an encrypted reply. Microsoft verifies your identity to ensure you are who you say you are. Get a one time pass code on your phone.

image1 Read the rest of this post »

Webinar Recap: Preparing for Your Digital Transformation in 2015

We’ve mentioned Perficient’s2015-02-19_16-59-26 Digital Transformation webinar series a couple times now here on our Microsoft blog. Last week, the series kicked off with its first session, Digital Transformation in 2015: Laying the Groundwork for Success. Perficient’s Strategic Advisors are the strategists behind the webinar series, and help our customers create and enable a digital transformation enterprise-wide.

While most people tend to think of digital marketing first and foremost when it comes to digital transformation, there’s a whole lot more. There are many other aspects of business significantly impacted by digital transformation – cloud, integration, collaboration, customer experience, CRM, analytics, and Big Data, to name a few.

And while Microsoft’s play in digital transformation may not be glaringly apparent at first glance, it’s certainly there. As Rich Wood put it in his recent blog post, digital transformation is about embracing new ways of working to allow you to move faster, work smarter and be more effective, and that’s Microsoft at its core. Read the rest of this post »

Office 365 – How to Update Address Lists in Exchange Online

Address Lists are a way to create an additional “view” within the Global Address List (GAL) based on a set of mailboxes attributes.

As an example, perhaps you want to create a view for everyone with the “Office” of “Headquarters”. This new Address List would appear as an additional dropdown in both Outlook and OWA. Address Lists are also part of Address Book Policies (ABPs) should you want to have actual segmentation of your GAL.

However, with Exchange Online, there is a small issue with Address Lists that can make them challenging to work with.
Read the rest of this post »

On-Premises Claims Authorized SharePoint and Hybrid Apps in Azure

I recently needed to deploy a SharePoint-hosted App that would work in both SharePoint Online and On-Premises. My client had an Azure license, and we are hosting the App there. Now, how to get the On-Premises farm to work with my App? I started by reading this MSDN article on the subject.

This article had 90% of the information required, and as usual the other 10% is where the hair pulling happens. Here, I will attempt to fill in the other 10%.

  1. Patch your environment to the November 2014 CU for SharePoint Server. There are fixes in the August CU that affect this configuration and without them it will not work. Why the November CU then? Just take a look at the August install instructions and you will see why. If for some reason you cannot do the November CU the August will work, but set aside a day.
  2. Your Claims Provider class needs to implement the SupportsUserKey property, the GetClaimTypeForUserKey method and the GetUserKeyForEntity method. If you are using the Codeplex project Claims Provider Here and are using ADFS for your STS then you are fine. I had one that was upgraded from 2010 and had these methods and property missing and that left for lots of hair pulling.
    public override bool SupportsUserKey
        get { return true; }
    public override string GetClaimTypeForUserKey()
        return Microsoft.IdentityModel.Claims.ClaimTypes.Upn;
    protected override SPClaim GetUserKeyForEntity(SPClaim entity)
        if (entity.ClaimType == this.GetClaimTypeForUserKey())
            return entity;
            string token = OperationContext.Current.RequestContext.RequestMessage.ToString();
            XmlNodeList claimList = GetClaimsList(token);
            XmlNode upn = claimList.OfType<XmlNode>().Where(c => c.Attributes["AttributeNamespace"].Value.ToLower() == "" && c.Attributes["AttributeName"].Value.ToLower() == "upn").FirstOrDefault();
            return new SPClaim(Microsoft.IdentityModel.Claims.ClaimTypes.Upn, upn.InnerText, AdClaimValueType, SPOriginalIssuers.Format(SPOriginalIssuerType.TrustedProvider, SecureStoreClaimsSettings.Default.ProviderName));
  3. The User Profile Service needs to be completely set up and functioning. The OAuth procedure with Apps uses the UPA to match the string value of user ID from the token to look up and rehydrate a user in SharePoint so that it can operate on its behalf. If it can’t find the user in the UPA you will get a 401 when the app requests information.
  4. If, like me, you are working in a development environment and have deployed Apps that are now not working I would recommend deleting any App Catalogs and your App Management Service and rebuilding them as corrupted App installs were giving me some issues.
  5. The PowerShell scripts listed in the above article seemed to be a bit out of date. Steve Peschka made some updates to them on his blog, but the MSDN article does not seem to have those updates. I have combined the 4 steps listed in the article along with Steve’s updates into one script with step by step instructions that I hope will help the next guy. The scripts can be found here.
  6. Deploy your App to you App Catalog and cross all available limbs.

Sources for this post:

5 Ways the BI Experience in SharePoint is Evolving

A post on the Microsoft Office blog today entitled “Evolution of SharePoint”  grabbed my attention.  In it, Office Product Management team General Manager Julia White discussed ways the SharePoint platform is changing to fit its niche in the cloud and on premises.

As I read the article, I started thinking about how SharePoint BI has also evolved and is continuing to co-evolve with the host platform:

1) Less Excel, more Power BI

In SharePoint 2010, Excel Service and Power Pivot were big deals — not to mention the introduction of PerformancePoint Services.  By 2013, these same features had been streamlined for on-premises users, but SharePoint Online users kinda got the short end of the stick.  Enter Power BI, and the integration with Excel became even deeper with Power View and the BISM Connector providing additional functionality.   But now, Microsoft has basically unyoked Power BI from Excel with the introduction of Power BI Designer.

What exactly this means for SharePoint users is as yet unclear — especially those in the on-premises scenario.  One can expect that the Power Pivot Gallery will live on.  There are promises of being able to embed Power BI artifacts in SharePoint online pages or web apps, as well.  But what seems most likely is that a Power BI App will be made available to on-premises users of SharePoint 2016.

2) On-premises to Cloud

Progress marches on, and nowhere is that truer than in the BI realm.  From the long list of services and features provided to expand the BI experience in SharePoint 2013 on premises, we’ve seen the entire industry pivot to the cloud.  For SharePoint, this has essentially meant expansion of Office 365 and SharePoint Online in competition with the on-premises product.  And to date, it’s the cloud path has really gotten the most lavish attention from Microsoft with Power BI.  It remains to be seen how SharePoint 2016 will be positioned in that light, and whether we might see a new story for on-premises SharePoint BI take form.

3) Performance Point is dead

No, really.  I would bet one of my digits (although not a significant one, yuk yuk yuk) that PerformancePoint Services will be deprecated in SharePoint 2016.  We’ve already seen it dropped from the existing cloud offerings; if you want PPS in the cloud, you’ll need to run SharePoint on Azure VMs.  So, what takes its place?  Nothing in Power BI has the exact same feature set, but upcoming Power BI Dashboards (based on Power View) should be able to at least provide a visual analog — if not the sophisticated drilldown capability.

4) Mobile on the rise

You don’t have to be too perceptive to note the surge of importance in mobile.  SharePoint 2013 made major strides in terms of browser compatibility by moving strongly towards HTML 5 standards, thus improving the UX for mobile users. SharePoint 2016 is strongly expected to be fully HTML 5 compliant, and to improve that mobile experience even more.  Similarly on the BI side, while the initial release of Power View was not HTML 5 based, Microsoft has made good on their promise to rebuild included visualizations to be HTML5 based.  The recent release of Power BI apps for iOS devices underlines the desire for the service to be both platform and device agnostic.  Basically, we are seeing Microsoft bend these platforms to the way usage patterns are changing.  Count on both SharePoint and Power BI to continue in that vein.

5) App Oriented

Based on what we are seeing from Microsoft, it appears that we can expect SharePoint to become more app-centric — both in the Cloud and On-Premises contexts.  SharePoint 2016 is rumored to include a manifestation of an App store.  Power BI Sites is a SharePoint Online app and, as mentioned above, I would expect a version of that app might be made available for on-premises SharePoint 2016.  Add to this the embracing of mobile, and an App based approach seems to be the best choice an increasing number of scenarios.

Overall, the direction for both SharePoint and Power BI is clearly to the Cloud.  Old tools and approaches are being turned over in favor of new ones.  And there is some uncertainty resulting from that for on-premises users of SharePoint.  But Microsoft seems to be standing by the platform no matter what, so I would expect to get a better idea of the BI story for SharePoint 2016 as CTP versions start hitting the Web.




How Delve Makes your Life Easier!

For some time now Microsoft has been working on an intelligent fabric- machine learning. This algorithm is (now more than ever) becoming an Delve Img1integral part of many new platforms and products, especially office graph which powers the new Office app called “Delve”. Delve is part of the Office 365 suite and is available for all tenants with “First Release” turned on.

I blogged about Delve in its early days here & here  but since then it has evolved quite a bit. What I wanted to share with you is how Microsoft is rolling new functionality into this app so that life for an end user becomes simpler. There are many aspects when we look into a “day in the life” of an end user but one of the most important ones is organizing and email. Won’t you agree? Taking these two in consideration, let’s look at how Delve makes your everyday life easier!

But before we look into the new enhancements, let’s take a small walk down the memory lane and see what is Delve. Office Delve brings most relevant content to you. This is based on what you’re working on and what is trending around you (your connections, groups etc.). Helps you discover new connection, be it People, documents, or new ideas. All this is done by Delve constantly learning your work habits/styles and creating a globe of information in and around you. Office Graph incorporated signals across Office 365 and content primarily from OneDrive for Business, SharePoint Online team sites and the new Office 365 Video portal.

Now let’s explore the latest enhancements that has been keeping the Delve team pretty busy.


This feature helps you organize various content and make it readily accessible and share friendly. Think of this as the same exercise you are Image 001used to, of applying sticky on a board to gather all relevant ideas and suggestions. This feature takes this traditional approach, digital.

Image 002Everyone in your organization can view and contribute to an existing board or create a board—but they can only see and open documents that they have permission to access.  From within Delve, you can search for a board, follow it to stay informed and discover other boards—all without having to know or remember where individual pieces of content live. Watch this youtube video to get a better idea.

Image 003


Boards does not allow you to embed external pages yet; so in essence no public boards!
Currently you cannot add context to the content on a public board. It’s simply pinning a document without any comment or context around it. (Sounds like a yammer integration in the play here)

Image 004


I bet you would not disagree with me when I say email is single handedly the most used/abused application today. People use it to share ideas, circulate announcements, send attachments etc. This is a the latest in the list of additions to Delve. On the Delve home page, attachments found in email show up in the “Home” view. The attachments are presented in cards that provide some context including information about who sent the message and some text from the message body. If a message contains multiple attachments, each attachment is presented in a separate card.

It won’t show you attachments sent by you.
Attachments will only show in the two week time frame. Delve will show items that are of interest to you based on insights it has gathered and analyzed in the Office Graph database. The same kind of signal-driven rationale is used to surface documents stored in SharePoint and OneDrive for Business libraries.
You obviously can’t delete items from Delve – that’s due to the reason that Delve is a machine learning algorithm based on search.

Overall great additions to the Delve family. I’m certainly looking forward to the next one – Yammer integration.



Image source: Microsoft Office blog

Microsoft Azure Search Preview

Search as a Serviceazuresearch_configure1_5_searchtile

From FAST ESP to SharePoint Search and Bing/Google, search has become an integral point for users to reference their data. Microsoft has developed Azure Search to provide an integration point for a complete search experience. Developers can use the Azure portal and front-end APIs to tune their search index as well as increase and decrease their index capacity, query count, and number of documents. These features allow for individualized, cost effective solutions for all of your search scenarios.

There are already some established solutions such as Apache Solr and Elasticsearch (which is the platform that Azure Search is based on), however ensuring cost-effective scalability and steady hosting can be a whole other task completely. Azure Search’s pricing can be scaled by your query traffic as well as you document count, which allows you to pay for what you use. In the end, all are viable search solutions for your business’ needs.

Azure Search Under the Hood

Document – A document is simply a single entity in the search index. Documents can be a webpage, a physical document like a PDF or Word document, or any custom fed content that the user can format.

Search Index – The purpose of the index is to store a collection of documents, and optimize speed and performance for retrieving documents (documents = an item in the database). The index schema is defined by the user. You can have multiple indexes in your Azure Search environment.

Query Processing – The Query processor for each search engine is tuned uniquely. It is responsible for translating the query syntax before sending it to the index for document retrieval.

Indexing Component – The indexing component is responsible for processing the data before sending the data to the search index. This is commonly known as a pipeline or enrichment step which is responsible for massaging or normalizing data.

Azure Search (vs. SharePoint Search)

The core of Azure Search is built off of Elasticsearch, but don’t be fooled, this is not just Elasticsearch hosted on Azure. Microsoft has provided their own API on top of it, which makes interfacing with the engine more familiar to Microsoft developers and front-end developers.

If you were a PowerShell heavy SharePoint developer who used PowerShell scripting for configuration, then Azure Search’s APIs should feel familiar. However, Azure Search does not include a crawler, which SharePoint users have become accustomed to. Developers are responsible for formatting and feeding the data to the document processor/indexer. While this might seem like a huge oversight, content feeders or crawlers are generally not included in stand-alone search engines like Apache Solr.

Why Azure Search?

Search infrastructure has always been both taxing to maintain and often not cost efficient to scale. Azure search infrastructure is fully managed in the cloud by Microsoft, leaving you bandwidth to build you application. As your search application grows and requires more bandwidth, you can comfortably move up the pricing tier, or move down tiers during the off-season.

The management of the data has all been moved to the front end, exposed through a JSON schema API. There are no predefined index schemas or a crawler to fetch data. This is a “push-based” indexing system, which is common for engines built off Lucene. This allows you to easily separate your data pulling and pushing onto other servers and place less stress on your actual search servers. This also gives you full control on when content is pushed and what content is pushed.

So What’s Next?

Go try it out!

If you have feedback for Microsoft or would like to see what others are saying, please visit: