A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

John-Philip Johansson
Feb 7, 2017
  4104
(9 votes)

Introducing Tasks in Content Approvals (Beta)

This feature is released as a Beta feature in CMS UI 10.5.0 and is still under development.

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

What are Tasks?

The Tasks pane is a useful tool for editors to monitor content creation. You can filter out content depending on their status,  for example, select Drafts in the Tasks drop-down to get a list with content items in status Draft only.

Image blog-tasks-tasks-menu-original.PNG

Tasks with Content Approvals

The Tasks drop-down list can now be used to display content in a certain stage of an approval sequence, in a way that helps the editor to know what to focus on.

For example, Alfred has sent two pages for review, and the approval sequence is set up to allow either Lina or Emil to approve. Lina uses the Tasks pane and Received Review Requests > Awaiting Your Review to see what content she has to review and do some work:

Image blog-tasks-lina--optimized.gif

Bonus feature: Categorized Tasks Queries

As part of this release, we added grouping support to the Tasks menu. As you can see in the screenshot below that there are three main categories: "Status", "Sent for Review", and "Received Review Requests".

Any other query will end up in a category labelled "Other", and you can easily put them in an existing or a new custom category.

Image blog-tasks-tasks-menu-new--awaiting-review.png

Bonus feature: Optional Localization Support with IContentQuery and IContentQueryCategory  

Often you might end up implementing the query’s DisplayName using the LocalizationService. Like this:

// No need for this anymore
public override string DisplayName => _localizationService.GetString("/awesomequeries/super/label");

It’s so common that we made it simpler by allowing DisplayName to be a key and it will be used with the ILocalizationService to return the localized display name.

// Do this instead, if you use the LocalizationService
public override string DisplayName => "/awesomequeries/super/label";
Feb 07, 2017

Comments

Please login to comment.
Latest blogs
ScheduledJob overview Blazor component

I have always felt that the admin UI for scheduled jobs in Optimizely is harder to use than it needs to be. To check a job you have to go into admi...

Per Nergård (MVP) | Jan 15, 2026

Our OPAL solution for Innovation Challenge: Persona based Content Optimization

  Introduction Marketing success depends on one core principle : connection. We have may seen many marketing campaigns fail because they fail make...

Ratish | Jan 15, 2026 |

A day in the life of an Optimizely OMVP: Introducing Optimizely Style Manager

Managing display templates in Optimizely CMS (SaaS) has traditionally required working directly with the REST API or managing JSON configuration...

Graham Carr | Jan 13, 2026

Content modelling in Optimizely: Why your initial delivery decisions matter more than you think

The architectural shortcuts you take in sprint zero don't just create technical debt, they define whether your platform scales gracefully or crumbl...

Tom Robinson | Jan 12, 2026 |

A day in the life of an Optimizely OMVP: Introducing Query Library and Request Logs: Two Powerful New Features for OptiGraphExtensions v5

I am excited to announce two new features for OptiGraphExtensions v5 that give Optimizely CMS administrators greater visibility and control over...

Graham Carr | Jan 12, 2026

Indexing Geta Categories in Optimizely Graph

Different ways to fully use categories in headless architecture.

Damian Smutek | Jan 9, 2026 |