Microsoft

Blog Categories

Subscribe to RSS feed

Archives

Follow Microsoft Technologies on Pinterest

Posts Tagged ‘SharePoint’

Boosting Cloud Security in Office 365

Microsoft has been spearheading the security campaign across cloud services. This week has been in focus with announcements of new capabilities affecting SharePoint Online (SPO), Email, and customer controls. I’ve been involved in numerous customer strategy sessions where similar concerns were raised. It is becoming increasingly clear that customers are expecting higher level of security controls across all Office 365 workloads. The vision has always been to extend these controls to services beyond email.

ExtendDLP1Data Loss Prevention (DLP) has been part of Exchange since 2013. In this post I explain how DLP feature extends within SPO and OneDrive for Business (OD4B). Last year DLP was added to SPO, where it provided capability to find sensitive information by searching and querying the data. This helped organizations to surface sensitive content, put them on hold for legal benefits, and take manual actions (like export). In Exchange, it provided with policy tips and notification emails. It is this capability that is now being extended to SPO and OD4B which in turn means greater proactive control over sensitive data.

These policies include simple “if-else-then conditions” and actions. It also provides preconfigured templates to start from. Users get real time notification if working within the context of SPO and OneDrive for Business

ExtendDLP2

Within SPO and OD4B it will detect if the user is sharing content externally and provide the user with policy tips. Furthermore it’ll go one level deeper by scanning for document metadata.

ExtendDLP3

Admins will get built in reports for incident and tracking

ExtendDLP4

If until now you were on the edge, concerned with the SPO security capabilities then hang on just a bit more until second quarter of 2015 when it rolls out as public preview.

Image source: Office blogs

New Additions to Delve

This post goes one level further in showcasing features within Office 365 which makes day in life more productive (Read the previous post in this series)

In order to get more background on Delve, read my previous articles here

1. Delve

2. Everything about Delve

3. How Delve makes life easier

4. Global Rollout

“Check out your personalized feed of relevant documents. What you see is based on what you and your colleagues are working on. You can easily find colleagues to learn more about them and what they’re working on. Type your name now to see your own page”

This is what it says when you first sign in to Delve. The focus here is around the most important assets for any organization, “People”. Delve is more than just search. It brings over the content and people you have been working with, content and people trending around you, and it does so by learning your behavior over time. I bring here few quick nuggets of information which can help with your everyday work.

Can’t seem to remember the document(s) you’ve been working on or worked on in the past month or so? Go to Delve and select “Me” on the left panel.

Delve6

 

Do you miss the organization chart from MySite in the past? Select “Profile” and you see their contact information, organization chart, OneDrive, blog information etc.

Delve7

 

Delve8

 

Want to find what your coworker is working on? Get to someone’s profile from Delve screen by searching with their name

Delve9

 

Note: Security is still very much respected and others won’t see the content if permissions don’t allow. Here is a message on your Delve home screen to confirm

Delve5

All this is fine but you are a mobile worker and this alone does make the cut for you. Looking for similar experience on mobile devices? Look no further

Note: mobile app only available on android and iPhone

Delve1  Delve2Delve3Delve4

Advanced Content Targeting in SharePoint – Part 3

This is the third post in this series. In the last two posts (here and here), we implemented a custom token for the logged in user which filters incoming content in the search index based on the user’s profile attributes, and then creating display templates to render custom result URLs. Today we will dive into
extending this concept to the search results hover panel.

Scenariosearching_stick_figure_800_clr_1813
An internal portal accessed by employees and contractors in three dozen locations comprising of countries and/or regions. Authoring takes place in a separate content site and content is rendered on the publishing site. All content is targeted with three important profile attributes –
a. Location (comprises of country and it’s region)
b. Role
c. Business Unit

Each piece of content/link takes the user to the publishing site keeping authoring unexposed to the end user. What this means for search results is
1. The results should be targeted based on user profile properties (mentioned above)
2. Customizing search results URL to point to publishing site
3. Customizing hover preview to display publishing pages (instead of the authoring site content pages)
4. Customizing Control template to implement custom paging

The focus of today’s article will be #3. When SharePoint 2013 came out, the focus was primarily on making sure each result is quick and easy to find and read, while still displaying as much relevant information as possible to the end user.
When the user wants to learn more about a result, they hover their cursor over that result to see the hover panel dialog box.  The hover panel contains rich metadata that enables users to investigate a result more thoroughly, without having to click through and load the document. Hover Panel is broken into three sections
a. Header
b. Body
c. Footer Actions
The files which provide these sections are *HoverPanel.js , *HoverPanel.html, and then html and JS file for each of the following: *HoverPanel_Body, *HoverPanel_Actions, *HoverPanel_Header. These files could be found in the /search center site Master Page gallery.

