Scrivito JS 1.7.0 Released – Featuring Protected Content


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 JS SDK 1.35.1 RC 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 RC 3 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...

  • Your Profile Image on the Sidebar

    Latest updates to

    Logged-in editors can now see their profile image If you have added a profile picture to the IdP (identity provider) account you use to log in, it is now displayed on the sidebar instead of your initials. For example, if you log in with your enterprise account, Scrivito uses the image from your...

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.35.0 Released

    This release introduces multi-line editing for string attributes, and improves several development-related aspects, also in the context of Node.js. Improvements Multi-line editing for string attributes As a developer, you can now enable multi-line editing for string attributes in the “Properties”...

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.34.0 Released

    Featuring data lists with placeholders

    Placeholders in lists In the previous Scrivito JS SDK release, we had introduced placeholders as a means to incorporate personalized data into textual content. Building upon that, we are excited to announce that in this release, we have expanded the functionality of placeholders so that they can...

  • Scrivito Enterprise CMS - Product Illustration

    Scrivito JS SDK 1.33.0 Released

    Featuring placeholders for data items

    Weaving data into website content using placeholders Editors can now insert placeholders representing specific pieces of data into textual website content, e.g., for personalization purposes. When the website is then visited, these placeholders are dynamically replaced with data provided by the...

  • Working More Easily with Widget Properties

    Latest updates to

    Editing widget properties on the sidebar For more convenience and uniqueness, the properties of any widget can now also be edited on the sidebar after clicking the “Widget properties” menu item of the widget concerned. The editing interface uses the sidebar that originally was dedicated to the...

  • Comparing Any Published Content Versions from the Publishing History

    Latest updates to

    Selecting the published content versions to compare The publishing history now lets you compare pages in any version of the published content with the corresponding page in any other version. Several of our customers had asked for this to be made possible. In more detail, determining the changes...

  • Working more Easily with Websites

    Latest updates to

    Improved “Sites” sidebar The “Sites” sidebar panel is now clearer, so you can more easily access the language versions of the currently selected website. The order of the language groups in the “All Sites” section is now fixed, which makes it easier to navigate the list and pick a site. The...

  • Switching to Neoletter Made Easy

    Latest updates to

    Switching to Neoletter made easy The Scrivito editing interface now features a sidebar button for conveniently opening the Neoletter UI associated with the Scrivito CMS concerned. Thank you for using Scrivito! Please let us know what you would like to see improved.