Releases Menu Item

In Cloud CMS, Releases describes the ability for the product to allow multiple branches to be forked, merged and scheduled for automatically promotion of content to a live environment. It offers scheduled publishing, conflict detection and offers an ideal solution for editors to coordinate the delivery of content in situations where multiple editorial efforts may be running concurrently.

When Releases is enabled for a Project, a Releases menu item shows up in the left-hand menu when you're viewing the project.

In some cases, you may want to adjust who can see this Releases page.

Suppose that we only want users who have the releases-worker role within the Project to be able to see the Releases menu item. Suppose further that we want to rename Releases to Product Launches.

We could use the following configuration:

{
    "config": {
        "blocks": [
            {
                "evaluator": "and",
                "condition": [
                    {
                        "evaluator": "context-project"
                    },
                    {
                        "evaluator": "project-releases-enabled"
                    }
                ],
                "config": {
                    "project-context": {
                        "items": [
                            {
                                "key": "project/explore/heading",
                                "allowAuthority": [
                                    "releases-viewer"
                                ],
                                "items": [
                                    {
                                        "key": "project/releases",
                                        "title": "Product Launches",
                                        "defaultTeam": true,
                                        "defaultAuthority": false,
                                        "defaultPermission": true,
                                        "allowAuthority": [
                                            "releases-viewer"
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                }
            }
        ]
    },
    "projectId": "263e5cfdba62beb512af",
    "enabled": true
}

This configuration technically does 3 things:

  1. It allows anyone who has the releases-viewer in the Project to view the Explore grouping.
  2. It allows anyone who has the releases-viewer role in the Project to view the Explore/Releases item in the Explore grouping.
  3. It renames the project/releases item to Product Launches.

So that's that.

What if we wanted to allow anyone on the releases-viewer Team to see the Releases menu item (using a Team instead of an Authority)? We can make a slight tweak to the following:

{
    "config": {
        "blocks": [
            {
                "evaluator": "and",
                "condition": [
                    {
                        "evaluator": "context-project"
                    },
                    {
                        "evaluator": "project-releases-enabled"
                    }
                ],
                "config": {
                    "project-context": {
                        "items": [
                            {
                                "key": "project/explore/heading",
                                "allowTeam": [
                                    "releases-viewer"
                                ],
                                "items": [
                                    {
                                        "key": "project/releases",
                                        "title": "Product Launches",
                                        "defaultTeam": false,
                                        "defaultAuthority": true,
                                        "defaultPermission": true,
                                        "allowTeam": [
                                            "releases-viewer"
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                }
            }
        ]
    },
    "projectId": "263e5cfdba62beb512af",
    "enabled": true
}