Test your website performance for free
Test your website performance

Scrivito JS SDK 1.30.0 Released – Featuring Layout Components

BETA

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 ancestor pages are rendered as well, meaning that you can have nested layouts.

The layout components can be defined using the new Scrivito.provideLayoutComponent API method. They are rendered by Scrivito.CurrentPage in a top-down manner starting at the homepage, enabling you to include elements like navigations that take account of the type or hierarchy level of the current page. For example, if you have a homepage, a news overview page and news article pages (/news/article*) and have defined layout components for all of these page types, displaying an article page via Scrivito.CurrentPage would cause the layout component of the homepage (top-level navigation), of the news overview page (article navigation), and of the article page itself to be rendered, plus, finally, the article’s content.

This new API is in beta and may be renamed or adjusted, should this become necessary.

React 18 compatibility

The Scrivito SDK now supports React 17 and React 18. As a result, the latest SDK version that supports React 16 is 1.29.0.

If your Scrivito app currently uses React 17, upgrading to React 18 is optional and straightforward. React 18 is fully compatible with React 17, and the new features can be used when needed.

If you are still on React 16, we recommend upgrading to React 17 first. This makes it easier to identify dependencies that are no longer maintained and need to be replaced with alternative packages. Also, some libraries are still working on React 18 support.

The new Scrivito.Extensions component integrates extensions with React’s new root API.

Without Scrivito.Extensions, developers will see a “ReactDOM.render is no longer supported” warning message when a custom component or dialog is shown.

Further improvements and other changes

  • Finding changed content more easily

    For conveniently finding pieces of content that have been changed in a working copy, the changes dialog now features a search, similar to the corresponding sidebar.

  • Improved editing interface performance with search-based validations

    While content is being edited, validations can have a great impact on the performance of the editing interface, especially if they are based on searches. To speed things up, the results of search-based validations are now cached, causing the editing interface to retain its responsiveness.

  • APIs for checking if a page is the current page or one of its ancestors

    When working with navigation elements, inspecting search results, etc., two new API methods may come in handy, Scrivito.isCurrentPage and Scrivito.isOnCurrentPath. Both methods expect a page object to be passed in.

  • Dropped support for Microsoft Internet Explorer 11 and JavaScript ES5

    From version 1.30.0, the Scrivito SDK no longer supports Microsoft IE 11 and JavaScript ES5.

  • Fixed bugs

    • With multi-site setups, searches on the changes sidebar panel are now applied to all sites, not just to the current site.
    • It is now possible again to publish a working copy in which a permalink was moved to a different page.
    • The context menu of the hierarchy elements and the changes at the bottom of the sidebar are now easily and fully accessible.
    • A glitch in the sidebar, which caused some buttons to overlap on small screens, has been fixed.
    • The TypeScript definition for Scrivito.ImageTag now correctly reflects the option to use a widget for the content prop.

Thank you for using Scrivito!

More great blog posts from Andreas Viebke

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

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

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