Blog Categories

Subscribe to RSS feed


Follow Microsoft Technologies on Pinterest

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


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.


Admins will get built in reports for incident and tracking


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

Office 365 – Unable to Activate Directory Synchronization

Between demos, trials and actual production environments, I’ve probably activated Directory Synchronization on a couple hundred tenants at this point. The process is pretty non-eventful, you add a domain, validate it and click the button that says “Activate”; then it’s on to the fun stuff.

Just when you start to feel like you’ve seen just about everything, technology is quick to bring you back down to earth…

I recently worked with a client that for some odd reason, we could not activate Directory Synchronization in their tenant. After working with support for a couple days, it turned out to be something quite ridiculously simple.
Read the rest of this post »

Sitecore with Slow Cheetah and Web Deploy

When you combine Slow Cheetah with Web Deploy in a Sitecore solution you get the benefits of quick deployments with the ability to store any custom code and configuration in your source control. Slow Cheetah brings xml transformations to Sitecore so you only specify the differences between configuration files and can store every environment’s configuration in a single source control repository without polluting the project. Web Deploy offers one button deployments and only transfers the files that have changed. Together, they reduce the complexity of deployments and help you keep track of all of the configuration files in Sitecore.

Slow Cheetah

Slow Cheetah is a fantastic, free Visual Studio extension by Sayed I Hashimi (he needs a raise). It uses XSL syntax to transform configuration files. If you’ve worked with Sitecore, you know the plethora of configuration files you have to deal with. Slow Cheetah will nest config transform files under a configuration file in Solution Explorer and gives you a shortcut to create these transforms for every publishing profile. In these transforms, you only specify the changes from the original and when you publish to the associated profile, the configuration file is updated automatically.

You can install Slow Cheetah in your Visual Studio solution (2013 Professional + and earlier versions) by selecting Tools -> Extensions and Updates. Select Online from the left pane. Enter Slow Cheetah in the search box and press enter. Select and install Slow Cheetah – XML Transforms.

Unfortunately, Sayed is unable to continue support for Slow Cheetah past Visual Studio 2013, but Microsoft has said that they will bake XML Transformations into future versions of ASP.Net and Visual Studio (let’s hope that happens soon).

Web Deploy

Web Deploy is an excellent, free IIS extension that allows you to publish changes to web applications on the server. Using Visual Studio, you can create a publishing profile that will build your Sitecore solution and then automatically transfer only the changed files to the server.

There are decent articles on installing Web Deploy on your server, but a brief summary is:

  • Install the Web Management Service on your server
  • Create a local user for deployment
  • Install Web Deploy
  • Configure your IIS site for Web Deploy
  • Create a Web Deploy publish profile in your Visual Studio solution


Once you have both extensions installed and working you can include the configuration files that change between environments in your solution and source control repository. I would suggest you try to keep this to a minimum, but some configuration files are necessary. In fact, with these 2 extensions I was able to keep almost all changes to the Sitecore configuration in the config transformations for just 1 configuration file.

Most Sitecore projects will be using multiple servers in each environment and should follow the Sitecore recommendations for each server role. These tools can help you maintain the different configuration changes from Visual Studio and store them in your source control.

Slow Cheetah and Web Deploy will help you maintain your configuration files in one place and deploy them quickly. The changes can be stored in source control while not cluttering your solution. Only the changes are transmitted to the server making deployments quick and accurate.

Working with dynamic schema in Azure DocumentDB

dynamicAbout a week ago Azure DocumentDB, a new Microsoft’s entry into NoSql database market, become generally available. DocumentDB allows user to to store/update/delete arbitrary objects (as complex as needed, not limited by relation structure) and query these objects using a special (quite limited) flavor of SQL (yes, SQL!) or LINQ when it’s used from .NET. Although these kinds of databases are called NoSql, they should rather be called object databases, or non-relational, because, well, you can still use SQL to query them.

So, these objects that you can story in DocumentDB, they could be really anything. However, in order to effectively use DocumentDB .NET client library, you need to know the object schema in advance. For example, let’s say you have the following class:

public class Person
  public string FirstName { get; set; }
  public string LastName { get; set; }

And then you instantiating the object of this class and storing it to DocumentDB (assuming that you already created database, document connection and client): Read the rest of this post »

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.



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.





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



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


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

BUILD & IGNITE Know It. Prove It. Tech Challenge Tour


