Scrivito JS 1.6.0 – More Editing Tools & Progressive Image Loading

Major improvements

Reverting changes and restoring widgets

Scrivito now lets editors revert the changes made to individual widgets. For this, corresponding menu items are available in the respective widget menus. Furthermore, in the “Changes” view mode, a deleted widget can now be restored to its published version if available.

Replacing images and other binaries made easy

Sometimes, images need to be updated – wherever they are used on the website, once or multiple times, the new versions should be displayed in place of the outdated ones.

We have made that exponentially easier for your editors. Now, editors can just find and select the image in the Content Browser and then drag and drop the replacement image onto the preview of the current one. The filename and the metadata of the image object will be updated as well; other attributes aren’t touched. That’s it, no longer is there a need to create a new image object and update all the pages which reference it!

By the way, the same also applies to other binaries like PDF files.

Improved working copy ordering in the sidebar

Like us, a good deal of our customers differentiate between editors and chief editors when their plan includes the Editor Permission Control System (Company plan and above). Chief editors and Admins have access not only to their own but to many more if not all working copies in their Scrivito CMS. With so many working copies on the sidebar, finding the one to work with could be difficult, depending on its position in the list. The reason for this was that, apart from the published content, all working copies appeared in just one group, “Other working copies”, sorted alphabetically, independently of their owner.

To improve the usability of the working copy list, we’ve added another group to it, “My working copies”, in which only those working copies show up that are (co-)owned by the current user. The “Other working copies” group is still there but is visible to chief editors and admins only. The new “My working copies” group is, of course, sorted alphabetically as well.

Also, for consistency, the selected working copy now remains in its list.

In-place editing for rel attribute values

For even more convenience when editing text in place, Scrivito’s link editor has been extended so as to support setting the contents of a link’s rel attribute. The purpose of this attribute is to instruct search engines regarding the treatment of the link and its destination. To do this, after selecting text and choosing the link icon, just click the gear icon at the top right and tick the desired keywords to be included in the attribute value.

Progressive background image loading

To improve visitor experience in low-bandwidth situations, the Scrivito.BackgroundImageTag component now loads background images progressively if they haven’t been transformed. This lets the visitor initially see at least a low-resolution version of the background image – instead of no image at all.

Once loading the high resolution image in the background has finished, it replaces the smaller low resolution version. With speedy connections, the visitor will hardly notice a difference.

Further improvements and changes

Fetching all search results: ObjSearch#toArray

Search query instances now have a method for fetching all search results, toArray(). Previously, one had to use the spread operator to convert the search results to an array, like in a = [...Scrivito.Obj.all()]. This can now be written as a = Scrivito.Obj.all().toArray().

The Scrivito.LinkTag React component now allows you to pass the params prop to it for having URL parameters rendered.

Bugfixes

  • Changes list sort order

    The sort order dropdown menu of the changes list dialog is working properly again.

  • Autocompletion with string lists

    When adding strings (e.g. tags) to attributes of the stringlist type, editors are now always able to ignore the autocompletion suggestion (by not selecting it). Previously, if there was exactly one suggestion (e.g. website) and the input started with (but was shorter than) the suggested string (e.g. web), adding the input as a new string was only possible by temporarily accepting the unwanted suggestion.

Learn more about enterprise SaaS CMS Scrivito

More great blog posts from Andreas Viebke

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.42.0 Released

    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()...

  • Introducing the ​New Data Editor

    Latest updates to edit.scrivito.com

    > > 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...

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.41.0 Released

    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...

  • Editing Interface Alignment with Dartagnan

    For an improved overall user experience, we’ve aligned the user interface design of Scrivito with that of our email builder Dartagnan. We wanted to create a consistent look and feel for our customers working with these cloud products from JustRelate. The adjustments we made are geared towards...

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.40.0 Released

    Improvements Intermediately rendered components during loading time Scrivito.provideComponent now lets you give proper feedback to the visitor in cases where the actual component that is provided requires some time to load and render itself. This usually short time gap can now be bridged by...

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.39.0 Released

    Improvements Enhanced data classes The Scrivito SDK now offers all attributes of a data class as placeholders for its instances, unless configured otherwise via the editing configuration. > As a developer using > Scrivito.provideDataClass > to load external data, you can now also return IDs of...

  • Bienvenue sur Scrivito !

    Latest updates to edit.scrivito.com

    Bienvenue sur Scrivito ! For all you French-speaking users, the Scrivito editing interface is now also available in your language. In addition to dialogs and buttons in French, input fields for page and widget properties have support for locale-specific calendar labels and French number...

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.38.0 Released

    Improvements Accessing the current user’s picture The Scrivito.currentEditor API now seamlessly integrates with IAM, allowing developers to access the picture URL associated with the current editor’s IAM profile. Easier attribute type migration There are situations in which a developer needs to...

  • Creating and Linking a Details Page

    Latest updates to edit.scrivito.com

    > After introducing details pages for data items in version 1.36.0 of the Scrivito SDK, the editing interface now offers you to create such a page for a given data class directly from within a data item. If, for example, you have a card widget in your data list widget, and this card widget has a...

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.37.0 Released

    Improvements Updating data items using custom logic By defining the update callback of Scrivito.provideDataItem , you can now smoothly update data items using your own logic. This gives you greater control and flexibility in managing your data within your Scrivito app. Prerendering fails early...