My "For this page" folder disappeared!
The "For this page" folder and edit option on local blocks disappeared or became hidden after updating some Episerver (Optimizely) packages. Do not fear, help is near!
I was doing some routine updates of Optimizely (formerly Episerver) CMS packages.
All tests worked and at a glance everything went smoothly.
After continuing working for a bit we noticed that the “For my page” folder was gone from the block and media gadget.
Since there isn’t an easy way to downgrade Episerver if the database has been affected, so we where forced to investigate this on the spot.
Searching for this issue wasn’t easy since it was actually by design.
Queries like these rendered only years old posts and documentation:
- episerver “for this page” hidden
- optimizely “for this page” gone
- optimizely quick edit only
It’s not a bug, it’s a feature was indeed the topic of the day.
Turns out that the package EPiServer.Labs.BlockEnhancements was responsible for what I was seeing.
The latest version has reworked how an editor can work with blocks.
I highly recommend reading up on the “Local content” feature set and seeing if this is something your editors would like to work with.
We where not ready to change the editorial experience to that degree so we opted in to just adding some custom configuration for the package so the “for this page” folder and local block edit functionality was back to normal.
This is the configuration we ended up using:
using EPiServer.Framework;
using EPiServer.Framework.Initialization;
using EPiServer.ServiceLocation;
using EPiServer.Labs.BlockEnhancements;
[InitializableModule]
[ModuleDependency(typeof(FrameworkInitialization))]
public class CustomBlockEnhancementsModule : IConfigurableModule
{
public void ConfigureContainer(ServiceConfigurationContext context)
{
context.Services.Configure<BlockEnhancementsOptions>(options =>
{
options.LocalContentFeatureEnabled = false;
options.HideForThisFolder = false;
options.AllowQuickEditOnSharedBlocks = true;
});
}
public void Initialize(InitializationEngine context) { }
public void Uninitialize(InitializationEngine context) { }
}