52 results found
-
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.
8 votes -
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…
9 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
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 -
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 -
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 -
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.
5 votes -
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…
4 votes -
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.
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 -
Visual Builder forms are incomplete when fetched with @optimizely/cms-sdk
Visual Builder forms are incomplete when fetched with @optimizely/cms-sdk
In Optimizely SaaS CMS, Visual Builder forms work in the editor, but the content JS SDK (@optimizely/cms-sdk) does not return everything needed to render them on the site.
When a Form Container is placed on an Experience, the SDK query does not go deep enough to include the fields inside the form (step → row → column → elements). Form Container properties set in CMS — Title, Description, Submit URL — are also missing from the response.
As a result, forms cannot be implemented with the SDK as-is. We had to…
3 votes -
TinyMCE editor toolbar configuration
I'm a software developer. I would like to be able to configure the toolbar of the TinyMCE xhtml editor in Optimizely CMS SaaS so it matches the exact wishes of my client. Currently we only have 3 options: minimal, standard and extended. It would be convenient if we could configure the toolbar ourselves. I'm think of an option to insert code snippets, but also simple thinks like support for H2 to H5 but not H1. Basically, I would like to be able to configure everything that TinyMCE allows to be configured out-of-the-box.
8 votes -
Do not pre-apply Files and Images filters in the DAM picker
When selecting an asset from the DAM inside the CMS, the picker pre-filters to 'Files' and 'Images,' and there is no way to disable these default filters. We would prefer no filters applied by default so authors get an unfiltered view of available assets. Request: make the default picker view unfiltered, or make the default filters configurable.
2 votes -
Prevent silent overwrites of concurrent edits with conflict warning and field-level locking
Concurrent edits to the same page can be silently overwritten (last write wins). Both editors work against a single shared draft, so whoever publishes second overwrites the first with no conflict warning and no merge. The 'currently being edited' notice is dismissable and does not prevent this, there is no field-level locking, and comments are page-level rather than field-level. Request: a conflict warning on save or publish when another user has changed the draft, and/or field-level locking to protect in-progress edits.
2 votes -
Filter content by site or partner when selecting content in multi-site instances
When selecting content (for example using Select Content to reference a program), the picker shows content across ALL sites and partners on the platform with no way to filter to a specific site or partner. This creates governance and usability problems for large multi-site portfolios. Request: allow filtering the content picker by site or partner.
2 votes -
Add a filter to show only Blueprints on the Add Section screen
When adding a new section to a page, there is no way to filter to only Blueprints; they are comingled with all components. Request: add a filter and keyword search on the Add Section screen so authors can quickly find Blueprints.
2 votes -
Filter the shared-block picker to blocks valid for the current section
The shared-block picker shows every reusable block on the site rather than only the blocks valid for the section or content area being edited. Invalid options appear (some grayed out, some opening to nothing), which makes the picker hard to navigate. Request: filter the picker to show only the blocks allowed in the current context.
2 votes -
In-line blocks in a content area with "Unique value per language" setting turned on can't be translated
Currently, you can't edit inline-blocks within a content area outside of the master language. Meaning if you want to translate anything it's not possible unless you make it a shared block.
This makes it very difficult for content editors to understand but also maintain all of this as you'll be unnecessarily working with tons of shared blocks just to support the language/translation functionality.
The content area should be locked which is correct (no reordering) but the in-line blocks inside of it should still be translated.
4 votes -
PA on a Page with a Content Area / nested Content Areas
For Preview functionality scrolling logic and OPE in the visual preview only works on property fields in Pages and the entire Content Area, but not on its in-line/shared items.
Using Pages with Content Areas containing nested blocks remains a core part of our implementation and workflow. Not supporting scrolling logic for these in-line items makes On-Page Editing practically unusable for our editors.
Please update the visual preview so that scrolling logic and focus behavior work properly on in-line and shared items inside Content Areas.
This is a critical issue for teams who rely on Content Area architectures and need a…
1 vote
- Don't see your idea?