If you are doing manual updates directly to your Episerver database, or performing an upgrade that updates the database schema it could be a good idea to have a backup from the exact time right before the change is made. In Azure, you always have!
Det er ofte snakk om ny teknologi, men man kan også finne løsninger ved å se langt, langt tilbake i historien. Til og med hakkespettboken skrevet for over 2000 år kan løse dagens sikkerhetsutfordringer!
For noen måneder siden var det ikke fritt frem for å opprette SQL-databaser i Azure-regionen Norway East - men nå er det! Jeg viser hvordan man kan flytte en Azure SQL-database på tvers av regioner.
If someone deletes a page from an Episerver site, you can figure out what happened by looking at the changelog. What if someone changes access rights? I show how to locate pages that have their access rights set explicitly.
When deploying your site to Episerver DXP, there are so many options. Some are quite fast, some are super slow. I show how to deploy to the Integration environment the fast way, using Azure DevOps.
When deploying your site to Episerver DXP, there are so many options. I show how to deploy using Azure DevOps, the deployment API, and Epinova's DXP deployment extension.
With Update 346, released today, the product name has finally been changed from «Episerver Find» to «Episerver Search & Navigation» in the user interface. Upgrade now, and get a free Server Error!
If you write code that is likely to fail, it is good practice to wrap that section of code in a try-catch-clause and handle the exception. For scheduled jobs, it's the opposite! If something fails, be sure to throw that exception!
Have you ever wondered what your long-running scheduled job is doing right now? Are you waiting for it to finish, and considering if you have time for a coffee? Make your jobs give feedback!
Episerver is perhaps not the most used platform for developer blogs, but adding code snippets can be useful in other scenarios too. Adding syntax highlighting to TinyMCE is easy, using the Code Sample plugin. It works well with both Prism.js and Highlight.js, two popular syntax highlighters.
After completing part 1, setting up syntax highlighting with the bare minimum, it's time to let your code shine. Highlight.js has 95 different styles, or themes. Find one that you like, and go for it! Also, customize the list of available programming languages.
I would like to display the name of the programming language in the top right corner of my code snippets. One problem with this is, that I do not want to add any extra markup. I want to use the unmodified Code Sample plugin, I want to be able to change or reposition the label in the future.
When publishing images online, it's important with good alt-texts. Episerver has a bug that, by default, creates very unhelpful alt-texts. I explain, and present a workaround.
Reading the documentation, Episerver Social Reach sounds like a nice tool, being able to post to multiple social media from the same user interface. I'm sorry, but Episerver Social Reach is dead!
Når egenskapene i Episerver blir for mange, kan det lett oppleves kaotisk. Jeg viser hvordan vi kan rydde og gruppere, så det blir enklere å finne frem.
You can have multiple pages with the same name, you can even have a block and an image with the same name. When we are communicating about content, the name is not always the best.
The search bar above the page tree in edit mode makes it easy to locate content without browsing the page tree. If you want to search for the page id, we should make some improvements!
Content in Episerver CMS is organized using pages and blocks. If you by accident create the wrong page type, Episerver provides a feature for converting pages to a different page type. But what about blocks? Can they be converted? No! I had a look, and I was able to convert blocks too!
After the introduction of TinyMCE editor v2, creating an initialization module is the recommended way of configuring TinyMCE in Episerver. This works well when you want the same configuration for all your XhtmlString properties, but that is not always the case.
Until the release of EPiServer.CMS.Core 11.14.0 renaming a custom property was not that easy, now we can just add a GUID to our PropertyDefinitionTypePlugIn-attribute!
Using UIHint you may choose if a string property should be displayed as a single-line or a multi-line editor. But why is the multi-line editor so wide, and the single-line editor so narrow? We can fix that!
Using an EditorDescriptor, it is possible to add a property count to each tab in edit mode. Now, we can easily see how many properties that reside in each tab.
With the introduction of the GDPR storing personal information is not something that should be taken lightly. Using Azure Cognitive Services it is possible to identify what's in the images that editors, or users, upload to your site. You may then choose to take action, based on the identified content and your policy.
Have you ever published a meaningless change to a Episerver page, just to make sure the Find index is up to date? Have you struggled with the Find UI to figure out what’s indexed for the page you just had opened in edit mode? One simple addon solves both problems!
When upgrading both Episerver CMS and Episerver Find at the same time. Do not trust Episerver to handle updating both database schemas, things might blow up!
After upgrading to Episerver.Find Episerver.Find 13.2, queries started to fail. Adding an undocumented setting introduced in 13.2.4 is necessary for on-premise installations.
After upgrading from CMS 10 to CMS 11, I was puzzled by this exception occurring on all pages. It turned out it was quite an easy fix, and also documented in the list of breaking changes.
In the latest update of the Episerver UI, a handy shortcut (the globe) was removed from the toolbar. Using dojo and javascript, I created a module that puts the globe back!
I’ve previously described how you can move built-in Episerver properties to a different tab. This will only work perfectly if the destination tab already contains another property for the same page. If not, the title will look strange, the sort order will be missing, etc. Today we will move a property to a non-existing tab!
In Episerver CMS, you are probably familiar with the concept of grouping properties into tabs. I show how you may move Episerver's built-in properties, and even tamper with the special tab PageHeader.
Episerver has several built-in property types you may add to your content types, including DateTime that displays a date and time picker. Sometimes you do not want the time, only the Date!
When the new and refreshed editor UI was released, the search box above the page tree in edit mode broke! I show you how to fix it, using a custom search provider.
Preventing broken links is an important part of maintaining a website. Episerver's Link Validating job tries to help us, but unfortunately, it has its shortcomings.
MediaData, the base class for files and images in Episerver, does not implement ILocalizable and thus does not have the option to include culture-specific properties. I present a workaround.
Editing image properties would be more intuitive if we could see both the image and the properties at the same time! Let's add image preview to All properties view!
The attributes [SelectOne] and [SelectMany] can be used in combination with a SelectionFactory to create Episerver properties in the form of DropDownLists and CheckBoxLists. Let's make them work in one-page edit!
The texts in the Episerver UI can sometimes be confusing for the editors. Luckily, we can override all texts stored in Episervers language files, in two easy steps.
A form with more than a handful form elements can get incredible slow, if you use the element «Rich text (with placeholder)». I came across a form that took 25 seconds to load, resulting in over 700 calls to the database. Some rewriting got the loading time down to 256 milliseconds!