• Tags
  • About
  • Archive

Szołkowski's Blog

Blog about Optimizely CMS development, .NET, and technical content

Latest post


Apr 13, 2026 | Tags: .NET, OptiPowerTools, OptiPowerTools.Hangfire, background jobs, episerver, hangfire, nuget, open-source, optimizely, scheduled jobs

OptiPowerTools.Hangfire 2.0.0: CMS 13 Support and Sample Jobs

When I released OptiPowerTools.Hangfire back in March, it targeted Optimizely CMS 12. With CMS 13 now out and running on .NET 10, it was time to bring the package along. Version 2.0.0 adds full CMS 13 support, and I also shipped 1.0.1 on the CMS 12 line with sample jobs to help people get started faster.

Read more ...

Apr 9, 2026 | Tags: apple silicon, arm, database, docker, episerver, m1, optimizely, sql server

Running the Optimizely CMS 13 Alloy Site on macOS with Docker

In my first Apple Silicon post and the 2025 revisit I covered running an Optimizely Foundation site on an M1/ARM Mac. This time I wanted to try something smaller — the official Alloy template site for Optimizely CMS 13, which ships with a ready-made Docker Compose setup. On Windows it works out of the box, but on macOS with Apple Silicon a few adjustments are needed before everything runs smoothly.

Read more ...

Mar 31, 2026 | Tags: .NET, OptiPowerTools, OptiPowerTools.Hangfire, background jobs, episerver, hangfire, nuget, open-source, optimizely, scheduled jobs

OptiPowerTools.Hangfire: A Drop-in Hangfire Integration for Optimizely CMS 12

Back in 2024, I wrote a post on Adding Hangfire to Episerver/Optimizely CMS 12, walking through each step of integrating Hangfire into an Optimizely project — the authorization filter, the controller, the view with an iframe, the menu provider, the startup wiring. It was a fair amount of boilerplate, but it worked and people found it useful.

Read more ...

Mar 3, 2026 | Tags: .NET, background jobs, catalog, commerce, episerver, hangfire, optimizely, patterns, scheduled jobs

Catalog Traversal with Hangfire. Part 3: Advanced Job Management

In Part 1, I showed how to build a memory-efficient catalog traversal service, and in Part 2, I demonstrated practical patterns using Optimizely’s built-in scheduled jobs.

Read more ...

Feb 24, 2026 | Tags: .NET, catalog, commerce, episerver, optimizely, patterns, scheduled jobs

Catalog Traversal in Action. Part 2: Real-World Scheduled Job Patterns

In my previous post, I showed how to build a memory-efficient catalog traversal service for Optimizely Commerce. The service uses streaming to process large catalogs without loading everything into memory at once.

Read more ...

Recent posts

  • March 03, 2026: Catalog Traversal with Hangfire. Part 3: Advanced Job Management
  • February 24, 2026: Catalog Traversal in Action. Part 2: Real-World Scheduled Job Patterns
  • February 18, 2026: Memory-Efficient Catalog Traversal in Optimizely Commerce. Part 1: Building the Service
  • October 08, 2025: Quiet Performance Wins: Scheduled Job for SQL Index Maintenance in Optimizely
  • September 04, 2025: How to automatically remove orphaned Opti jobs from the DB
  • June 12, 2025: Tunning Application Insights telemetry filtering in Optimizely
  • May 26, 2025: Running full Optimizely development setup on M1 (ARM) based machine
  • July 31, 2024: Adding Hangfire to Episerver/Optimizely CMS 12
  • August 15, 2023: Add SonarCloud/SonarQube to Episerver/Optimizely 12 project using Github actions
  • July 30, 2022: Add Github pipelines/workflows to Episerver 12 project

Tags

.NET (6) OptiPowerTools (2) OptiPowerTools.Hangfire (2) apple silicon (3) application insights (1) arm (3) background jobs (4) catalog (3) ci (2) commerce (3) database (3) devops (2) docker (1) dxp (1) episerver (14) github (2) hangfire (4) indexes (1) m1 (3) maintenance (2) memory-optimization (1) nuget (2) open-source (2) optimizely (14) patterns (2) performance (2) pipeline (2) scheduled jobs (7) sonarcloud (1) sonarqube (1) sql server (4) workflow (2)

Read more articles | subscribe via RSS