Development

Showing all articles about development

Articles

Simple Feature Flags In Optimizely CMS

Published: 31st August 2025

A simple approach to feature flagging within Optimizely CMS.

LLMS.txt support comes to Stott Robots Handler v5

Published: 8th August 2025

Stott Robots Handler for Optimizely CMS 12 has been released with added support for llms.txt files.

Optimizing Content Security Policies to Stay Within HTTP Header Limits

Published: 1st August 2025

Discover how to audit, reduce, and optimize Content Security Policies. Helping you stay within browser and CDN header size limits.

Stott Security Version 3

Published: 8th April 2025

A summary of all new functionality and changes that have been introduced to the Stott Security module so far.

Opti ID with Secure Cookies And Third Party AddOns

Published: 9th December 2024

How to make sure your cookies and third party addons are properly secured when using Opti ID.

Creating an Optimizely Addon - Best Practices

Published: 24th October 2024

Best practices for creating an Optimizely CMS AddOn.

Creating an Optimizely Addon - Packaging for NuGet

Published: 16th September 2024

How to package your AddOn to be distributed by Optimizely's NuGet feed.

Creating an Optimizely CMS Addon - Adding an Editor Interface Gadget

Published: 30th August 2024

How to create an editor interface gadget within Optimizely CMS PAAS Core.

Creating an Optimizely AddOn - Getting Started

Published: 28th August 2024

How to create an AddOn with it's own UI within Optimizely CMS PAAS Core.

Unit Testing With GitHub Copilot

Published: 6th June 2024

Writing unit tests with the help of GitHub Copilot for the first time.

Stott Security Version 2 So Far

Published: 17th May 2024

A summary of all new functionality and changes that have been introduced to the Stott Security module so far.

Working Programmatically With List Block Properties

Published: 23rd November 2023

Working with programmatic generation of IList style properties in Optimizely CMS 12.

Adding CORS Management to Optimizely CMS 12

Published: 8th October 2023

Adding Cross-origin Resource Sharing response headers to the Stott Security Add-on for Optimizely CMS 12.

Adding Block Specific JavaScript and CSS to the body and head of the page

Published: 2nd October 2023

Using the ClientResource management within Optimizely CMS to render JavaScript and CSS resources correctly within the rendered HTML document.

Extending Geta Optimizely Sitemaps to Include Image Sitemaps

Published: 31st July 2023

Enhancing Geta Optimizely Sitemaps to include Images by overriding the SitemapXmlGenerator.

Making Content Recommendations Easy For Content Editors

Published: 7th July 2023

Making Content Recommendations easy and consistent for content editors using a custom block.

Build it Once (A proposal for CMS 12 builds)

Published: 8th March 2023

A proposition for using Razor Class Libraries and componentising Optimizely CMS 12 builds to reduce long term effort and rebuilding.

Opticon London 2022

Published: 9th November 2022

Information learned at the Opticon London 2022 event hosted by Optimizely.

404 Error on Static Assets Within an Optimizely Plugin

Published: 22nd September 2022

Resolving 404 issues on static files in razor class libraries using the _content/foo.bar/scripts.js path.

Unit Testing Optimizely CMS 12 Dynamic Data Store - Part 2

Published: 20th May 2022

Introducing a second way to mock and unit test with the Dynamic Data Store in Optimizely CMS 12.

Unit Testing Optimizely CMS 12 Dynamic Data Store - Part 1

Published: 19th May 2022

Optimizely CMS 12 provides a Dynamic Data Store for custom storing of data, but how do we unit test a repository using the Dynamic Data Store?

A Robots.Txt Handler for Optimizely CMS 12

Published: 15th December 2021

A new robots.txt handler that has been built for use with Optimizely CMS 12.

Optimizely Search Wildcard Queries and Best Bets

Published: 15th November 2021

Implementing Wild Card search in Optimizely CMS 11 Search and Navigation.

Secure Headers in .NET 5.0

Published: 19th October 2021

Removing information leaking headers and adding security headers in a .NET 5.0 web application using IIS.

Setting Up Search & Navigation in .NET 5.0

Published: 1st October 2021

A brief guide to setting up Optimizely Search and Navigation in the .NET 5.0 world.

Custom Admin Pages in Optimizely 12

Published: 31st August 2021

In an Optimizely 12 .NET 5.0 world, the GuiPlugIn attribute has been removed, Here I describe how to reproduce this functionality with Menu Providers.

Unit Testing Optimizely CMS 11

Published: 29th September 2018

A solution for Unit Testing Custom Criterion for visitor groups in Optimizely CMS 11.

Boosting Exact Matches in Elastic Search

Published: 31st August 2018

A solution for boosting exact matches over partial matches in Elastic Search.

Testing Solutions: Faking Communication with a Third Party Service

Published: 27th July 2015

Creating a test service to allow testers to maintain and vary shared test data for testing integrations to the HMRC test servers within a payroll application.

How not to use Includes in Lambda Statements

Published: 3rd June 2015

Using Lambda Statements in LINQ to Entities is an easy way to include other entities in entity framework 4, but it comes at a cost.

Why not to use In Memory Collections in LINQ to Entities

Published: 25th May 2015

Why not to use large in-memory collections in a LINQ to Entities query in entity framework 4.

Selecting Parent and Children in LINQ to Entities

Published: 24th July 2014

Selecting Parent and Children in LINQ to Entities.

Why I Like BDD

Published: 12th June 2014

How Behaviour Driven Design (BDD) made my life easier.

Failing to Identify the Minimum Viable Product

Published: 21st May 2014

Reflections on an epic product rewrite and how we could have reached the market sooner with some better consideration for Minimum Viable Product.