Test your website performance for free
Test your website performance

Scrivito JS 1.7.0 Released – Featuring Protected Content

Improvements

Authentication via identity providers & restrictable pages

For more flexibility and to facilitate collaboration even better, Scrivito now allows editors and website visitors to log in via identity providers supporting OpenID Connect, e.g. Google.

You can set up the providers you wish to use in the CMS’s site settings on the Scrivito dashboard. In the case where these configuration options are not provided in your dashboard, our support team will be happy to activate them for you.

With visitor authentication, editors can specify for each page (via its properties) whether it should be publicly visible or restricted to logged-in visitors. Additionally, there’s an API available that enables you to implement the corresponding visitor log-in functionality in your Scrivito app. For editor authentication, no implementation is required.

To get you started, we’ve added some documentation about visitor and editor authentication to our Admin’s Guide.

Editing dates in place

Some kinds of content like blogposts or event pages typically include a date which often also serves to display a chronological overview of them to the visitor of your website.

Scrivito lets you set date values on properties views, but now you can also offer editors to specify dates much more conveniently in place. See Scrivito.ContentTag for how to make date attributes editable directly on the pages.

Increased content quality through validation

The content on a website often needs to meet some requirements. Many of them can be covered by style guides or loose agreements regarding layout, image content, etc. Others call for a supportive technical instrument to ensure that they are met.

Scrivito now lets you define validations to help editors comply with authoring guidelines and policies. A working copy can only be published if all of its content is valid, i.e. no validation errors occur.

Validation can be set up for CMS objects, e.g. pages, as a whole or for individual attributes of objects and widgets. If a validation fails, Scrivito’s editing interface notifies the editor by highlighting the affected piece of content on the page or in properties dialogs. Additionally, when working on a specific page, the validation errors found on this page are listed on the sidebar. Pages with validation errors can be found via the changes list, so opening them to fix the errors is easiest.

For an overview, typical use cases and example code, see Overview of Scrivito’s Content Validation. The API documentation on Scrivito.provideEditingConfig provides further details.

Progressive image loading

Starting at version 1.6.0, Scrivito.BackgroundImageTag components already load background images progressively. Now, Scrivito.ImageTag components also load images progressively if they haven’t been transformed. This lets the visitor initially see at least a low-resolution version of the image – instead of no image at all.

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

Search API supports value-based boosting

When searching, users expect to find the most relevant hits at the top of the search results list. The relevance of a hit can be adjusted with Scrivito by means of boosting.

Scrivito supports attribute-based and now also value-based boosting. Attribute-based boosting allows you to adjust the relevance of hits depending on the attributes in which the search term was found (e.g. the title). Using our new value-based boosting, you can now further fine tune the ranking based on a subquery. For instance, when searching for pages tagged with “laptop”, you could boost the rank of pages whose type (object class) is Product. Another example would be to lower the rank of PDF files after a full-text search so that regular pages show up first on the results page.

For details, see the API documentation on the boost subquery.

Ordering search results supports more than one criterion

Scrivito’s search API lets you sort search results using the order method. This method now supports up to four additional sort criteria next to the primary criterion. For example, you can now sort the hits by their object class (Page or Blogpost, etc.) as the first criterion, and, within each object class, by their title as the second criterion.

Checking the presence of the UI

There’s a new API method, Scrivito.isEditorLoggedIn. It lets you check whether your Scrivito application is running in the UI in order to make it behave differently if this is the case. You could, for example prevent Google Analytics from detecting page hits if the page has not been opened by a visitor but by an editor.

Determining a widget's container

We’ve been asked several times to provide a means to determine the direct parent of a widget - here it is: Widget#container(). This instance method returns the widget or CMS object containing the widget in question.

Chief editors must be owners to edit in working copies

Chief editors are able to see all working copies to which they aren’t assigned as an owner on the sidebar in the “Other working copies” section. Previously, after selecting such a working copy, chief editors could start editing right away. This has been changed to prevent accidental edits, meaning that chief editors now first need to become an owner of a working copy before they can edit its content. They can, of course, assign themselves via the working copy settings.

If a single-page application (SPA) delivering both Scrivito-based and non-Scrivito-based content navigates from a non-Scrivito page back to a Scrivito page, the NotFoundErrorPage is not displayed anymore, not even for a short time.

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