Posts

Azure Custom Role Definitions and Assignment Scopes

Afbeelding
Working with custom Role Definitions in Azure can be a funny thing.Interestingly, when reviewing the Azure Active Directory user interface in Azure Portal you will not find a way to query all available role definitions. If you query the Roles and Administrators view you will only see administrator roles:With a PowerShell cmdlet you are able to list all. Get-AzRoleDefinition | select name | sort name | ft results in something like the following:Name ---- AcrDelete AcrImageSigner AcrPull AcrPush AcrQuarantineReader AcrQuarantineWriter API Management Service Contributor API Management Service Operator Role API Management Service Reader Role App Configuration Data Owner ... But are these really all the role definitions out there? Obviously not! This list is scoped to the subscription you are currently targeting with your current Azure Context.
In order for you to try out yourself, just create a couple of role definitions with various assignment scopes. Assuming you have owner permissions …

CSOM tenant API support on-premise

A while ago I tried out the CSOM tenant API on-premise with SharePoint 2013. I then thought that I wasn’t able to get it working.

Then “Vesku” published a new blog on this matter:

http://blogs.msdn.com/b/vesku/archive/2015/12/04/sharepoint-tenant-csom-object-support-in-sharepoint-2013-and-2016.aspx

It appears that only a limited set of the tenant CSOM API is supported on-premise. For example, I tried to read the app catalog, but that does not work.

He writes:
All other methods of the Tenant object are not supported and will cause for exceptions due dependencies on site subscription, which typically does not exist in the on-premises deployment. Therefore, this fragment does not work:
# http://zimmergren.net/technical/office-365-dev-tip-getting-all-apps-from-your-tenant-app-catalog-using-the-office-365-csom-api $coll = $tenant.GetAppInfoByName([string]::Empty) $tenant.Context.Load($coll) $tenant.Context.ExecuteQuery()
Resulting in the exception: Exception calling "Execu…

Azure Resource Management: Switch-AzureMode is not recognized

For all of you working in Visual Studio with the Azure Resource Management (ARM) templates: When you get the PowerShell exception that the cmdlet Switch-AzureMode cannot be found, please take note of the following:23 November: Microsoft released Azure PowerShell 1.0 and deprecated / removed the former ARM Switch-AzureMode completely. Based on clear feedback this stateful model was absolutely not desired: https://azure.microsoft.com/nl-nl/blog/azps-1-0/30 November: Microsoft released Azure SDK 2.8. This incorporates new ARM templates for Visual Studio, based on the new ARM cmdlets. You can download the SDK over here: https://azure.microsoft.com/en-us/downloads/archive-net-downloads/30 November: Microsoft released Visual Studio 2015 update 1. This does not update Azure SDK. You will need to update the SDK yourself.So bottom-line, don’t mix Azure PowerShell 1.0 with the former versions of Azure SDK pre 2.8. Enjoy working with the ARM toolset! If you are looking for a tutorial, I recommen…

Client-side search webpart extension for filtering on followed sites

As all of you know SharePoint 2013 comes with a much improved search webpart infrastructure. One can even build search filters based on user profile properties in order to build personalized experiences (refer to the Technet article Query variables in SharePoint 2013).
Strangely, it is currently not possible to filter search results based on the followed sites. Take the scenario where you have hundreds of sites that have stored documents, list items, etc. and you want to show a list of recently added items to the user for all his followed sites.

(people that can't wait and want the ready-to-use solution: go straight to the ce_followedsites.html gist. Others, read along!)

JavaScript-only solutions have their limitations
Most examples in the blogosphere provide a JavaScript focused solution where you need to include the specific business rules into code for filtering and rendering. What I started to wondering whether it would be possible to extend the search webparts with a custom to…

WhatsApp integration with your CRM system

A Dutch retailer published some interesting news: they were successful in integrating their CRM system with the WhatsApp channel. WhatsApp is currently the most often used app on mobile devices:
4 out of 10 users are using WhatsApp business-wise;in average people receive 65 new messages per day;People in the age range of 18 and 34 even receive 150 message per day, and send 60 messages per day on average.Deep integration between WhatsApp and CRM
For me the catch in this news is the option that WhatsApp provides options to integrate the communication stream into one's backend system. When a customer sends a message, the CRM system provides full context information towards the employee: who, what, where.
http://www.frankwatching.com/archive/2015/10/05/whatsapp-als-servicekanaal-suitsupply-pakt-het-innovatief-aan-case/

TypeScript async/await example for the browser

With the release of TypeScript 1.6 it is now possible to start using the async and await operators in your TypeScript code! You will need to enable this experimental feature, and you will need to target ES6, as TypeScript 1.6 is currently only emitting ES6 generator / yield code for your async / await code. Then when you apply for example Babel to take your JavaScript ES6 code to ES5 code, it suddenly became possible to run your async / await enabled TypeScript code in the browser!I have compiled a working sample project to show you the application. See the following GitHub repository: https://github.com/cveld/AsyncAwait-TypeScript-ExampleThe following components have been used:Visual Studio 2015; not required, but you get perfect syntax highlighting; ASP.NET 5 beta7 web project template; TypeScript 1.6; starting from version 1.6 it supports the experimental async and await operators. You will need to set ES6 as the target. TypeScript 1.6 does not support transpiling into ES5 of awa…

Office Patterns & Practices: remote provisioning framework

Afbeelding
Most of you do probably know the Office Dev Center; the portal for (SharePoint) Office development. But who is familiar with the Office Dev Patterns & Practices initiative? This initiative lead by Microsoft has as main goal to provide a central repository for all code, solutions, patterns, examples with regards to (SharePoint) Office development. Their most important asset is their GIT repository of which the first delivery was done in May 2014. https://github.com/OfficeDev/PnP/wikiOffice Patterns & Practices is also to be found on Channel9: http://channel9.msdn.com/blogs/OfficeDevPnPNew: remote provisioning frameworkA very interesting addition recently made is a first version of a remote provisioning framework  in order to provision sites based on templated configuration files. This requirement lives with lots of customers and using this framework we can provide faster solution to address the needs. Check the demo video on Channel9: http://channel9.msdn.com/blogs/OfficeDevPnP…