57 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.
10 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…
10 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 -
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.
3 votes -
Database Backup and Point-in-Time Restore for CMS SaaS
Summary
Customers want the ability to create database backups of their CMS SaaS environments on demand, and to restore an environment to a specific point in time from those backups.
Problem
Today, customers have limited control over recovering their SaaS environments after unexpected data changes. Content editors and developers can make mistakes that are difficult to undo: bulk deletions, faulty imports, a bad deployment that corrupts content, or a misconfigured integration overwriting data. When this happens, recovery generally depends on a support request, which adds delay, uncertainty, and risk to the customer's operations. Teams that test migrations, upgrades, or major…
3 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 -
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.
3 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.
3 votes -
Add spell check to the rich text editor
The rich text editor has no built-in spell check, and it overrides the browser's native spell check so even the browser no longer flags errors. Request: provide built-in spell check in the rich text editor, or at minimum stop suppressing the browser's native spell check so authors can catch typos.
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 -
Support Content Variations in Export/Import
We would like support for Content Variations to be included when using the Export/Import feature
2 votes -
Choose whether to copy child pages, and how many levels, when copying a page
When a page that has child pages is copied, the CMS always copies the entire subtree. There's no way to copy only the parent. Request: when copying a page, let the author choose to copy the parent only, or the parent plus its children. If children are included, let the author choose how many levels deep to copy. We need both: duplicating a single page as a starting point without its subtree, and cloning a section or template tree to a chosen depth to stand up new sites. Related: "Option to do a shallow copy when duplicating (copy/paste) a page"…
2 votes
- Don't see your idea?