Seq TraceListener for System.Diagnostics(1 min read)

Following hot on the heels of v2 of Essential.Diagnostics, work on the beta version of the Essential.Diagnostics.SeqTraceListener has been completed, and it has been published to NuGet.

PM> Install-Package Essential.Diagnostics.SeqTraceListener

This provides a trace listener implementation that forwards messages to a Seq logging server. For performance it forwards messages in batches (with the first message being sent immediately, so you know the system is up and running), with automatic back off and retry when there are interruptions to the network communication.

This component can be used with the new Microsoft.Extensions.Logging for .NET 4.5.1 and above, or with Sytem.Diagnostics.TraceSource for .NET 2.0 through 4.5.

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)