I recently blogged about my personal experiences with the first “Know it. Prove it.” challenge that ran through the month of February 2015. The “Know it. Prove it.” challenge is back! This time it’s bigger and better than ever. The new challenge is a companion to both the Build and Ignite Conferences with 11 amazing tracks for both Developers and IT Professionals. Also, just like the first round, this set of challenges are completely Free!

Join the tour and accept a challenge today.

Whether you’re looking to learn something new or just brush up on something you’re already using, there’s definitely a challenge track for you.

Read the rest of this post »

2015 Microsoft MVP Virtual Conference – The Power of Community

The Microsoft MVP Virtual Conference is a virtual/remote, 2 day live event on May 14 – 15, 2015. This is a brand new conference presented entirely by Microsoft MVP’s! Conference sessions will be provided in IT Professional, Developer and Consumer tracks, in addition with sessions available in English, Spanish or Portuguese tracks.


The full agenda for the sessions and tracks of the conference is really long. There is a ton of sessions being presented in this conference and it appears to be a very excellent event. Along with it being free to attend, it should be pretty phenomenal. Plus, you don’t have to pay for airfare or hotel accommodations since you can attend from home or work!

Register | Agenda | Sessions

2015 Global Azure Bootcamp

2015-AzureBootcamp_logo_frontThe third annual Global Azure Bootcamp is coming Saturday, April 25, 2015. The bootcamp is a free deep dive into getting familiar with developing Cloud Computing Applications for Azure over the course of a single day. This year there are a total of 194 confirmed locations around the globe where you can attend the event.

In 2014 they leveraged a huge compute farm to perform diabetes research. This year everyone attending will have the opportunity to contribute to a massive compute pool used for performing breast cancer research! Read the rest of this post »

The Skype For Business Client Has Arrived!

Today is the day that the official Skype For Business Client gets released!

I have been using the Technical Preview for about a week now and can honestly say that I like the new Skype-influenced interface. I have a couple customers that have been waiting for this new UI to come out before they begin their client rollout, because they feel that there will be better user adoption due to the familiar Skype interface. Microsoft has released some Client Awareness and Readiness resources to help organizations educate their end users and have a smooth transition to the new interface. These resources can be downloaded here.

This client update is available for the Office Pro Plus and Office 2013 Professional Suite. I am expecting an update to the Mobile client as well but I have yet to see too much information on it and it has yet to show up in my Google Android App Store. The update for the Professional Suite comes in the form of a patch for the Lync 2013 client – KB2889923 – and is currently available via Windows Update. The manual patch installer will eventually be made available here for download.  Depending on your organization’s Lync policies, you may or may not see the new client UI as it can be controlled via a Client Policy with the attribute of EnableSkypeUI and by a registry key – more info on controlling the Skype UI can be found here.

The new client version is 15.0.4711.1002 if you would like to check to see what version you are running.

I did not have any problems updating my Technical Preview client via Windows Update, all that was required was a restart.

Now on to the actual client interface, there are almost too many UI tweaks to cover. I will hit on a few that I think are the best (in no particular order).

  • Call Monitor – this is a compact window that will allow you to monitor the call you are in while the main call window is not up, allowing you to focus on another program. You can see the duration of the call and can mute or end the audio or video call from this collapsed view.
    • Audio Call Screenshot


    • Video Call Screenshot



  •  Alert customization – I can control where my alerts appear by choosing between multiple monitors and the position that the alert toasts pop up.


  • Call Window – there is no more hovering to select options!  The new call control button now includes the dial pad, Call Transfer, Hold, Devices, and call volume .


My only complaint about the new Call Window is that the Participant List, Add New Participant, Instant Messaging, Call Control and Meeting Options are spread out to each corner of the window – depending on your screen real estate this can be a bit of a pain to navigate between but you can tell they had the touch experience in mind.






Office 365 – Script to Change UPN between Federated Domains

Nothing too fancy in this post, just a quick script that can help make a nuisance of a task easier…

There’s been a long-standing issue with Office 365 where you cannot change a user’s userPrincipalName (UPN) from one federated domain to another. As an example, if you have federated the domains “” and “”, changing a user’s UPN suffix between the two will fail.

Given the practice of matching the user’s UPN to their primary email address, it’s feasible that you’ll run across this change at some point, especially in larger environments with many federated domains and people that move between business units.

When attempting to make the UPN change, the tenant’s technical contact will receive a “Directory Synchronization Error Report” email which contains the new userPrincipalName and the user’s immutableID.

In order to remediate the issue, we need the user’s old userPrincipalName; the script below helps with getting the proper value and making the necessary change.
Read the rest of this post »