Essential.Diagnostics v2(3 min read)

I have made significant changes in the organisation of the Essential.Diagnostics project; although none of the actual implementations have changed, the project has been split into separate packages for each trace listener, available via NuGet.

The packages are available on NuGet (Essential.Diagnostics), and the source code on CodePlex (Essential.Diagnostics).

The project also has a new logo:

essential-diagnostics-64

Continue reading Essential.Diagnostics v2(3 min read)

SharePoint Online continuous deployment with IonFar Migration(8 min read)

Install-Package IonFar.SharePoint.Migration

The common stack I am currently using to build SharePoint Online solutions generally consists of the following components:

This stack allows automated deployment of the project against a continuous integration (CI) environment. Simple migration scripts (written in PowerShell) are cumulatively run against the environment, and can be easily promoted to a UAT and then Production environment.

IonFar-Basic-Script
Example migration script

Continue reading SharePoint Online continuous deployment with IonFar Migration(8 min read)

SharePoint 2013 – Team Site Guide(11 min read)

A SharePoint deployment typically has different types of sites, with different levels of governance. The central published site usually has tight governance over structure and information, whereas group and team sites have less restrictions and more flexibility.

SPGovernanceLevels

This guidance is around team sites, where although the site collection must initially be set up by a SharePoint administrator, at least some team members have administration permissions to the site and can manage the site schema and structure. Continue reading SharePoint 2013 – Team Site Guide(11 min read)

Apps and other SharePoint client-side development(6 min read)

An expanded client-side development model, which includes Apps as well as techniques such as remote provisioning, was released with SharePoint 2013. SharePoint Online does not support server-side development, apart from limited sandbox solutions, so client-side development must be used, whereas for stand alone SharePoint both the new client-side model as well as the original server-side model are available.

I have used several of the different alternatives for client-side development, and thought I would provide my overview of when each is suitable and my current preferred approaches.
Continue reading Apps and other SharePoint client-side development(6 min read)

A sensible guide to branding SharePoint 2013(9 min read)

This post details my thoughts on where to start with branding for SharePoint 2013. In particular, I think Themes (.spcolor, .spfont) are now usable, and recommend to start there, linking to a couple of resources. But first, I talk about what not to do.

What not to do

It might seem like a good idea to get a graphic design company to develop a whiz-bang look for your intranet, then turn around and ask a web development company to turn it into a SharePoint branding. Often this starts out with an HTML reset or HTML boilerplate.

The core SharePoint stylesheets have over 10,000 lines of CSS -- unless you want to rewrite all of that, you do not want to be doing a CSS reset. You never know when BI dashboard widget XYZ is going to need to display a green/red traffic light based on some CSS buried deep within the core files.

Don't do it.

Continue reading A sensible guide to branding SharePoint 2013(9 min read)

Visual Studio Online – Component architecture(2 min read)

Following on from my colleague Mitch Denny's Federated Identity in Visual Studio Online, I have expanded his work on the directory architecture and partner integration for Visual Studio Online, and expanded to include the other architectural components of a VSO environment such as build servers, deployment targets, and cloud-based load testing.

Visual Studio Online - Component Architecture

Continue reading Visual Studio Online – Component architecture(2 min read)

Ways to load jQuery in SharePoint (2010/2013)(8 min read)

There are many different approachs to using jQuery with SharePoint. Here is a summary of several different methods I have used, including how to get it to play nicely with NuGet.

There are three main decisions to make:

  1. Decide where to put the jQuery files
  2. Add the jQuery (and other) library to the project
  3. Referencing the scripts

Continue reading Ways to load jQuery in SharePoint (2010/2013)(8 min read)

WSRP ‘support’ in SharePoint 2013(4 min read)

Web Service for Remote Portlets (WSRP) is a standard for aggregating content within a host system, allowing the content to come from an external system, yet styling to be provided by the host.

SharePoint has 'support' for WSRP since SharePoint 2007, via the WSRP Viewer web part (Enterprise), however while it may technically meet the standard it is all but useless for anything except the most basic of requirements (as at the current version, SharePoint 2013).

Continue reading WSRP ‘support’ in SharePoint 2013(4 min read)

XML Logging in the .NET Framework(13 min read)

This was originally going to be some guideline instructions for a CodePlex project, Essential.Diagnostics that I work on, but it ended up being more an opinion piece so I thought it would fit better on a blog.

There are several trace listeners (loggers) in the .NET Framework that can produce XML output. Outputting to XML results in more complex (verbose) files than, say, a simple text file output, but usually has the benefit of being better processed by tools, correlated across tiers, etc.

There are three main XML listeners, plus one extension in Essential.Diagnostics:

  • XmlWriterTraceListener
  • RollingXmlTraceListener (in Essential.Diagnostics)
  • EventSchemaTraceListener (in System.Core)
  • EventProviderTraceListener (in System.Core)

Examples of how to configure and use each one (used to produce the output below) is provided in the Essential.Diagnostics project.
Continue reading XML Logging in the .NET Framework(13 min read)

Windows 8 Developer Preview Safe Mode(1 min read)

In Windows 8 the 'Safe Mode' option is not available on the boot with F8 screen, prompting several guides on creating an additional boot entry using BCDEDIT and chaning the properties via the Windows GUI -- not much use if your machine has already run into trouble.

Shift+F8 is the secret key that gets the old boot options menu, with 'Safe Mode', but you need to hold it down during POST and keep holding it down until the "Advanced Boot Option" screen appears, otherwise you can't time it right (unlike F8, or F10 below, which you just hit at the beginning of the boot).

Also the Edit Boot Options menu, available via boot with F10, is still available, and that allows low level control of all the boot options.

I couldn't track down a current reference for the options, but did find one for Windows XP / Server 2003, most of which still appear relevant: http://support.microsoft.com/kb/833721

To get the same as 'Safe Mode with Networking':

  1. Press F10 while booting
  2. You should get a text screen titled "Edit Boot Options", with a section "Edit Windows Boot options for: Windows Developer Preview"
  3. There should be an input area that already has "/NOEXECUTE=OPTIN" (in my case it also had "/HYPERVISORLAUNCHTYPE=AUTO", which I think is because I am running Hyper-V)
  4. Add "/SAFEBOOT:NETWORK" (Note: "/NOGUIBOOT" doesn't seem to work -- it still shows the loading screen, so options like "/SOS" didn't work)
  5. Hit ENTER to boot

Safe Mode is important for an early Developer Preview like this as drivers issues are much more likely (I ran into problems trying to add the NVIDIA drivers for my Alienware M14x and had to boot into safe mode to uninstall them).