Try our conversational search powered by Generative AI!

John-Philip Johansson
Nov 14, 2016
(11 votes)

Introducing Content Approvals (Beta)

This feature was released as a Beta feature in CMS 10.1.0 and is still under development.

You can read more about how you enable Beta features in Fredrik Tjärnbergs blog post.

What are Content Approvals?

Content approvals is a way to make sure that content is reviewed and approved before it is published. It works as a new state (In review) between Draft and Published, which is visible in the Versions gadget. When an editor has finished working on a content item, the editor cannot publish it but has to set it as Ready for Review. One or more appointed reviewers must then approve the content item before it can be published. The reviewers are defined by an administrator in an Approval Sequence.

Content approvals do not apply to blocks at this stage.

The Approval Sequence is set up by an administrator and can have any number of approval steps and any number of approvers in each step. If the page has multiple languages there has to be at least one approver for each language in each step.

Bonus feature: Pluggable menu items

The approval sequence overview is opened from the context menu in the page tree: 

Image Content Approval blog post - context menu.png

As a part of this release, we made the context menu pluggable. So now you can easily add items to the context menu.

More about Content Approvals

Content Approvals work with Projects but only on a per-content basis, and not for the whole Project.

The approvals can be driven through the Core API, but beware that it's also in Beta and will change a lot as we're continuing on Content Approval. Do take a look at the IApprovalEngine and IApprovalEngineEvents in the meantime. Use it to react to content moving through the sequence, or automatically reject or approve changes.

You can read more about Content Approvals in the User guide documentation.

There are more things coming with Content Approvals, but please let us know what you like or if there's anything you want us to focus on.

Nov 14, 2016


Arild Henrichsen
Arild Henrichsen Nov 14, 2016 03:17 PM

Hi John-Philip. Any idea when blocks will be supported by Content Approval? As more and more pages are made up almost entirely of blocks, I think this will be in high demand pretty soon.

Aria Zanganeh
Aria Zanganeh Nov 14, 2016 11:03 PM

This is awesome .. we were waiting for this ages! Do you know about any idea of the release timeline? 

KennyG Nov 14, 2016 11:44 PM

The notification feature is critical for our current client. Specifically email notification as most approvers will have no other reason to login to the system. When is that aspect expected? So glad to see this!

John-Philip Johansson
John-Philip Johansson Nov 15, 2016 09:29 AM

@Arild Henrichsen, Reviewing blocks is going to be tricky, both technically and as a user experience. We'll get there. :)

@Aria zanganeh, The first release should be out now. Keep an eye out for more releases ;)

@KennyG, That's coming, is all I can say ;)

Robert Runge
Robert Runge Nov 28, 2016 03:35 PM


thanks for the update. I have a few questions:

1. Will you support Content Approval for media as well as for blocks? In my case, our customer needs approval of PDFs.

2. When will the UI support adding comments when rejecting changes?

3. Instead of "just" rejecting a change are you planning on making it possible to reject to a certain "level". For me it makes sense to send it back one step, since the person there can edit as well.


John-Philip Johansson
John-Philip Johansson Nov 28, 2016 04:02 PM

@Robert Runge:

1. I'll go with the same reply I gave Arild. It's a challenge we're looking into :)
2. It's coming soon. Keep en eye out for it.
3. Say there's 3 steps. The first two are approved, but on the third step it's rejected "one step". Someone on step two now edits it, and assuming that person doesn't also just approve their own changes and it moves through step two and three, then the content that someone on step one approved is not what's going to be published. This might be hard to communicate to everyone involved. A really important part is tracking who did what during the approvals, as this might be needed for legal or policy reasons. That's also why we keep an ongoing review on a set version of the approval definition, just in case someone changes the definition while content is still waiting for approvals.

Dec 11, 2016 09:30 PM

Great start after "wrokflow" was left behind and will be waiting to see how this gets extended in upcoming release for "Blocks/Media" and Commerce.

One key point to get this working as i got stuck when i first tried this feature is:

Had to do one of the below to get "Content approval" option in edit tree.

1. Create group by name "EPiBetaUsers" in admin mode and add allocate it to your user and then you would be able to see this feature in edit mode.

2. Add this to virtualroles in config.

Adam Jenkin
Adam Jenkin Jan 17, 2017 05:15 PM

Hi John-Phillip

This new feature looks great. I have been experimenting with it and it works very well on the latest version of EPiServer.

One scenario our clients have is for an approver only role. In this scenario, the approver should not be able to create, change, or publish content.

From my testing, an approver must have either 'change' or 'publish' access rights.

Is this scenario to be catered for on the roadmap for Content Approvals? Or is there a way to configure approval only user accounts in the current version?

John-Philip Johansson
John-Philip Johansson Jan 20, 2017 12:54 PM

@Adam Jenkin: Sorry for the delay, I had to dig a bit. That is indeed something we would like, but currently that would risk going against many partners wishes that content in draft or under review should not be accessible outside the CMS UI (which it would if Read access was all the user needed). We're looking into this and I'll update when I know more.

IS Development RSPB
IS Development RSPB Apr 12, 2017 03:44 PM


How do you set up the Approval Sequence if your CMS users login using the 

Active Directory Role Provider.
I have tried to do it but the actual field doesn't accept any of those users.
It only accepts users that have been directly set up in the CMS


John-Philip Johansson
John-Philip Johansson Apr 18, 2017 02:05 PM

Hi @Monica: Hope you had a great Easter :) For someone to be able to approve content they need to be able to access the CMS UI, which means they need to have access rights set up somehow. Either through a group or individually. They also need to have Edit rights, as content under review isn't accessible through regular Read rights (this is for security reasons, to not expose content before it's published).

Lars Woetmann Pedersen
Lars Woetmann Pedersen May 15, 2018 10:29 AM

Hi did episerver ever make a approver only role?

I need this as well. our flow is the following

an editor makes a change and set the content in ready for review

a doctor reviews and approve the change

the editor publish

The doctor should not be allowed til publish

what can we do to get that behaviour?

John-Philip Johansson
John-Philip Johansson May 17, 2018 08:37 AM

@Lars: There is work being done on making content under review accessible through a restricted URL. This should hopefully work to solve your scenario as well.

Please login to comment.
Latest blogs
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