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

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.36.1 Bugfix Release

    This release fixes a bug found in version 1.36.0 of the Scrivito JS SDK: Under certain conditions, the renderChild prop of Scrivito.ChildListTag received an argument that was not a child object. This could lead to unexpected app crashes. We apologize for any inconvenience this may have caused!

  • Managing Users and Teams in the JustRelate Console

    Latest updates to edit.scrivito.com

    Scrivito’s user management has moved to the Console After introducing the JustRelate Console in April this year and announcing that authorized Scrivito users would be able to manage their account’s users and teams there, we finally did it: Clicking “Manage users” in the main menu now opens a new...

  • Scrivito JS SDK 1.35.1 Bugfix Release

    Bugfixes All API keys now work properly in Node.js environments In the Scrivito JS SDK, version 1.35.0, we added support for private API keys in a Node.js environment. Due to an encoding error when passing the credentials to the Scrivito backend, some keys didn’t grant access to restricted...

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.36.0 Released

    Introducing data details pages

    In an earlier Scrivito JS SDK release, we introduced data lists for seamlessly integrating not only individual data items but also collections of such items into your Scrivito app. Now, we are happy to present an even more powerful feature for data integration: Data details pages that can display...