As of Scrivito SDK 0.60.0, the minimum Ruby version required is 2.1.0. Ruby 2.0.0 is no longer supported. Ruby 2.1.0 was released over a year ago and is significantly faster than older Ruby versions. We recommend using the latest patch level of Ruby 2.1.5 or the newer Ruby version 2.2.1.
CMS-based object classes maintained using
ObjClass are now deprecated because they are no longer required. Instead, model classes in the Rails application are used for defining CMS object classes and their attributes.
You can still use
ObjClass to retrieve the object classes defined in a working copy, or to determine the attributes of a particular CMS-based object class. However, you cannot create or update CMS-based object classes anymore. There is a guide on migrating from CMS object classes to Rails model classes in a single step by means of the provided migration tool.
widget attribute type has been renamed to
widgetlist to better reflect that an attribute of this type may contain any number of widgets. Also, the
text field type is now deprecated. Please use
Obj#binary? now only returns “true” if the CMS object has a
binary attribute named “blob”
The following methods have become useless after tearing down CMS-based object classes. They are deprecated:
Obj#obj_classalways returns nil.
Widget#obj_classalways returns nil.
Workspace#obj_classesalways returns an empty collection.
data-newlines=falseto enforce the corresponding input mode.
data-editor=textis still supported but deprecated. Please use
data-newlines=true) instead. [0.60.0.rc2]
Timeout::Error. Now, the SDK tries to reconnect if a
description_for_editorcallback method of this valid widget class returns. The widget classes to be valid inside a widget field can be specified by means of the
/ → /9e87c6bf5a4c32d1/root_slug /a_permalink → /0bc1a2e3afc456a7/a_slug
Obj.root.widgets.each do |widget| puts widget.id end
Widget.valid_container_classesmethod lets you restrict the widget container classes a widget of a particular class may inhabit:
class TabWidget < Widget def self.valid_container_classes [TabGroupWidget] end end
request.for_scrivito_user(test_user)test method allows you to set the user of a request to a specific
migrate:installRake task that copies the migrations included in gems into the application was removed. Such migrations were used to define the CMS object classes the gems relied on. This is no longer required because CMS-based object classes don't exist anymore.
hide_from_editorclass method. This method only affects in-place editing, not the API, meaning that custom code used for creating objects or widgets based on hidden classes continues to work. [0.60.0.rc2]
valid_widget_classesmethod of a widget returned nil, the
valid_widget_classesmethod of the page containing the widget was used as a fallback when adding widgets. This behavior has been adjusted so that it conforms to similar callbacks, meaning that the
valid_widget_classesmethod of a widget class no longer falls back to the corresponding page class method.
multienumattribute values now automatically save their content on change. [0.60.0.rc2]