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.
Interface Builder improvements Filtering data by enum, boolean, date, and number attributes The Interface Builder’s data editor now also lets you filter data by attributes of the enum , boolean , date , and number types. This makes it much more convenient and intuitive to select and present data...
Bugfix Release An issue with Scrivito.useDataLocator has been fixed. It prevented filters with reference data attributes from being evaluated properly. We apologize for any inconvenience this issue may have caused! Thanks again for using Scrivito!
Maintenance release This is a maintenance release with minor improvements. As always, we will keep you posted if there is anything interesting to report. Stay tuned! Thanks again for using Scrivito!
Interface Builder improvements LinkTag supports data items The LinkTag component now supports data items as navigation targets. Passing a DataItem to the to prop causes the link to point to the details page of the item concerned. Accessing current data of a specific class The useDataScope and...
Interface builder improvements Data attributes For the application to utilize the attributes selected by content editors, the Scrivito SDK now includes a (beta) API for representing data attributes, DataItemAttribute . A data item attribute can be accessed from a data item via...
Defining custom attributes via the Interface Builder’s data editor The data editor now lets you add custom attributes to data classes. If, for example, you have a “Current user” data class that requires an attribute not specified in the editing configuration of this class, e.g., “email”, you can...
Bugfixes Data integration issue > DataItem#get > no longer requires a loading context, i.e., > Scrivito.load > or > Scrivito.connect > . We apologize for any inconvenience the above issue may have caused! Thank you for using Scrivito!
Interface Builder improvements DataScope#limit() API method The new DataScope#limit() method determines the maximum number of data items a DataScope may contain. It returns either a number indicating this limit, or undefined if no limit is set. Introducing Scrivito.currentLanguage()...
> > As you may have noticed, we have been continuously refining and expanding the Interface Builder. Now the time has come for a correspondingly enhanced data editor. > > The new data editor comes with an intuitive interface that provides a visual representation of a data locator as well as...
Interface Builder improvements Accessing a data scope from the current data It is now possible to access a DataScope from the current data using the new Scrivito.useData hook (which supersedes the Scrivito.useDataItem hook). The new hook always returns a DataScope . In order to check whether this...