Virtual Happy Hour this month, Jun 28, we'll be getting a sneak preview at our soon to launch SaaS CMS!

Try our conversational search powered by Generative AI!

Bartosz Sekula
Aug 6, 2019
(12 votes)

New version of EPiServer.Labs.BlockEnhancements (v0.2.0)

Last month we introduced the first version of the Block Enhancements add-on that was first introduced in 

It's a pleasure to announce that we have just released a new version v0.2.0 which contains a very useful improvement over v0.1.1 which we called Smart publish.

It is already available on our NuGet feed

The code is Open Source and is available on github  

We will really appreciate any kind of contributions: fixing bugs, issues in documentation, new features or translations, just let us know/create a ticket/PR if you want to help or have an idea about a potential improvement.

Previously, we had an extra command in the Global Menu which was called "Publish with local content items" which would analyze the "For This Page" folder and display a list of all local items and give the editor the ability to choose which ones to publish in a single operation.

There were two major issues with that approach:

  • The list might contain blocks that were not used on the page (but for some reason present in the 'For This Page' folder).
  • Only local blocks were displayed, shared blocks were skipped completely.

It looked like this:

Publish content with local blocks

And the command dialog:

Publish content with local blocks

After the update in version 0.2.0, the command is renamed:

And the new dialog will display much more information about the related content items:

As you can see, we are now able to traverse the dependency graph of each content item and let you publish all items in a single operation. 

This is very useful in scenarios like the above where you have some kind of "Layout blocks" with nested Content Areas.

Combining that "Smart" aspect of the new command with an existing "Inline Edit" feature makes quite a powerful combination:

Smart publish

A more advanced scenario can look something like this:

Smart publish with nested Content Areas

Of course, Content Area is not the only property that we support. In fact, all properties that implement the IReferenceMap (like ContentArea, LinkItemCollection, etc.) but also the TinyMCE rich text editor) will be included in the analysis and presented in the dialog.

Aug 06, 2019


Aug 6, 2019 09:34 AM

Nice, this addon is so close to what I've been waiting for, for so long. I like the inline edit but we tend to follow the Alloy wait of rendering blocks in preview pages so that you can edit the blocks as they will look on page. If we could get that so that blocks could be rendered through their view with the same editable properties on page that would be the best as you'd no longer need to navigate in to a block (like with your current inline version) and you'd get the best part of Episerver editing, the amazing WYSIWYG in page editing.

Bartosz Sekula
Bartosz Sekula Aug 6, 2019 09:51 AM

Scott, would it work for you if it worked like this:

  • In forms after clicking "Inline edit" you would get the block's form view in a dialog (as it is now)
  • However, when in OPE you would get the editable block preview in the dialog (with the correct Display Options applied)

Of course this is just a parial solution, I know, ideally it should be possible to edit the blocks directly on the page (even if they are a part of a property like Content Area).

This is already on our radar however the complexity of it requires a deeper analysis.

Aug 6, 2019 09:58 AM

That would help to a degree, but it's really the on page editing of blocks directly that's the biggy. I know it's complicatd as I asked David Knipe for this about 3 years ago lol :-)

But it would make the whole editing experience in Episerver that little extra level of golden.

Aug 6, 2019 10:42 AM

Great work though, these are some wonderful additons. 

Praful Jangid
Praful Jangid Aug 6, 2019 02:06 PM

That inline editing feature is really cool. And, in addition the smart publish will make editors life much easier. Awesome.

Jake Jones
Jake Jones Aug 6, 2019 08:46 PM

Nice work! 😎

Jacob Pretorius
Jacob Pretorius Aug 7, 2019 03:20 PM

That is very cool well done!

Darren Stahlhut
Darren Stahlhut Aug 7, 2019 10:39 PM

I agree with @Scott (as usual!), but I really like the new Smart Publish feature, this will definitely help our Clients who occasionally  struggle to find and publish nested content.

valdis Aug 8, 2019 08:23 AM

great success! thanks for all your effort on this add-on. just merge with core product :)

Arild Henrichsen
Arild Henrichsen Sep 10, 2019 07:54 AM

Thumbs up for Smart Publish, great work! 

nitin anand
nitin anand Apr 18, 2020 03:23 PM

cool, i would like to recommend this feature in all our projects.

Please login to comment.
Latest blogs
Copying property values part 2

After publishing my last article about copying property values to other language versions, I received constructive feedback on how could I change t...

Grzegorz Wiecheć | Jun 18, 2024 | Syndicated blog

Enhancing online shopping through Optimizely's personalized product recommendations

In this blog, I have summarized my experience of using and learning product recommendation feature of Optimizely Personalization Artificial...

Hetaxi | Jun 18, 2024

New Series: Building a .NET Core headless site on Optimizely Graph and SaaS CMS

Welcome to this new multi-post series where you can follow along as I indulge in yet another crazy experiment: Can we make our beloved Alloy site r...

Allan Thraen | Jun 14, 2024 | Syndicated blog

Inspect In Index is finally back

EPiCode.InspectInIndex was released 9 years ago . The Search and Navigation addon is now finally upgraded to support Optimizely CMS 12....

Haakon Peder Haugsten | Jun 14, 2024

Change the IP HTTP Header used for geo-lookup in Application Insights


Johan Kronberg | Jun 10, 2024 | Syndicated blog

Copying property values

In this article I’d like to show simple Edit Mode extension for copying property values to other language versions. In one of my previous blogposts...

Grzegorz Wiecheć | Jun 8, 2024 | Syndicated blog