Welcome to my blog and follow me on Twitter

Case Study : opportunity to leverage Spotlight & Alchemy’s NLP capabilities within an open source SharePoint auto-tagger


This blog post deviates a bit from my usual topics but as I recently had to make an analysis in the context of a master degree I'm attending at night, I thought it might be an interesting reading for some folks, so I'm publishing the paper I wrote for a particular course.

  • The paper is here
  • The associated video can be found on Youtube

KeyVaultClientException: Operation "get" is not allowed


If you happen to encounter any security exception with keyvault, make sure you pay attention to how you grant access to the Azure Active Directory Application. To grant access to the application, make sure you grant it to the corresponding service principal and not to the app itself.

One of my team mate went through the application endpoint of the Graph Explorer this way:


Managing expiration of Azure Active Directory Application Client Secrets


As I am more and more using Azure Active Directory Applications to consume online services such as SharePoint Online, Yammer etc., I found myself annoyed with the duration of the client secrets.

As you know, when creating an app from the UI, you can set permissions and create a secret key with the GUI:

but it only lets you chose either 1 year either 2 years with a startdate being the creation date.

Azure Application Permissions vs SharePoint Add-In permissions, the obvious that's not so obvious


I don't know if you've ever played with Azure Active Directory Application permissions to consume SharePoint Online but you should know that the major advantage they offer compared to Add-Ins is that you can grant Azure Applications access to SharePoint in a transparent way for end users since you don't need to install anything in SharePoint.

NuGet package for Yammer Export API


I have developed a NuGet package that helps exporting data from Yammer. It's a simple .NET wrapper that consumes the Yammer export API. It allows you to retrieve either :

  • Files (metadata only or metadata+binaries)
  • Administrators
  • Groups
  • Inbound Threads, meaning external messages in which internal users take part
  • Outbound Threads, meaning internal messages in which external users take part
  • Messages
  • Networks
  • Topics
  • Pages
  • Users

Nuget package for DBPedia Spotlight


I have developed a small .NET wrapper for DBPedia Spotlight in order to facilitate the consumption of their web service. Once you've downloaded the package in your solution, you can easily use it the following way:

  static void Main(string[] args)
            SpotlightRequestConfig cfg = new SpotlightRequestConfig(
                "Somme text", "http://spotlight.sztaki.hu:2222/rest/");

My Top 3 SharePoint Online oddities


Here is my list of the weirdest issues I have experienced with SharePoint Online. Some of them are also reproduceable on-prem, some are not. I don't know if these are bugs or "by design" issues.

List with unique permissions in App Web

Did you know that if you want to have list with unique permissions in an App-Web (being part of an Add-In deployment), you must ask at least the Manage List permission in the App Manifest.

A missing piece in the Azure Application Proxy but there is hope


At the time of writing, the Azure Application Proxy makes it easy to pubish an on-prem web application to Azure. There are tons of resources explaining how to do that and it is a straightforward process.

Create a federated Office 365 lab with Azure and AD Connect in exactly 10 steps (or a little more...)!


Azure AD Connect was recently released by Microsoft to help federating on-premises environments with Office 365. I have tested it and created my own lab (now working fine). I have identified exactly 10 steps to build such environment. I'm not going to dive in the details on how to complete these 10 steps because it'd be way too long and I'd loose most of the readers after a few steps only. Here the idea is to share the AD Connect experience and potential problems you might encounter with the solutions you could try.