<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Blog posts by Erik Henningson</title><link href="https://world.optimizely.com/blogs/erik-henningson/" /><updated>2024-08-02T16:00:47.0000000Z</updated><id>https://world.optimizely.com/blogs/erik-henningson/</id><generator uri="https://world.optimizely.com/blogs/erik-henningson/" version="2.0">Optimizely World</generator><entry><title>Changes to PictureRenderer.Optimizely</title><link href="https://hacksbyme.net/?p=1908" /><id>https://hacksbyme.net/?p=1908</id><published>2024-08-02T15:59:03.0000000Z</published><updated>2024-08-02T16:00:47.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">In version 3.2 of PictureRenderer.Optimizely it is possible to add any attribute to the rendered img element. This makes it possible to add e.g. custom data and itemprop attributes. Version 3.2 introduces the PictureAttributes object that may be used as an input parameter when calling @Html.Picture. It&amp;#8217;s in the PictureAttributes object where you can add &amp;#8230; &lt;a href="https://hacksbyme.net/2024/08/02/changes-to-picturerenderer-optimizely/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;Changes to PictureRenderer.Optimizely&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>Image optimization at the edge.</title><link href="https://hacksbyme.net/?p=1887" /><id>https://hacksbyme.net/?p=1887</id><published>2023-08-30T09:49:13.0000000Z</published><updated>2024-07-27T13:00:54.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">The latest version of PictureRenderer has support for resizing and optimizing images using Cloudflare's image service.</summary></entry><entry><title>On-page editing with Optimizely CMS on an externally hosted site</title><link href="https://hacksbyme.net/?p=1862" /><id>https://hacksbyme.net/?p=1862</id><published>2023-06-13T07:45:01.0000000Z</published><updated>2023-06-13T09:30:40.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">Did you know that you can enable on-page editing for a site that isn&amp;#8217;t hosted on the same server as the CMS? I&amp;#8217;m not sure when this feature was introduced, as there isn&amp;#8217;t much documentation available. It took me several hours to figure out all the necessary steps. Hopefully, this article will save you some &amp;#8230; &lt;a href="https://hacksbyme.net/2023/06/13/on-page-editing-with-optimizely-cms-on-an-externally-hosted-site/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;On-page editing with Optimizely CMS on an externally hosted site&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>Optimize images added in the rich text editor.</title><link href="https://hacksbyme.net/?p=1838" /><id>https://hacksbyme.net/?p=1838</id><published>2022-08-29T11:45:27.0000000Z</published><updated>2022-08-29T12:00:43.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">PictureRenderer for Optimizely CMS can be used to optimize images added in the rich text editor (TinyMce). In PictureRenderer.Optimizely v2.3 an XhtmlString extension is added that replaces img elements in the rich text content with a picture element. You enable this by creating a display template for XhtmlString properties. Create the file&amp;#160;/Views/Shared/DisplayTemplates/XhtmlString.cshtml&amp;#160;and add this: If &amp;#8230; &lt;a href="https://hacksbyme.net/2022/08/29/optimize-images-added-in-the-rich-text-editor/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;Optimize images added in the rich text editor.&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>Optimize images on your Optimizely CMS site</title><link href="https://hacksbyme.net/?p=1762" /><id>https://hacksbyme.net/?p=1762</id><published>2022-08-16T13:38:32.0000000Z</published><updated>2022-08-16T14:01:11.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">You want the images on your site to be lazy loaded in the most optimal size and format, and still look really sharp on all devices. You don&amp;#8217;t want the content editor to have to care about image size, image format, or what proportions the image should have. PictureRenderer can help you with all of &amp;#8230; &lt;a href="https://hacksbyme.net/2022/08/16/optimize-images-on-your-optimizely-cms-site/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;Optimize images on your Optimizely CMS site&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>Updates for Optimizely CMS 11 Picture helper</title><link href="https://hacksbyme.net/?p=1736" /><id>https://hacksbyme.net/?p=1736</id><published>2021-12-01T15:12:56.0000000Z</published><updated>2021-12-01T16:01:12.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">The Picture helper for Optimizely CMS 11 now supports creating webp versions for &amp;#8220;all&amp;#8221; image formats. Up until now webp versions was only created for jpg images. The reason was that the webp versions where lossy. The webp versions of a png image would get grainy/blurry parts, instead of the solid colors in the original &amp;#8230; &lt;a href="https://hacksbyme.net/2021/12/01/updates-for-optimizely-cms-11-picture-helper/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;Updates for Optimizely CMS 11 Picture helper&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>PictureRenderer for Optimizely CMS 12</title><link href="https://hacksbyme.net/?p=1722" /><id>https://hacksbyme.net/?p=1722</id><published>2021-10-18T09:22:57.0000000Z</published><updated>2021-10-18T13:01:09.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">Say hello to PictureRenderer.Optimizely! The html helper that makes it super simple to render HTML Picture elements in your Optimizely CMS 12 solution. Images are automatically cropped and resized, and the browser will always select the most optimal image to use.The result is optimized (width, format, and quality), lazy loaded, and responsive images. If you &amp;#8230; &lt;a href="https://hacksbyme.net/2021/10/18/picturerenderer-for-optimizely-cms-12/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;PictureRenderer for Optimizely CMS 12&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>Serve Optimizely CMS pages directly from a CDN.</title><link href="https://hacksbyme.net/?p=1677" /><id>https://hacksbyme.net/?p=1677</id><published>2021-08-13T12:39:26.0000000Z</published><updated>2021-08-13T13:30:39.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">This blog post is about speeding up your site by caching your Episerver Optimizely CMS pages in a CDN. This solution gives you granular control on how long a specific page should be cached. It works for any CDN, but here I&amp;#8217;m focusing on getting it to work with the Cloudflare CDN that is included &amp;#8230; &lt;a href="https://hacksbyme.net/2021/08/13/serve-optimizely-cms-pages-directly-from-a-cdn/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;Serve Optimizely CMS pages directly from a CDN.&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>Getting started with Optimizely CMS preview</title><link href="https://hacksbyme.net/?p=1679" /><id>https://hacksbyme.net/?p=1679</id><published>2021-08-08T19:34:04.0000000Z</published><updated>2021-08-09T07:30:41.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">This is my experience on how to get started with the preview version of Optimizely CMS. Expect this blog post to be outdated fairly soon&amp;#8230; Finally I took the time to take a look at the brand new Optimizely CMS, the .Net 5 version of former Episerver CMS. It seems to be pretty easy to &amp;#8230; &lt;a href="https://hacksbyme.net/2021/08/08/getting-started-with-optimizely-cms-preview/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;Getting started with Optimizely CMS preview&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>When do we stop using the term “headless” for a CMS?</title><link href="https://hacksbyme.net/?p=1655" /><id>https://hacksbyme.net/?p=1655</id><published>2021-02-12T09:14:10.0000000Z</published><updated>2021-08-09T07:30:41.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">&amp;#8230;and just call it a CMS?&amp;#160; Sorry for this grumpy-old-man-rant, but isn’t it time to retire the term “headless” when we are talking about CMSs? It’s not needed, and it doesn’t really mean anything. If you search for a definition of the term “headless CMS” you might find something like: a CMS where the content &amp;#8230; &lt;a href="https://hacksbyme.net/2021/02/12/when-do-we-stop-using-the-term-headless-for-a-cms/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;When do we stop using the term “headless” for a CMS?&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>Powershell vs Azure CLI when creating an Episerver environment.</title><link href="https://hacksbyme.net/?p=1566" /><id>https://hacksbyme.net/?p=1566</id><published>2020-03-05T16:46:17.0000000Z</published><updated>2020-03-05T17:01:28.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">It doesn't really matter if you use Powershell or Azure CLI to setup your Azure resources. It's more a matter of taste. Here is a quick comparision anyway :-)</summary></entry><entry><title>Powershell vs Azure CLI when creating an Episerver environment.</title><link href="https://hacksbyme.net/?p=1566" /><id>https://hacksbyme.net/?p=1566</id><published>2020-03-05T16:46:17.0000000Z</published><updated>2020-04-03T07:01:34.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">It doesn't really matter if you use Powershell or Azure CLI to setup your Azure resources. It's more a matter of taste. Here is a quick comparision anyway :-)</summary></entry><entry><title>Powershell vs Azure CLI when creating an Episerver environment.</title><link href="https://www.hacksbyme.net/?p=1566" /><id>https://www.hacksbyme.net/?p=1566</id><published>2020-03-05T16:46:17.0000000Z</published><updated>2021-08-09T07:30:42.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">It doesn't really matter if you use Powershell or Azure CLI to setup your Azure resources. It's more a matter of taste. Here is a quick comparision anyway :-)</summary></entry><entry><title>Episerver Picture helper now have option for native lazy loading.</title><link href="https://hacksbyme.net/?p=1559" /><id>https://hacksbyme.net/?p=1559</id><published>2020-02-16T14:19:37.0000000Z</published><updated>2020-02-16T14:31:32.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">The Picture helper in ImageProcessor.Web.Episerver now have an option to render the loading attribute that enables browser-native lazy loading. This makes it even simpler to optimize the loading of images. If you are familiar with the Picture helper you might already know that there are options for rendering the picture element that supports lazy loading. &amp;#8230; &lt;a href="https://hacksbyme.net/2020/02/16/episerver-picture-helper-now-have-option-for-native-lazy-loading/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;Episerver Picture helper now have option for native lazy loading.&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>Episerver Picture helper now have option for native lazy loading.</title><link href="https://www.hacksbyme.net/?p=1559" /><id>https://www.hacksbyme.net/?p=1559</id><published>2020-02-16T14:19:37.0000000Z</published><updated>2021-08-09T07:30:42.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">The Picture helper in ImageProcessor.Web.Episerver now have an option to render the loading attribute that enables browser-native lazy loading. This makes it even simpler to optimize the loading of images. If you are familiar with the Picture helper you might already know that there are options for rendering the picture element that supports lazy loading. &amp;#8230; &lt;a href="https://hacksbyme.net/2020/02/16/episerver-picture-helper-now-have-option-for-native-lazy-loading/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;Episerver Picture helper now have option for native lazy loading.&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>(Trying to do) Code package deployment to Episerver DXC-S</title><link href="https://hacksbyme.net/?p=1541" /><id>https://hacksbyme.net/?p=1541</id><published>2019-12-12T15:45:58.0000000Z</published><updated>2019-12-12T16:02:38.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">I have spent way to much time trying to set up code package deployment when using TeamCity together with Octopus deploy. Read this to avoid following my path to failure :-). Well, not complete failure, I did learn some new things about both PowerShell and Octopus&amp;#8230; Episerver have created a PowerShell module to simplify code &amp;#8230; &lt;a href="https://hacksbyme.net/2019/12/12/trying-to-do-code-package-deployment-to-episerver-dxc-s/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;(Trying to do) Code package deployment to Episerver DXC-S&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>(Trying to do) Code package deployment to Episerver DXC-S</title><link href="https://www.hacksbyme.net/?p=1541" /><id>https://www.hacksbyme.net/?p=1541</id><published>2019-12-12T14:45:58.0000000Z</published><updated>2021-08-09T07:30:42.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">I have spent way to much time trying to set up code package deployment when using TeamCity together with Octopus deploy. Read this to avoid following my path to failure :-). Well, not complete failure, I did learn some new things about both PowerShell and Octopus&amp;#8230; Update: &amp;#8220;DXC-S&amp;#8221; is now known as &amp;#8221; Episerver DXP&amp;#8221; &amp;#8230; &lt;a href="https://hacksbyme.net/2019/12/12/trying-to-do-code-package-deployment-to-episerver-dxc-s/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;(Trying to do) Code package deployment to Episerver DXC-S&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>Deployments to DXC-S using API with Octopus Deploy</title><link href="https://hacksbyme.net/?p=1523" /><id>https://hacksbyme.net/?p=1523</id><published>2019-11-14T13:44:31.0000000Z</published><updated>2019-11-14T14:04:34.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">Episerver recently released an API that allows partners and customers to automate deployment to DXC-S environments. If using this API you no longer need the manual process of logging in to the DXC-S portal and starting a deploy. The API also makes it possible to deploy directly to Pre-production or Production environments.  Currently I&amp;#8217;m only &amp;#8230; &lt;a href="https://hacksbyme.net/2019/11/14/deployments-to-dxc-s-using-api-with-octopus-deploy/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;Deployments to DXC-S using API with Octopus Deploy&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>Deployments to DXC-S using API with Octopus Deploy</title><link href="https://www.hacksbyme.net/?p=1523" /><id>https://www.hacksbyme.net/?p=1523</id><published>2019-11-14T12:44:31.0000000Z</published><updated>2021-08-09T07:30:43.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">Episerver recently released an API that allows partners and customers to automate deployment to DXC-S environments. If using this API you no longer need the manual process of logging in to the DXC-S portal and starting a deploy. The API also makes it possible to deploy directly to Pre-production or Production environments.  Update: &amp;#8220;DXC-S&amp;#8221; is &amp;#8230; &lt;a href="https://hacksbyme.net/2019/11/14/deployments-to-dxc-s-using-api-with-octopus-deploy/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;Deployments to DXC-S using API with Octopus Deploy&lt;/span&gt;&lt;/a&gt;</summary></entry><entry><title>Let Episerver editors control the output cache</title><link href="https://hacksbyme.net/?p=1483" /><id>https://hacksbyme.net/?p=1483</id><published>2019-05-03T10:08:38.0000000Z</published><updated>2019-05-03T11:02:33.0000000Z</updated><author><name>erik@kruso.se</name></author><category term="Blog post" /><summary type="html">The &amp;#8220;Content output cache&amp;#8221; is strangely enough a basically undocumented feature of Episerver CMS. It&amp;#8217;s strange, because the content output cache can be a simple way to really speed up your site. I will not go into details about how to set up Content output cache in this article. Instead I&amp;#8217;ll show a way to let &amp;#8230; &lt;a href="https://hacksbyme.net/2019/05/03/let-episerver-editors-control-the-output-cache/" class="more-link"&gt;Continue reading &lt;span class="screen-reader-text"&gt;Let Episerver editors control the output cache&lt;/span&gt;&lt;/a&gt;</summary></entry></feed>