Items added or changed after the release of RC 1 are marked with [0.90.0.rc2] or [0.90.0.rc3], repectively.
Items added or changed after the release of RC 1 are marked with [0.90.0.rc2] or [0.90.0.rc3], repectively.
The JavaScript API now provides a more concise way to define an editor for in-place editing:
The UI calls can_edit to determine whether the editor is capable of editing the given element. If the callback returns a truthy value, activate is called to activate the editor.
We also provided a new API for specifying the editor to use for a particular field:
If the select_editor callback specifies the editor to use, the UI checks whether this editor exists and, if it does, as mentioned above, calls its can_edit method to determine whether the editor is suitable for editing the field. If it is, the UI activates the editor by calling its activate method.
Call the disable method of an editor to completely prevent the field from being edited, regardless of any subsequent calls to use.
There is more detailed documentation on using and defining editors.
The scrivito_tag view helper now renders attributes for which dedicated helpers were needed previously. Therefore, these dedicated helpers were removed, namely scrivito_edit_enum, scrivito_edit_multienum, scrivito_edit_reference, scrivito_edit_referencelist, scrivito_edit_link, and scrivito_edit_linklist. When upgrading to this SDK version, calls to them should be replaced with calls to the scrivito_tag helper:
The helpers were removed because they are no longer required for activating the corresponding editors. Instead, the editors are now activated by default for the attribute types concerned.
Previously, these helpers were also needed to have the attribute values rendered in preview mode. However, the scrivito_tag helper does not yet provide this functionality and doesn't render markup equivalent to the markup the removed helpers produced. In most cases, though, you probably haven't used those helpers in views responsible for displaying the preview. But if you did and wish to stick to the formatting previously provided by these helpers, you might want to define them in your application:
Scrivito now raises an error if the scrivito_tag helper is used to render an attribute that doesn't exist.
We unified the naming of the data attributes recognized by Scrivito's in-place editors.
Scrivito's editors can be configured through various HTML data attributes. These attributes weren't named consistently in the past. From this release on, all data attributes recognized by Scrivito editors are prefixed with data-scrivito-editors-:
| Deprecated | Renamed to |
|---|---|
data-autosave |
data-scrivito-editors-autosave |
data-date-format |
data-scrivito-editors-date-format |
data-filter-context |
data-scrivito-editors-filter-context |
data-filters |
data-scrivito-editors-filters |
data-max |
data-scrivito-editors-max |
data-min |
data-scrivito-editors-min |
data-newlines |
data-scrivito-editors-multiline*
|
data-placeholder |
data-scrivito-editors-placeholder |
data-reload |
data-scrivito-editors-reload |
data-step |
data-scrivito-editors-step |
data-time-format |
data-scrivito-editors-time-format |
data-values |
not used |
*On this occasion, we also renamed data-newlines (now deprecated) to data-scrivito-editors-multiline. Please refer to the documentation for the complete list of available data attributes.
We also streamlined the naming of Scrivito Editors. The Redactor WYSIWYG editor can now be made available using the editor: 'redactor' option of the scrivito_tag helper, but you might also continue using the default editor: 'html'. For not being chained to Redactor, use html to activate the primary WYSIWYG HTML editor, which is going to be the Medium Editor from one of the upcoming releases.
If you have been using scrivito.editors.html_editor.redactor.options in your JavaScript, please update to scrivito.editors.redactor_editor.options.
Because of buggy and cumbersome behavior, Scrivito no longer lets you set empty strings as selectable values of enum or multienum attributes.
We added an alternative HTML editor to the collection of Scrivito Editors. You can now offer the MediumEditor to website editors for even more WYSIWYG convenience.
Just request the new medium editor in your scrivito_tag:

Workspaces now have a published? method. It lets you determine for a specific working copy whether it is the published one or not. In addition, the published class method was provided for retrieving the workspace that represents the published content. For example, you can now write the following code to retrieve all editable working copies:
[0.90.0.rc2] In the JavaScript API, the present, disabled, and execute callbacks that can be specified in $.scrivito("menu").add, $.scrivito("menu").update or $.scrivito("menu").replace are no longer provided with the DOM element concerned since this element can be derived from the context.
We fixed a bug in the scrivito_details_for helper that occurred when it was called outside of a view, e.g. in a helper. In such cases, the return value of the block was not rendered.
The “Click to edit” placeholders are now always clickable in Chrome.
The JavaScript search API (scrivito.obj_where) had a bug that caused searches by date to take account of the year only. For example, searching for all CMS objects changed after May 5, 2015 returned all CMS objects changed in 2015. This bug has been fixed.
[0.90.0.rc3] We fixed the problem that in-place editors weren't activated again on pages after the details view, which used the same editors, had been opened.

A distinctive icon for new and changed images Editors mainly have to deal with two types of content objects: pages and images. To make it easier to spot such objects for reviewing them, a dedicated icon for images is now displayed in the “Changes” sidebar and dialog. Thank you for using Scrivito!...

Introducing layout components, optionally with editable content You can now implement page-type-specific layout components and optionally have them render attributes for editor-defined content. If such layouts are present for a page that is part of the page hierarchy, the layout components of the...

Added support for Ruby on Rails 7.0 The Scrivito for Rails SDK now supports Ruby on Rails 7.0. It requires Ruby 2.7 or later. Earlier Rails versions are no longer supported by Scrivito. Note that during the upgrade you will need to migrate from Rails 5.2 (with Scrivito 1.17.0 ) directly to Rails...

Reducing the payload for your website visitors You’ve probably already noticed that Scrivito’s editing interface is highly configurable through editing configurations that allow the developer to specify, for example, which page properties the editors should be able to adjust. Since website...

Duplicating parent pages For the convenience of editors, pages with subpages, i.e. page hierarchies as a whole, can now be duplicated, obviating the need to copy and then paste the pages individually. Email address as a tooltip when hovering over a user’s name For identifying users better...

Bugfixes obj.copy() now works again In previous Scrivito JS SDK versions, the obj.copy() instance method did not always work as designed. Now it does. Please accept our apologies for any inconvenience caused by this issue.

More versatile “Changes” sidebar Like on the “Hierarchy” sidebar, the pages listed on the “Changes” panel now also feature a menu command for opening their respective properties, meaning that you no longer need to navigate to a page just to open its properties. Furthermore, the items on the...

Improved website performance through lazy image loading Native lazy-loading is a modern web technology that has been implemented by all major browser vendors in the recent years. It defers loading images until they are scrolled into view and thus reduces the bandwidth needed for a page to be...

Introducing TypeScript definitions Under the hood, Scrivito has been using TypeScript for quite a while now, and it’s time to let Scrivito application developers benefit from TypeScript as well. Developing Scrivito apps is now much faster and less error prone than ever. This Scrivito SDK release...

Bugfixes Editing multi-value attributes In version 1.24.0, attributes of the multienum type, by means of which editors can select several values from a set of options, were not always displayed after a change. Now, all changes are reflected properly. In searches, date values close to the current...