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.
Whenever the Scrivito SDK triggers a JavaScript warning (e.g. a deprecation warning or on the occasion of overlapping menu handles), an indicator shows up on the Scrivito panel:
Overlapping menu handles are only detected and the warning indicator is only shown if the Rails application is running in the “development” environment. Thus, editors won't be confused by warnings they cannot turn off or whose cause they cannot remedy.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]