In order to display the publishing site page in the hover preview we’ll need to make few changes to the OOB hover panel. Let’s start with making a copy of the “Item_DefaultHoverPanel_Actions.html”. This ensures keeping our customization separate.

Step 1
Update the managed property mapping section with our custom properties. In this case RefinableString00 and RefinableString01

hp1

 

Step 2
Snippet to build the linkURL. This linkURL points to the publishing site (instead of authoring)

hp2

Step 3
Render the hover panel header

hp3

Step 4
Render the body section

hp4

 

Step 5

hp5

Towards the end of the above DIV block, add this snippet to enable rendering of your custom preview

hp6

 

 

A Day in the Life of an Office 365 User

shutterstock_158503835

Office 365 comprises of a lot of services and features which can be overwhelming for an end user. More often than not, we hear concerns from organizations and individual users of how roll out of new products and technologies fail. I do not see this as a technology problem, rather a communication and change management issue.

At Perficient, we deal with this day in and day out and understand the importance of a successful roll out. Any big technology implementation requires a significant investment (time and effort) towards creating and utilizing process, training, and governance. It’s not just big talk, but an extremely important undertaking when moving your platform to the cloud (Office 365).

When we look at a typical day in life of an end user from the time they start their day to the time they shut down their devices (and brains), they go through their emails, work on documents, involve in conversations (phone or messaging), search for content, and much more. Office 365 connects all of these tasks and make it seamless so it’s tightly interwoven. In this post I will take the opportunity to showcase few of these scenarios and demonstrate how a day would look like for an office 365 user. Read the rest of this post »

Global Rollout for Office Delve

colored_paper_shutterstock_wordpressFor quite some time I have been sharing my experiences and knowledge around the new Office Graph app (utilizing machine learning) called Delve. It’s great to know that this feature is now public for all Office 365 business subscribers globally. Until now it was only available for “First Release” customers and but everyone who wishes to take benefit of this intelligent new feature can now do so.

I’ll give a quick recap of what Delve encompasses. Delve is always proactively surfacing content from across Office 365. It assists you to discover content from various Office 365 streams including SharePoint Online team sites and OneDrive for Business, Office 365 video portal, and Yammer shared links, and most importantly, email.

Here are some articles which will help you gain more understanding around this cool feature.

  1. Delve
  2. Everything you need to know
  3. Make your life easier
  4. Office announcement

 

Happy Delving!!

 

Microsoft Interview – BI & Health Analytics are Critical to ACOs

population health

As a healthcare organization, being able to easily locate and capture information is critical when it comes to providing quality patient care and maintaining the financial health of the business.

For accountable care organizations (ACOs), managing population health successfully requires the gathering of insights that comes only from a combination of data – data from outside the organization, as well as clinical, operational and financial data that’s internal.

Last week, Dr. Dennis Schmuland, Chief Health Strategy Officer, U.S. Health and Life Sciences at Microsoft, interviewed Christine Bessler, CIO at ProHealth Care, on how the organization stood up an enterprise data warehouse (EDW) to provide value based care, reduce superfluous costs, and diminish the need for costly care. Using EPIC’s Cogito data warehouse as their EDW foundation, ProHealth Care was able to combine clinical, financial, and operational data across 15 primary care clinics, three hospitals, home health care, home hospice service, and long-term care facilities with outside data sources to meet the current needs of their ACO.  Read the full interview here.

Better together: How ProHealth was the first to stand up EPIC’s Cogito data warehouse in a production environment, and how they’ve extended Cogito with Microsoft BI tools…

Bessler: When we made the decision for our ACO to be part of the MSSP Program, we knew we had to also make an organizational commitment to develop a long-term strategic BI roadmap that we could implement in manageable phases, based on our health system’s stage of maturity. To accelerate time-to-benefit, we knew we had to find the most expedient and cost-effective way to maximally leverage our existing investments in EPIC, as well as our other technologies. We needed to extract and integrate EPIC data with data from a myriad of non-EPIC systems, including our operational data and financial data, as well as external data sources like Medicare claims and HCAHPS scores.

