99 results found
-
Sync external content data purge deletes content as well index
While implementation I found out the indexed content post purge not only delete indexed content but the underlying content type schema too. i.e. the elastic storage container. Thus if we again index content if fails to index content. Though it gives success response with journal id, internally the Optimizely graph do not index content and gives exceptions index not found.
Which led me to opening a ticket with optimizely support explaining them the issue https://support.optimizely.com/hc/en-us/requests/1908585
The response from opti support team about no index found exception post purge is following:
Thank you for waiting. I tested with my production CG…
12 votesWe’re currently gathering additional feedback on this feedback and we're exploring a potential fix. If you have any more context, examples, or specific use cases, please share them - it really helps us understand how this would best support your workflow. Thanks for contributing to the conversation!
-
Option to do a shallow copy when duplicating (copy/paste) a page
Currently when copying a page all nested items have copies created as well, including: 1) child pages but also any 2) shared blocks within the page content. I would like options to skip the "deep copy" that happens for child pages and shared blocks whenever a copy/paste is done. The shared blocks is especially a problem. Since copying a page creates separate duplicates of the shared blocks, it requires manual work to go in and delete the duplicated shared blocks and re-insert the reference to the original. This feels pretty antithetical to the point of shared blocks: keeping a single…
8 votes -
Drag-and-drop reordering for repeatable content structures
Currently, repeatable or ordered content structures within CMS: such as table rows/cells, and content links, rely on manual move up/ move down controls to reposition content one step at a time.
For example, within our Table Block, authors must repeatedly click move up/down to reorder rows or cells, which can become inefficient for larger content structures.
This request is to add native drag and drop reordering functionality for applicable repeatable content structures within the CMS authoring experience.
Desired Behavior:
Authors can drag and reposition items in a single action
Visual drag handles or intuitive reorder controls
Improved efficiency over repeated…11 votes -
"Seed ID" for building the content URL should be exposed
We are currently migrating a large amount of content from another platform into the SaaS CMS. We are building an automated tool for this that uses the REST API. After the tool runs we are aiming for a "Run Report" that displays the link to the content in the previous platform and the Optimizely CMS for comparison. In order to build the link in Optimizely URL we need, what I will call for this request, the "seed id".
For example: https://app-<tenant>.cms.optimizely.com/ui/cms#context=epi.cms.contentdata:///<seed_id>
Since this is saved somewhere, it would be helpful if this was exposed when you make a request…9 votes -
Retrieve references/usages of local (inline) blocks
For shared blocks and other content types, we can already query Optimizely Graph to find every instance of a given type. For example:
query FindByType {
_Content(where: { _metadata: { types: { in: ["<ContentTypeName>"] } } }) {
total
items {
_metadata { key displayName types url { default } }
}
}
}This works because shared blocks are standalone content items with their own key/ContentLink, so they're indexed and queryable like any other content type.
Local (inline) blocks don't support this. Since they're stored as embedded property data on the parent content item rather than as standalone content…
6 votes -
Inline blocks should honor the "unique value per language" (shared property) setting
Inline blocks should honor the "unique value per language" (shared property) setting
Properties on inline blocks are always stored per language version, regardless of how the property is configured on the content type. A property marked as not unique per language — i.e. intended to be shared across all languages — behaves as language-specific when the block is inline, so editors get divergent values in each language with no warning.
Reproduction:
1. Create a content type with two properties: one marked as unique value per language, and one marked as not unique per language (shared).
2. Create a page with…6 votes -
REST API support needed for Default Values to get/set default values for Content Types fields
Currently ContentType REST API does not support get/set for ContentType fields.
For example: I have a content type with a TextField, have set default value for it in the CMS. However, there is no way to get/set it via REST API, which makes it impossible to deploy the contenttype with default values to other environments using the CLI
8 votes -
'view on website' should open in a new tab
'View on website' should open in a new brower tab.
7 votes -
Add Find/Replace Feature
Create a feature to allow find/replace functionality so I can easily find words and phrases and, if necessary, replace them with a new word or phrase. This is standard in many CMS.
5 votes -
Allowable Section Types in an Experience Type
Can we have allowable section types in an Experience Type?
In a large implementation, we can have several components/blocks enabled as 'Sections' so that they can be directly added to the Experience page.
The GraphQL query for an Experience becomes very big as we specify more blocks as 'sections' Can we add a feature where a developer can define 'allowable' sections on an experience, so that the graphQL query that is formed contains only a limited allowable types?
7 votes -
Converting single use blocks into shared blocks easily
Currently blocks created for a specific page cannot be covered into shared blocks. (Shared blocks can be covered into single use block). Therefore if we want to convert the single use of block into a shared block, we will have to create a shared block from the scratch. This functionality is available in other headless CMSs and I believe it's useful.
13 votes -
Support relocating components across fields without recreating them
We need the ability to move an existing component from one content field to another (e.g. from one column to a different column that allows the same component types), not just duplicate it in place. Currently there's no way to relocate a component across fields — the only option is to delete it and fully recreate it from scratch in the destination, re-entering text, re-uploading/re-linking images, and reconfiguring settings each time. This makes routine page reorganization slow and error-prone, especially for content-heavy components like Rich Text blocks or Link Columns.
4 votes -
Bulk publish content item with all child items
In Optimizely CMS (SaaS), there is currently no built-in way to publish a content item along with all its descendant items (child pages/blocks) in a single action. Editors must publish each item individually, one at a time, through the UI.
Impact:
For content trees with many nested pages or blocks (e.g., large campaign launches, section rewrites, or bulk imports), publishing item-by-item is slow and time-consuming, especially as the number of child items grows.Suggested solution:
Add a "Publish with children" (or similar) action in the content tree/edit view that recursively publishes a selected item and all its descendants. Alternatively, expose…4 votesThank you for raising this feature request. This is something we are actively pursuing and is on our roadmap to deliver later in the year.
-
Include OCP synced fields in CMS search
Problem
CMS search currently only finds synced assets by title. Users cannot search metadata like description, tags, or other synced external fields.Request
Allow internal CMS search to index and search OCP synced metadata fields.Examples
Description
Tags / Keywords
Categories
Custom external fields
Product IDsExpected Outcome
Users can find synced assets using metadata, not just title.Value
Better asset discovery, faster editor workflow, improved usability.8 votesGood news - this idea is now being explored by our product and design teams. We’re researching potential solutions and scoping out what this might look like. We’ll share updates here as this capability progresses.
-
CMS Authoring UI Improvement: Multiselect Choice Field
We have Multiselect Choice Field with 50+ items. These are rendered in authoring UI as a long list of checkboxes, which takes up a lot of space.
We would like to see improvements to authoring UI where we show Multiselect Choice fields as a Dropdown CheckedList box. Would be great if we can have search feature in the list, and also Clear All functionality to reset previous selections.
4 votes -
Optimizely DAM picker in TinyMCE
Today, it’s not possible to insert an image or video from Optimizely DAM directly into the TinyMCE rich text editor (unless using a third-party component).
For customers migrating from the built-in CMS media library to Optimizely DAM, native support for this would be expected.
This applies to both SaaS CMS and CMS 13.
10 votesGood news - this idea is now being explored by our product and design team. We’re scoping out the functionality and we’ll share updates here as our thinking evolves.
-
Allow Component Copying/Cloning/Duplicating
Currently, copying/cloning is only available at the page level, but admins would benefit from being able to clone/make a copy at the component level, too, within a given page.
4 votes -
Group Content Types
In the PaaS version of the CMS it is possible to group Page and Blocks. This acts as a visual aid for editors allowing them to easily locate the relevant content type when there is a long list.
This should also be manageable via the management api.
4 votesThank you for your feedback! This is on the roadmap!
-
Cannot create custom folder-type instances inside shared blocks from the CMS UI
In Optimizely SaaS CMS there is no way to create an instance of a custom folder content type (a content type based on the folder / _folder base type) inside a shared block through the CMS UI. The New Folder action creates only the built-in system folder type and offers no picker to choose a custom folder type. Separately, the New Folder action is currently not working at all in this context. As a result, custom folder instances can only be created via the Content Management REST API or Opal.
Steps to reproduce:
- Define a content type based on the…
3 votes -
Access to graphiQL
Hi Team,
The default GraphiQL dashboard operates on a single key principle, which means it lacks authentication mechanisms. Consequently, even if the consuming team implements the OIDC feature for authenticating graph usage, this authentication cannot be enforced when accessing the graph through the dashboard. As a result, "Read" access is granted universally, rather than being restricted to specific groups.
Implementing authentication for graph usage, potentially through the Identity Provider (IdP) that users log in with, would significantly enhance security. This approach would ensure that content is not universally accessible and is only available to authorized products, effectively "hiding" it from…
11 votesWe’re currently gathering additional feedback on this idea. If you have any more context, examples, or specific use cases, please share them - it really helps us understand how this would best support your workflow. Thanks for contributing to the conversation!
- Don't see your idea?