Scrivito 1.10.0 Release Notes

More options for creating, copying and moving pages

For making the life of editors even easier when creating pages, we've added several items to the page menu and made the wording more consistent. There are three new menu commands:

The Add subpage command lets you add a subpage to the current page, provided that the current page is part of the page hierarchy (i.e. that it has a path).
After issuing the well-known Copy or move page command for the current page, you can now also paste or move this page as a subpage, either directly underneath the current page (paste) or elsewhere (paste or move). For this, the corresponding new menu items Paste as subpage and Move here as subpage are available, again provided that the target page has a path.

Further improvements and bugfixes

  • More flexible attribute defaults
    When a user creates a page or a widget in place, its attributes can be initialized. If, for example, the author attribute of a new page should be prefilled with the user's name, you can achieve this by defining the default_for callback of the underlying page model class accordingly. Next to the current user, Scrivito now also passes the page the user is viewing to the callback. This enables you to assign attribute defaults based on properties of the current page, e.g. its model class or its location in the page hierarchy.

  • Updating binaries from temporary files
    Using Ruby, it is now possible to upload remote binaries to CMS objects directly, i.e. without first downloading them to regular files. For this, a Tempfile is now accepted when updating a CMS object:

    # Download an image to a local Tempfile
    require 'open-uri'
    tempfile = open("https://upload.wikimedia.org/wikipedia/commons/c/ce/Example_image.png")
    
    # Upload the temporary file to Scrivito
    @obj.update(blob: tempfile)

    See the Binary#upload class method for details and examples.

  • Fixed reloading of strings and enumeration values
    Scrivito's in-place editors let you edit content directly on a page or in the properties dialog of a page or widget. As a developer, you can have the contents of some of those editors reloaded after editing to always reflect their current values. Applying this to the string and enum editors caused a JavaScript “Unhandled rejection error”, which has been fixed.

  • More consistent autoloading for better compatibility
    A bug with Rails' eager loading has been fixed. Previously, the Scrivito SDK used a mix of plain Ruby autoload and Rails autoload_paths to load its code. Now scrivito_sdk relies solely on Rails autoload_paths, which makes the SDK compatible with sidekiq.

  • Improved link and linklist in-place editors
    The editors for link and linklist attributes now properly handle double quotes in link titles and link URLs.

  • Image editor available again in editing mode
    If an image object is selected from the changes list in editing mode, the built-in image editor is now available again in the image's resource dialog. The same applies to the image's details dialog opened, for example, via the Content Browser.

More great blog posts from Andreas Viebke