With a scope of that magnitude, we knew that complexity would be the biggest threat to our vision and budget. After an extensive evaluation process to consider all the alternatives, we chose Microsoft’s BI stack and tools because of their simplicity, interoperability, and familiarity to both financial and clinical frontline teams. By adding simple and familiar tools like SharePoint 2013, Excel, Power Pivot and PowerQuery to Cogito, we were able to fulfill our vision to make BI self-service. This enabled us to empower executives and frontline employees and clinicians to turn a sea of otherwise blinding data into actionable insights within the context of their day-to-day workflow.

Read the rest of this post »

Advanced Content Targeting in SharePoint – Part 2

This post is a continuation of my previous blog post explaining advanced content targeting using SharePoint search. We saw earlier how to implement a custom token for the logged in user which filters incoming content in the search index based on the user’s profile attributes. Today we are going to look into creating display templates to render custom result URLs. Before we begin let’s refresh our memory with the scenario here

Scenario

An internal portal accessed by employees and contractors in three dozen locations comprising of countries and/or regions. Authoring takes place in a separate content site and content is rendered on the publishing site. All content is targeted with three important profile attributes –

a. Location (comprises of country and their region)
b. Role
c. Business Unit

Each piece of content/link takes the user to the publishing site keeping authoring unexposed to the end user. What this means for search results is

1. The results should be targeted based on user profile properties (mentioned above)
2. Customizing search results URL to point to publishing site
3. Customizing hover preview to display publishing pages (instead of the authoring site content pages)
4. Customizing Control template to implement custom paging

Solution

In the previous post we covered #1 above. This post will focus on #2.

By default all the search results points the user to the actual authoring pages which is (in this case) sitting in a separate site. Because the authoring site (usually) does not have any branding or targeting enabled, we do not want our users to lose their place in the navigation. In order to avoid that we came up with top level category pages with each of them having sub category sections which render page content from the authoring site. So in essence the publishing site URL for any piece of content will look like this: http://inranetportal.com/pages/[categoryname].aspx#[subcategory]. The hash tag in the URL is to enable anchor links (bookmark) feature. It’s not relevant in this context so we’ll leave it out.

1. We declare the managed property mappings – Here we used RefinableString0 and RefinableString1 to map the category and sub category metadata fields.

dt1

2. Build a custom linkURL

dt2

dt3

3. This leads us to the html section to render the linkURL

dt4

4. And this is how the result URL look like

dt6

Advanced Content Targeting using SharePoint Search

There are various ways to achieve content targeting in a content management system. In SharePoint, some common terms which are associated with this feature are Audience Targeting, Security Trimming, Metadata etc. Today I am going to share an example which we recently implemented for our customer and which required advanced targeting rules.

Scenario

An internal portal accessed by employees and contractors in three dozen locations comprising of countries and/or regions. Authoring takes place in a separate content site and content is rendered on a publishing site. All content is targeted with three important profile attributes –

a. Location (comprises of country and their region)

b. Role

c. Business Unit

Each piece of content or even a link takes user to the publishing site keeping authoring unexposed to the end user. What this means to search is

a. Customizing search results URL to point to publishing

b. Customizing hover preview to display publishing pages

c. And most importantly the results should be targeted based on user profile properties (mentioned above)

Solution

In order achieve the above, we designed a custom solution extending content by search web part. This solution inserts a query token into the content search web part which filters the indexed content with logged in user’s profile attributes (Location, Role, Business Unit). (Credit goes to my colleague Ryan Selley for developing this robust solution)

First we’ll map managed properties to crawled properties for the taxonomy terms used to tag content.

mp

Then we’ll create the custom web part in Visual Studio by extending content by search.

wp1

Then we’ll Generate a custom query variable to insert in the search query box.

wp2

Build this custom query token with logged in user’s profile properties in the BuildTAQuery()

wp4

This is how the query text looks in the search web part

wp5

With this token in place your content is now targeted on the user’s profile attributes. The logged in user will now only see content which has been tagged to their location, role, and business unit.

Happy targeted coding!

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;
        }
        else
        {
            string token = OperationContext.Current.RequestContext.RequestMessage.ToString();
            XmlNodeList claimList = GetClaimsList(token);
            XmlNode upn = claimList.OfType<XmlNode>().Where(c => c.Attributes["AttributeNamespace"].Value.ToLower() == "http://schemas.xmlsoap.org/claims" && 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:

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.

Boards

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


Gotchas
:

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

Email

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.

Gotchas:
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