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.
The 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 string
instead.
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_class
always returns nil.Widget#obj_class
always returns nil.Workspace#obj_classes
always returns an empty collection.data-newlines=true
and data-newlines=false
to enforce the corresponding input mode. data-editor=text
is still supported but deprecated. Please use data-editor=string
(plus, optionally, data-newlines=true
) instead. [0.60.0.rc2]
Errno::ECONNREFUSED
or Timeout::Error
. Now, the SDK tries to reconnect if a StandardError
such as OpenSSL::SSL::SSLError
, Errno::ECONNREFUSED
or Timeout::Error
occurs.description_for_editor
callback method of this valid widget class returns. The widget classes to be valid inside a widget field can be specified by means of the valid_widget_classes_for
method./ → /9e87c6bf5a4c32d1/root_slug /a_permalink → /0bc1a2e3afc456a7/a_slug
Obj.root.widgets.each do |widget| puts widget.id end
Widget.valid_container_classes
method 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 Scrivito::User
.migrate:install
Rake 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_editor
class 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_classes
method of a widget returned nil, the valid_widget_classes
method 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_classes
method of a widget class no longer falls back to the corresponding page class method.binary_content_type
, content_type
, binary_content_length
, or content_length
methods.enum
and multienum
attribute values now automatically save their content on change. [0.60.0.rc2]