Posts

Azure Functions & DLL hell reborn

Image
Part of the project I am engaged with involves developing Azure Functions.  The dev team have created a single function and have it working perfectly triggering every 10 minutes during the day.  It is for the processing of surveys that are being managed by our system but have connectors into various survey platforms. I was asked to create a new process that would interrogate the Verint API and look for new surveys that have certain properties so that they could be automatically added to our system for automated extraction and analysis. As this was a specific requirement that came from a single customer, I decided that it was best not to alter our generic code that was already developed and working, but rather stand up a new process that will handle the specific need.  I chose to also implement an Azure Function (timer job). As the API for adding surveys to our system was not yet delivered (coming in the next phase), I needed to implement the code that would insert the dat...

Material design update 2.0.0-beta.2

So I was happily coding away making changes to my test site where I am learning more about the capabilities of Angular 2 when all of a sudden my automated deployment to Azure gave me a broken page. The error in the console was: md-input-container must contain an mdInput directive. Did you forget to add mdInput to the native input or textarea element? This is thought was a bit strange as it was working fine locally on both Mac and PC, but on Azure it was giving me this error.  So I deployed an older build and everything was good again. The area of concern was this: <md-input-container>    <input md-input type="text" class="home-input" id="name" placeholder="name"        required        [(ngModel)]="postcode" name="postcode" /> </md-input-container> After a little digging I found that my CI build on Azure was getting the latest for material2 and therefore was a victim of the latest updates in bet...

Kerberos setup for SharePoint 2013

If using Kerberos then the following needs configuring (this is similar to how it is done for SP2010). Note: The authentication method for Web Applications must be Claims (the default) if you want to support all SharePoint App scenarios. Classic Windows authentication is not supported (in SharePoint 2013 the only way to create this type of Web Application is using PowerShell). Create SPNs In a PowerShell window create the SPN’s for each web application for both the short name and FQDN, e.g. setSPN –S HTTP/PORTAL DOMAIN\PortalAppPool setSPN –S HTTP/PORTAL.DOMAIN.COM DOMAIN\PortalAppPool Allow ‘Trust for delegation’ Open Active Directory Users and Computers applet View the Properties for your SharePoint server On the Delegation tab select Trust this computer for delegation to any service Click Ok Repeat steps a-d for any other servers that will need to delegate authentication, e.g. all WFE’s, CA, App server, etc. Configure SharePoint Web Application to use Kerberos authenti...

Performance Counters

Image
Performance counters are strange beasts but can be quite useful in order to keep an eye on how custom code is performing in a production environment, and can be invaluable to support staff or infrastructure teams in diagnosing potential causes of system resource issues. There are a few 'gotchas' though and I will try to list as many of them as I can recall: Creating a new performance counter category should ideally be done by a separate utility as the new category cannot be used by your custom code directly after it has been created. Also the process creating the counter categories must have write access to the registry. Counter values will expire after the allotted time interval, so for example an AverageTimer counter type needs to be populated at least once every second otherwise you end up with zero values (and an ugly chart when using perfmon). Choosing the correct counter type is important, and remember that a lot of the hard work is done for you all you need to do is sup...

Claims with NTLM and authentication prompts

Investigating an ongoing problem where a Web Application configured with Claims Authentication (with NTLM) occasionally causes users to re-enter credentials through a pop up dialog. We have been looking into this issue for a long time with no clear-cut answer as to why it is happening, and more confusingly it only happened in our Live environment and not on our development or test servers. So we decided to set up a new environment (1 APP + 1 WFE) and configure it to run the same site collection, but this time configured to use Claims with Kerberos as the authentication method. After carefully configuring everything (including SPNs), everything seemed to be running smoothly until it was unleashed on our tester. Within the first hour he was presented with a login prompt, so I had a close look at the ULS logs and found a few unexpected error entries corresponding to Claims Authentication: 09/20/2011 15:11:25.20 w3wp.exe (0x03E0) 0x1ABC SharePoint Foundation Claims Authentication bz7l Medi...