<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><language>en</language><title>Blog posts by Szołkowski Blog</title> <link>https://world.optimizely.com/blogs/szokowski-blog/</link><description></description><ttl>60</ttl><generator>Optimizely World</generator><item> <title>OptiPowerTools.Hangfire 2.0.0: CMS 13 Support and Sample Jobs</title>            <link>https://szolkowski.github.io/2026/04/13/OptiPowerTools-Hangfire-2.0-CMS-13-Support</link>            <description>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.</description>            <guid>https://szolkowski.github.io/2026/04/13/OptiPowerTools-Hangfire-2.0-CMS-13-Support</guid>            <pubDate>Mon, 13 Apr 2026 09:00:00 GMT</pubDate>           <category>Blog post</category></item><item> <title>Running the Optimizely CMS 13 Alloy Site on macOS with Docker</title>            <link>https://szolkowski.github.io/2026/04/09/optimizely-alloy-on-macos-apple-silicon</link>            <description>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.</description>            <guid>https://szolkowski.github.io/2026/04/09/optimizely-alloy-on-macos-apple-silicon</guid>            <pubDate>Thu, 09 Apr 2026 09:00:00 GMT</pubDate>           <category>Blog post</category></item><item> <title>OptiPowerTools.Hangfire: A Drop-in Hangfire Integration for Optimizely CMS 12</title>            <link>https://szolkowski.github.io/2026/03/31/OptiPowerTools.Hangfire-A-Drop-in-Hangfire-Integration-for-Optimizely-CMS-12</link>            <description>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.</description>            <guid>https://szolkowski.github.io/2026/03/31/OptiPowerTools.Hangfire-A-Drop-in-Hangfire-Integration-for-Optimizely-CMS-12</guid>            <pubDate>Tue, 31 Mar 2026 08:00:00 GMT</pubDate>           <category>Blog post</category></item><item> <title>Catalog Traversal with Hangfire. Part 3: Advanced Job Management</title>            <link>https://szolkowski.github.io/2026/03/03/Catalog-Traversal-with-Hangfire-Part-3-Advanced-Job-Management</link>            <description>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.</description>            <guid>https://szolkowski.github.io/2026/03/03/Catalog-Traversal-with-Hangfire-Part-3-Advanced-Job-Management</guid>            <pubDate>Tue, 03 Mar 2026 08:00:00 GMT</pubDate>           <category>Blog post</category></item><item> <title>Catalog Traversal in Action. Part 2: Real-World Scheduled Job Patterns</title>            <link>https://szolkowski.github.io/2026/02/24/Catalog-Traversal-in-Action-Part-2-Real-World-Scheduled-Job-Patterns</link>            <description>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.</description>            <guid>https://szolkowski.github.io/2026/02/24/Catalog-Traversal-in-Action-Part-2-Real-World-Scheduled-Job-Patterns</guid>            <pubDate>Tue, 24 Feb 2026 08:00:00 GMT</pubDate>           <category>Blog post</category></item><item> <title>Memory-Efficient Catalog Traversal in Optimizely Commerce. Part 1: Building the Service</title>            <link>https://szolkowski.github.io/2026/02/18/Memory-Efficient-Catalog-Traversal-in-Optimizely-Commerce-Part-1-Building-the-Service</link>            <description>If you’ve worked with Optimizely Commerce for any length of time, you’ve probably faced this scenario: you need to process an entire product catalog in a scheduled job. Maybe you’re syncing to an external PIM system, exporting data for analytics, or performing bulk updates. The straightforward approach of loading all products into memory works fine for small catalogs, but once you hit thousands of products, things start to get uncomfortable.</description>            <guid>https://szolkowski.github.io/2026/02/18/Memory-Efficient-Catalog-Traversal-in-Optimizely-Commerce-Part-1-Building-the-Service</guid>            <pubDate>Wed, 18 Feb 2026 08:00:00 GMT</pubDate>           <category>Blog post</category></item><item> <title>Memory-Efficient Catalog Traversal in Optimizely Commerce. Part 1: Building the Service</title>            <link>https://szolkowski.github.io/2026/01/18/Memory-Efficient-Catalog-Traversal-in-Optimizely-Commerce-Part-1-Building-the-Service</link>            <description>If you’ve worked with Optimizely Commerce for any length of time, you’ve probably faced this scenario: you need to process an entire product catalog in a scheduled job. Maybe you’re syncing to an external PIM system, exporting data for analytics, or performing bulk updates. The straightforward approach of loading all products into memory works fine for small catalogs, but once you hit thousands of products, things start to get uncomfortable.</description>            <guid>https://szolkowski.github.io/2026/01/18/Memory-Efficient-Catalog-Traversal-in-Optimizely-Commerce-Part-1-Building-the-Service</guid>            <pubDate>Sun, 18 Jan 2026 08:00:00 GMT</pubDate>           <category>Blog post</category></item><item> <title>Quiet Performance Wins: Scheduled Job for SQL Index Maintenance in Optimizely</title>            <link>https://szolkowski.github.io/2025/10/08/Quiet-Performance-Wins-Scheduled-Job-for-SQL-Index-Maintenance-in-Optimizely</link>            <description>As Optimizely CMS projects grow, it’s not uncommon to introduce custom tables—whether for integrations, caching, or specialized business logic. But with great schema comes great responsibility: SQL Server indexes and statistics need love too.</description>            <guid>https://szolkowski.github.io/2025/10/08/Quiet-Performance-Wins-Scheduled-Job-for-SQL-Index-Maintenance-in-Optimizely</guid>            <pubDate>Wed, 08 Oct 2025 08:00:00 GMT</pubDate>           <category>Blog post</category></item><item> <title>How to automatically remove orphaned Opti jobs from the DB</title>            <link>https://szolkowski.github.io/2025/09/04/automatically-removing-orphaned-jobs-from-db</link>            <description>Optimizely CMS provides a simple yet powerful built-in job system that handles most standard scheduling scenarios with ease. Developers can easily implement these jobs to run automatically on a defined schedule or trigger them manually through the CMS interface. From my experience as an Optimizely/Episerver developer, manual jobs are especially useful for one-off operations or bulk content updates. Typically, these jobs serve a temporary purpose and are removed from the codebase in subsequent releases once they’ve fulfilled their role.</description>            <guid>https://szolkowski.github.io/2025/09/04/automatically-removing-orphaned-jobs-from-db</guid>            <pubDate>Thu, 04 Sep 2025 08:00:00 GMT</pubDate>           <category>Blog post</category></item><item> <title>Tunning Application Insights telemetry filtering in Optimizely</title>            <link>https://szolkowski.github.io/2025/06/12/episerver-and_application_insights_filters</link>            <description>Application Insights is a cloud-based service designed to monitor web applications, providing insights into performance, errors, and user behavior, which integrates very well with the Optimizely CMS/Commerce solution and is included in the default DXP experience. However, like any generic tool for complex systems, it can be tuned to work even better for specific platforms and projects.</description>            <guid>https://szolkowski.github.io/2025/06/12/episerver-and_application_insights_filters</guid>            <pubDate>Thu, 12 Jun 2025 08:00:00 GMT</pubDate>           <category>Blog post</category></item><item> <title>Running full Optimizely development setup on M1 (ARM) based machine</title>            <link>https://szolkowski.github.io/2025/05/26/episerver-on-apple-silicon-2025</link>            <description>A few years ago I posted post about how to run Optimizely/Episerver on M1 (ARM) based machine, so I think it is high time to revisit and check what did change.</description>            <guid>https://szolkowski.github.io/2025/05/26/episerver-on-apple-silicon-2025</guid>            <pubDate>Mon, 26 May 2025 08:00:00 GMT</pubDate>           <category>Blog post</category></item><item> <title>Adding Hangfire to Episerver/Optimizely CMS 12</title>            <link>https://szolkowski.github.io/2024/07/31/adding-hangfire-to-epi-12</link>            <description>Episerver/Optimizely contains build ScheduledJobs support which does its job for internal EPI jobs and simple custom cases, however, when the app grows and we need more and more jobs it fails behind dedicated solutions.</description>            <guid>https://szolkowski.github.io/2024/07/31/adding-hangfire-to-epi-12</guid>            <pubDate>Wed, 31 Jul 2024 12:57:48 GMT</pubDate>           <category>Blog post</category></item><item> <title>Adding Hangfire to Episerver/Optimizely CMS 12</title>            <link>https://szolkowski.github.io/2024/07/11/adding-hangfire-to-epi-12</link>            <description>Episerver/Optimizely contains build ScheduledJobs support which does its job for internal EPI jobs and simple custom cases, however, when the app grows and we need more and more jobs it fails behind dedicated solutions.</description>            <guid>https://szolkowski.github.io/2024/07/11/adding-hangfire-to-epi-12</guid>            <pubDate>Thu, 11 Jul 2024 10:46:48 GMT</pubDate>           <category>Blog post</category></item><item> <title>Add SonarCloud/SonarQube to Episerver/Optimizely 12 project using Github actions</title>            <link>https://szolkowski.github.io/2023/08/15/add-sonarcloud-to-epi-12-pipeline</link>            <description>In my previous post Add Github pipelines/workflows to Episerver 12 project I have briefly explained how to add simple pipeline/workflow to Episerver/Optimizely 12 project. Having project build for each PR and on main branch push is nice improvement, but we can make it even better. For this example I will add SonarCloud integration to my existing workflow from my previous post. You can see it on my Foundation fork - it will be using Github actions on each pull request and on main branch.</description>            <guid>https://szolkowski.github.io/2023/08/15/add-sonarcloud-to-epi-12-pipeline</guid>            <pubDate>Tue, 15 Aug 2023 17:31:48 GMT</pubDate>           <category>Blog post</category></item><item> <title>Add Github pipelines/workflows to Episerver 12 project</title>            <link>https://szolkowski.github.io/2022/07/30/add-github-pipeline-to-epi-12</link>            <description>With Episerver 12 moving to .NET 5/6 civilization come to devops handling of Episerver projects and we can easily integrate modern CI approaches using pipelines. For this example I will add simple building of my Foundation fork using Github version of pipelines called “workflows” on each pull request and on main branch.</description>            <guid>https://szolkowski.github.io/2022/07/30/add-github-pipeline-to-epi-12</guid>            <pubDate>Sat, 30 Jul 2022 15:31:48 GMT</pubDate>           <category>Blog post</category></item><item> <title>Episerver Foundation on Apple Silicon (M1)!</title>            <link>https://szolkowski.github.io/2022/07/28/episerver-on-apple-silicon</link>            <description>With introduction of .NET 6 Episerver/Optimizely packages developing it on M1 machine is now possible, however there are still some problems with initial configuration, but lets not go ahead of ourself.</description>            <guid>https://szolkowski.github.io/2022/07/28/episerver-on-apple-silicon</guid>            <pubDate>Thu, 28 Jul 2022 19:29:19 GMT</pubDate>           <category>Blog post</category></item></channel>
</rss>