Test your website performance for free
Test your website performance

Scrivito JS SDK 1.26.0 Released – Featuring Support for Lazy Image Loading

Improved website performance through lazy image loading

Native lazy-loading is a modern web technology that has been implemented by all major browser vendors in the recent years. It defers loading images until they are scrolled into view and thus reduces the bandwidth needed for a page to be displayed in full.

The Scrivito.ImageTag component is now compatible with browser-level lazy loading by respecting the loading=“lazy” property.

Overhauled in-place text editor

Over the years, Scrivito’s in-place HTML editor has become a bit rusty and has accumulated several small issues so we modernized it!

Editors will notice the new link toolbar for opening the destination of an HTML link even while editing in-place. The second noticeable change is the paragraph format drop-down menu, which combines the mutually exclusive options for headings and pre-formatted text.

We preserved the overall look and feel of the tool so that the editing experience remains the same. Under the hood, however, the new editor rectifies the issues listed below. Note that the new in-place editing features are only available to users of edit.scrivito.com.

Improvements and adjustments

  • Better text accessibility and improved screen reader support. For the bold, italic, and strike-through styles, semantic markup is used now, i.e., “strong”, “em” and “s” tags instead of “b”, “i” and “strike”.
  • Removing the styles of a headline now always works, even after merging it with the next paragraph.
  • Pasting text no longer inserts “span” tags with “style” attributes.
  • Nested lists with advanced CSS-based item numbering schemes now produce the expected numbers and a valid tag hierarchy.
  • Underlined text can now be changed back to non-underlined text in all situations.

Estimating the volume of a working copy

As an editor, you can now instantly see how many pages (or images, etc.) have been changed in a working copy simply by opening the “Working Copies” sidebar. Each element on this sidebar is now equipped with such a counter, enabling you to estimate the effort associated with the corresponding working copy.

Duplicating pages via the page hierarchy

For more convenience, pages can now also be duplicated from within the hierarchy browser. This eliminates the need to open the page before it can be duplicated in a second step using the corresponding item from the main menu.

Further improvements

  • Faster display of properties groups

    The properties of a page or widget can be grouped by means of a propertiesGroups definition in the call to Scrivito.provideEditingConfig. The tabs representing such properties groups in properties views can now be rendered faster by following the React recommendation to make such lists individually identifiable using a unique key. For details, see the documentation.

  • Clearer user interface for workflow actions

    For improved ease of use, when collaborating using workflows, the editing interface now displays buttons only for those actions that are available to the editor or reviewer.

  • Support for programmatically enriching textual website content

    For enhancing HTML markup as it can be found in attributes of the html type (used by text widgets, for example), the Scrivito.resolveHtmlUrls API method has been provided. It returns the markup passed in from such attributes, but with all internal URLs (pointing to content managed by the same Scrivito CMS) transformed to fully qualified URLs, allowing you to customize, i.e. further process, the markup before rendering it. This way, text fragments can be replaced, special highlighting can be applied, etc., to optimize the usability of your content for editors or visitors.

  • Displaying page and widget properties dynamically for more consistency

    On properties views of pages (and other types of content) as well as widgets, the attributes to be displayed or made available for editing can now be determined dynamically. If, for example, selecting a specific option using an enum attribute causes other attributes to become irrelevant, they can now be hidden. For this, the list of properties (and also properties groups) to include on properties views can now be provided by means of a callback in the editing configuration concerned.

  • API for determining a custom component’s context

    Custom components can show up either on a sidebar panel or in properties dialogs. Both use individual themes, dark and light respectively. Using the new Scrivito.uiContext method, such components can adapt their styles to their respective environment.

  • Fixed bugs

    • In some cases, HTML attributes in properties dialogs unexpectedly appeared as read-only. Editing rich text in properties dialogs now always works as expected.

    • Scrivito.ContentTag now handles clicks on links properly even if dangerouslySetInnerHTML has been passed in.

More great blog posts from Andreas Viebke

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.31.0 Released

    Server-side access to restricted content via Node.js You can now also access restricted Scrivito content on a server, e.g. for archiving your website content. For this, the apiKey option was added to Scrivito.configure . See also Using Scrivito with Node.js. Scrivito = require("scrivito")...

  • Scrivito Editing Interface Improvements

    Latest updates to edit.scrivito.com

    All publish buttons now work the same The behavior of the “Publish” buttons in Scrivito’s editing interface has been improved and aligned: All of these buttons now directly open the confirmation dialog which now also includes a button for opening the “Changes” list and getting an overview of the...

  • Scrivito Editing Interface Improvements

    Latest changes to edit.scrivito.com

    The active Content Browser tab is preserved The Content Browser sometimes prevented editors from quickly inspecting the properties of multiple objects one after the other. When the user selects another object of the same type, the active tab now remains open. Thank you for using Scrivito! Please...

  • Scrivito Editing Interface Improvements

    Latest changes to edit.scrivito.com

    A distinctive icon for new and changed images Editors mainly have to deal with two types of content objects: pages and images. To make it easier to spot such objects for reviewing them, a dedicated icon for images is now displayed in the “Changes” sidebar and dialog. Thank you for using Scrivito!...

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.30.0 Released – Featuring Layout Components

    Introducing layout components, optionally with editable content You can now implement page-type-specific layout components and optionally have them render attributes for editor-defined content. If such layouts are present for a page that is part of the page hierarchy, the layout components of the...

  • Scrivito for Rails SDK 1.18.0 Released

    Added support for Ruby on Rails 7.0 The Scrivito for Rails SDK now supports Ruby on Rails 7.0. It requires Ruby 2.7 or later. Earlier Rails versions are no longer supported by Scrivito. Note that during the upgrade you will need to migrate from Rails 5.2 (with Scrivito 1.17.0 ) directly to Rails...

  • Scrivito JS SDK 1.29.0 Released

    Reducing the payload for your website visitors You’ve probably already noticed that Scrivito’s editing interface is highly configurable through editing configurations that allow the developer to specify, for example, which page properties the editors should be able to adjust. Since website...

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.28.0 Released

    Duplicating parent pages For the convenience of editors, pages with subpages, i.e. page hierarchies as a whole, can now be duplicated, obviating the need to copy and then paste the pages individually. Email address as a tooltip when hovering over a user’s name For identifying users better...

  • Scrivito JS SDK 1.27.1 Bugfix Release

    Bugfixes obj.copy() now works again In previous Scrivito JS SDK versions, the obj.copy() instance method did not always work as designed. Now it does. Please accept our apologies for any inconvenience caused by this issue.

  • Scrivito JS SDK 1.27.0 Released

    More versatile “Changes” sidebar Like on the “Hierarchy” sidebar, the pages listed on the “Changes” panel now also feature a menu command for opening their respective properties, meaning that you no longer need to navigate to a page just to open its properties. Furthermore, the items on the...