A blog about computer stuff
-
Matching ChromeDriver NuGet package with Chrome version
I got tired of a Selenium quality control xUnit test project often breaking because of Chrome auto-updating and looked around for a solution.
Published
-
Migrating from Providers to CMS 12 ASP.NET Identity with cookie tweaks
Some notes after upgrading a multi-site solution to .NET 6.0 including changing cookie name and setting domain value dynamically with a custom ICookieManager.
Published
-
A project structure for Razor Pages and View Components with CMS 12
Some might have missed that Razor Pages can be used with an Optimizely CMS app so I thought I'd explore some options and find a streamlined setup that works with Visual Studio tooling.
Published
-
Check out Record Collector
My dotnet static site generator used to build this site. -
Trying out imgproxy together with CMS 12 to resize images
I stumbled over the very interesting tool imgproxy and decided to try it out to optimize images on the fly from and behind an Optimizely CMS app.
Published
-
Using SQL to identify embedded resources for your CMS site's CSP
It's good practice these days to add a Content Security Policy and couple it with the consent dialog. Both should include all third parties a site might have embedded.
Published
-
Hosting this blog on Azure and switching to a static site setup
My experiences from hosting an Optimizely CMS site on Azure and moving to a generated static site on Netlify.
Published
-
SendGridForEpi fixed to work with CMS 12
The versions published on Optimizely's NuGet now has a version 2.0.2 that is compatible with .NET 6.0 and CMS 12.4.2 or newer.
Published
-
Webperf ratings for blogs of Optimizely MVPs
I've mashed up my open source project Record Collector with the great Webperf Core test routine.
Published
-
Please do this with your Swagger-enabled Web APIs
Quite often I encounter APIs that have a Swagger UI but lacking much of the rest (hehe) of the Swagger tooling support.
Published
-
Troubleshooting a large increase in Epi SQL Server calls
Recently spent some time investigating massive database dependency counts on an Epi CMS site that was using Geta Tags.
Published
-
Notes on my part of the EWCW Cloud talk
Maybe you listened in to the Cloud talk on Monday of the Episerver World Community Week and wondered what I was talking about?
Published
-
Putting custom data in Azure Table Storage from Episerver
It's completely normal to feel not so good when thinking about Entity Framework migrations or Episerver's Dynamic Data Store.
Published
-
Episerver Stockholm Meetup on Wednesday November 20
The two sessions are on Auth0 and Episerver .NET Core & Content Delivery API. We still have a few seats available. Welcome to our new office at Magnus Ladulåsgatan 3!
Published
-
Boilerplate admin MVC plugin with Tailwind CSS
I just put a Webpack project with Tailwind config and an Alloy-ready starter view with a setup mimicking Episerver's design up on Github.
Published
-
Adding a custom Episerver Forms consent element type
Having a site wide form policy consent text and checkbox available might be useful when editors start using Episerver Forms.
Published
-
Alloy startpage with Tailwind CSS lab
I've really taken a liking to Tailwind CSS and to help spread the word I did a quick lab of using it on the Alloy startpage.
Published
-
Content Delivery API and Custom Authorization
Episerver Content Delivery API 2.x allows us to customize the authorization flow. Here's an example of how you can get and validate an access token using an external service and avoid all that similar stuff that bloated your Epi app when using 1.x.
Published
-
Using the Handlebars templates with SendGridForEpi
SendGrid has marked Substitutions as Legacy and switched to Handlebars for the transactional templates.
Published
-
Add an Epi site to the IdentityServer4 combined quickstart using OIDC
IdentityServer4 is now available for and aligned with ASP.NET Core 2.0 - with some breaking changes. They've also added a combined quickstart that makes it's a lot faster to accomplish what I did earlier in my proof-of-concept post using the 1.x version.
Published
-
Breaking changes in SendGridForEpi
I've updated the Krompaco.SendGridForEpi add-on with support for CMS 11 and made it dependent on the latest SendGrid package.
Published
-
Working in Episerver's PublishedContent event
The site in question has a subscription service where a user can subscribe and get a notification e-mail or alert inside the site when a page is published in the subscribed pagebranch. A challenge was how to only send once; we tried to solve it outside of our subscription system.
Published
-
Introducing SendGridForEpi
Open sourced packages that helps you sending mail from Episerver using SendGrid's API and transactional templates.
Published
-
IdentityServer4 with Episerver and OpenID Connect
Federated Security is really nice and you should recommend it everywhere. The new IdentityServer4 comes as a .NET Core package and is an interesting option since it, like earlier versions, is open source and free.
Published
-
Upgrade StructureMap to 3.1.9.463
It's wise to update structuremap-signed to the version 3.1.9.463 released October 18, 2016.
Published
-
Going real world with Episerver, Auth0 and Azure AD
Federated Security is what we all want to use for our Episerver sites right? In such a setup, having Auth0 as the identity platform has for sure put a big smile on my face.
Published
-
Episerver and Application Insights test drive
As you probably know Application Insights is Azure's option for application monitoring and visitor tracking. It's not New Relic APM/Browser and it's not Google Analytics but it's a lot of both. I've been running the preview on this blog for a while now and here's some reporting.
Published
-
Removing Episerver Find from Swagger UI
I installed Swashbuckle in my Episerver site that of course also uses Find.
Published
-
A ViewModelBuilder pattern for Episerver with MVC
An often discussed topic is how to set up a project's view models, content types and layout.
Published
-
Cache busting CSS and JS files by hash value
Maybe you are using the Web Essentials Visual Studio extension or you get your minified CSS and JS files from a Grunt task or similar. Here's a concept of how to serve them on version unique URLs without using querystrings or changing filenames.
Published
-
My very simple Caching Reverse Proxy ASP.NET MVC Web Application
I've published an early version of a thing I put together called Cloud Accelerator on GitHub.
Published
-
Google Analytics Enhanced Ecommerce Features with Tag Manager
The Enhanced Ecommerce Features in Google Analytics are pretty cool. So are the features of Google Tag Manager.
Published
-
PowerShell errors when using Episerver Visual Studio Extension
Trying to install a new Alloy MVC Site in one of my machine's Visual Studio 2013 threw error alerts.
Published
-
Working with your own forms in Episerver and MVC
Custom forms is a common thing to have in a site's templates.
Published
-
OWIN OIDC authentication on older Episerver sites
Many have been looking forward to the built-in support for Federated Security in Episerver CMS which is currently Beta released. In a recent case there was no time to wait and I came up with a workaround that could be used in older Epi versions as well.
Published
-
Episerver start page language based on visitor's IP
Got tasked with determining and showing start page language based on visitor's IP on a Episerver 7.13 Web Forms site.
Published
-
XML Sitemap from Episerver Scheduled Job
A quick post on how to write a valid sitemap.xml file to disk. I used this approach in a scheduled job for Episerver.
Published
-
Partial Routing with Episerver 7 and Web Forms
Saw this post on Episerver World about routing and friendly URLs and in that case external data. I had done something similar so I simplified and extracted into an Alloy project.
Published
-
DropDownList Category Picker in Episerver 7
A client needed the editors to be able to select one category from a SELECT box. I knew there were some built-in controls to make things like this easy in Epi CMS 7.
Published
-
One way to import pages from Episerver 4 to 7
I was given the task to import pages from Episerver 4.6 to a new Episerver 7 site. Access was limited and I had no possibility to modify the code or configuration of the 4.6 project. I went for a solution where an export package was used.
Published
-
Analyzing SQL Server database size
I recently posted a reply about reducing database size at Episerver World and thought I'd assemble some queries that come in handy when analyzing a database gone huge.
Published
-
Avoid uppercase letters in your Episerver page URL
For a number of reasons it's widely recommended to use all lowercase URL's inside a web site. Unfortunately Episerver out of the box uses the same casing as the entered PageName (unless you modify the URL manually).
Published
-
Page Type Builder and TinyMCE global settings
A complete example of how to manage global TinyMCE settings for your XHTML-string properties.
Published
-
Speed up Edit Mode: Set EnableSessionState to false
Process requests simultaneously in parallel and gain some speed.
Published
-
Issues when upgrading to Episerver CMS 6 R2
CMS 6 R2 has been around for a while and I have completed a bunch of upgrades. There are a lot of issues that might or might not affect the site you are upgrading.
Published
-
Epi User Picker Property that uses the built-in Membership Browser
Maybe I have poor Googling skills but I couldn't find a simple user picker property anywhere. We had some examples at work but they involved a custom user control and too much JavaScript.
Published
-
Remember to configure CmsAdmins in Episerver 6
Tried to reach the search settings admin view but didn't get access. Snooping around led me to a new Episerver 6 group name setting.
Published
-
Retrieving an Episerver 6 global setting value
You added some property settings to your custom property and created a couple of global settings for the editor to choose from. Then you find out you want to get hold of the setting values in code. Here's how you fetch them.
Published
-
Replacing the TinyMCE table plugin in Episerver 6
I got the task to replace the TinyMCE table plugin with a stripped down version optimized by a colleague.
Published
-
Using Dynamic Data Store related to an Episerver 6 page
We decided to build a poll function using a Question page type and an Option page type to put below. For each option we thought the new Dynamic Data Store related to an Episerver page, the Page Object Manager, would be a neat thing to use as storage for the votes.
Published
-
Alter default InitOptions for TinyMCE in Episerver 6
The default config options set by CreateDefaultInitOptions() aren't really what you need to help editors create correctly marked up content. Luckily the people at Episerver have a way to tweak 'em.
Published
-
Vary Episerver cache by all querystring parameters
I had a Episerver CMS 5 R2 project where there was a lot of templates lifted in from an older solution. It was very querystring intensive so I needed to get away from specifying each querystring-parameter in the httpCacheVaryByParams setting and still enjoy public caching.
Published
-
How to create a role task by code in Episerver
After failing duplicating the ParallelApproval Workflow I looked into creating a task by code in the project instead. Didn't find much documentation online so here's my initial Proof of Concept to fill the gap.
Published