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 for Rails SDK 1.18.0 RC 1 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 newer. Older Rails versions are no longer supported by Scrivito. Note that during the upgrade you’ll have to migrate from Rails 5.2 (with Scrivito 1.17.0 ) directly to Rails 7.0...

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

  • Scrivito JS SDK 1.25.0 Released – Featuring TypeScript Support

    Introducing TypeScript definitions Under the hood, Scrivito has been using TypeScript for quite a while now, and it’s time to let Scrivito application developers benefit from TypeScript as well. Developing Scrivito apps is now much faster and less error prone than ever. This Scrivito SDK release...

  • Scrivito JS SDK 1.24.1 Bugfix Release

    Bugfixes Editing multi-value attributes In version 1.24.0, attributes of the multienum type, by means of which editors can select several values from a set of options, were not always displayed after a change. Now, all changes are reflected properly. In searches, date values close to the current...

  • WebP – Another Performance Boost for Your Website

    Scrivito now automatically delivers your images in WebP format

    The happier the visitors to your Scrivito-based website (and also Google’s ranking algorithms) are, the happier are you, right? Over the last decade, improved website performance in the sense of accelerated web content delivery has become an extraordinarily important factor in maximizing visitor...

  • Scrivito JS SDK 1.24.0 Released – Featuring Further Performance Improvements

    Further performance improvements Optimized widget loading Scrivito applications are now able to retrieve widget data on demand. This reduces the applications’ bandwidth, memory and CPU usage, and speeds up pre-rendering. On average, the size of preload dumps is reduced by 80 %, causing the app to...

  • You Can See the Difference!

    Every change to your content can now be easily identified

    When working on content with Scrivito, especially in teams, it is also important to be able to quickly determine the state of the content to be published next. What has been added, what has been altered or removed, and where? Based on our own experience, working copies are usually published only...