Blog

Picturepark Breithorn Release | Jun 2020

By Picturepark Communication Team • May 18, 2020

The Picturepark Content Platform is released in its newest version.

  • Version: Breithorn Release (10.6)
  • Date: 7-June-2020 (TBC)
  • Platform: {name}.picturepark.com
  • Main changes:
    • Federated Authentication via OpenID Connect (OIDC).
    • Download of Multiple Dynamic Formats.
    • Batch Operations in User management.
    • Improved Business Rule Configuration and Trace Log.
Hotfix Details


Beginning with this release, we will highlight our heritage by starting to refer to each new release of the Picturepark Content Platform with the name of a Swiss mountain. The Picturepark staff have selected Breithorn for this release, with a vote share of around 75%. The Breithorn is part of a mountain range in the Pennine Alps, located in the Swiss canton Valais. With an elevation of 4,164 m (13,661 ft), it is considered an easy to climb 4,000m Alpine peak, due to the Klein Matterhorn cable car, which lifts hikers up close to the top. Jean Gras was one of the first to climb the Breithorn in 1813. He manufactured automobiles for a living, presenting them in 1924 at the Salon event in France. We think he would probably have liked the powerful capabilities of the Picturepark Breithorn Release to manage and publish his product information.

Release Summary

Notable changes include:

  • Support for federated authentication via Open ID Connect (OIDC): Admins can enable federated authentication to provide single sign-on (SSO) via OIDC, with support for ADFS 4.0 on Windows Server 2016 (or higher) for users with role mapping (incl. fallback), and mapping of user attributes. Azure AD is scheduled for a subsequent minor release.
  • User Management improvements: Admins can manage users with better user selection, locking/inviting/assigning roles to users in batches, and will find better indications about the status of the user e.g. federated or locked.
  • Download multiple dynamic custom formats: Users can download multiple dynamic custom formats at once, and become notified once the download is ready, if it takes longer to complete.
  • Transparency for outputs based on vector graphic: Vector graphics are now treated as their own file type, providing more flexibility in transparency options, when configuring output formats.
  • Improved business rule configuration: Admins can configure business rules using new conditions “NOT” and “field empty”, transformations supporting “split by” and accessible trace logs for easier debugging.
  • “View for all” permission per output format: users with access to output formats sourced from the original can download such formats, even without original access.
  • Sharepoint Connector (3rd party software) can pick content from Sharepoint Online libraries populated via the Content Platform and directly integrate content (“Sharepoint Connector”).

Release Details

Federated Authentication and Single Sign On (SSO) via OIDC

Users can now login to the Picturepark Content Platform by using their existing company accounts and login credentials, as supported and described below.

Using such federated authentication, users can benefit from single-sign-on (SSO) and need neither enter their login credentials again nor wait for approval by administrators. Instead, users can click corresponding buttons on the login form and are automatically signed in if a session exists with a supported Identity Provider (IdP).

Picturepark uses the industry-standard OpenID Connect (OIDC) protocol and for now supports ADFS on Windows Server 2016 (or higher) with official support for Azure AD planned for one of the next minor releases. Other identity management platforms that use OIDC such as Onelogin or Okta might work too although these are neither tested nor warranted by Picturepark.

Other notable features in this area are:

  • Support for multiple identity providers (IdP) to be used at the same time.
  • Use of the in-built Picturpark IDS accounts for users that are not managed in any such IdP.
  • Claim mappings from IdP to user attributes and user roles in the Content Platform.
  • Fallback user roles for when user groups cannot be resolved for federated users.

Federated Authentication and SSO via OIDC is included in Premium and Enterprise subscription plans and can be purchased as an add-on option for the Standard plan.

User Management Supporting Batch Operations

The user management has been improved by adding batch operations to the toolbar. When you open the user management from the main menu via “Users”, you can now directly:

  • Assign roles to all users (without any selection),
  • invite users to your Picturepark (sign-in),
  • lock all of them, or
  • delete them from the system.

The button tooltip shows the number of users affected by this operation.

This enables fast and easy user management in Picturepark, in addition to working with filters and search, for use cases such as:

  • Select the Lifecycle filter “Invited” to find all invited users and re-invite them if they haven’t followed your first request already.
  • Select a user role “supplier A”, which you terminated and lock all users of that role.
  • Select all locked users of “supplier B” which you partnered up again and unlock them.
  • Select all users of your default role e.g. “Reader” and assign the corresponding editor role to them.
  • Select inactive users and reactivate them.

Other notable changes in this area include:

  • The badges displayed on users have been visually improved’ to better identify locked or deleted users, or users that are of type “support” or “read-only”.
  • A new badge “LOCKED” helps to better identify locked users.
  • Additional columns in the list view of users provide more user details.
  • The Sidebar shows filters by default, instead of information about the selected user.
  • When reviewing users, admins can now directly assign user roles too.

Note: Batch operations are limited to 1000 users per batch.

Download of Multiple Dynamic Image Formats at Once

Dynamic formats in Picturepark are dynamically rendered, on-demand, and pre-configured in size, color space, and resolution. Users can now download multiple dynamic formats at once, instead of per Content Item. This allows for the possibility of downloading an Instagram Story format for all 10 Content Items together in one zip.

The dynamic, on-demand rendering may require some processing time. Picturepark will display a notification when the download is ready.

The download of multiple Content Items is limited to 1000 Content Items, not Outputs. You can download 1000 Content Items, each with 20 outputs and get a zip file with 20000 files, but you cannot request to download output from more than 1000 Content Items.

Previously, download of multiple content items was only available for pre-generated static formats.

Improved Support for Transparency of Vector Images

Picturepark now better supports vector graphics with regard to alpha handling or clipping path preservation for logos. Users can convert an AI logo file to a png for use on the website or they can replace the transparency with a color when converted to jpg, a format that does not support transparency. This option is helpful when e.g. uploading your logo source files for which Picturepark will generate the desired output.

Picturepark renders an SVG output for all vector types which can be scaled without quality loss. The vector formats (like EPS, AI, SVG) are now added as independent new file type “Vector”, which is accessible in File Types as a child to File. Inside Picturepark you can adapt Display Pattern or access specific vector metadata fields and settings from File Type > Vector.

In former versions vector files were treated as documents with less specific support.

Business Rules Improved for Tracing and Data Processing Features

Picturepark Business Rules can automate recurring tasks and validate data. The setup requires technical knowledge about the system and the data structures.

Business Rule Trace Log

With this release, trace logs for Business Rules have been added so that admins can better debug business rules. You can enable tracing per business rule (1) and then access these logs from the toolbar (2).

When you click the trace log icon, the new trace log viewer opens up with all traces already filtered for your business rule. You see a list of Content Items which were considered for execution, regardless of if the condition matched or not.

When you open one trace log you see general trace information, (1) all rules considered for the selected Content Item (a checkmark indicates that actions were executed), (2) conditions of the selected rule (1) and their evaluation status (true or false) and (3) actions, but only when the rule’s condition was satisfied and the rule was executed. If errors happened during execution, those errors would show in another panel.

The trace log helps you to easily debug the business rule, check if the condition was false, or the transformation failed or the action could not be completed and then update your business rule accordingly.

Business Rules Featuring “Not” and “Field Empty” Conditions

The new “Not Condition” is an operator, to negate a condition that you define. E.g. you can check if a particular Layer is not assigned (NOT LayerAssigned), and then the Business Rule will trigger when the condition is not true. This enables data validation that saves you time, as you can easily check if the Copyright Information is applied correctly or the Marketing department has access to all Content Items tagged with department “Marketing”.

The new “Field Empty Condition” checks if the field is empty e.g. check if the copyright notice is empty then remove the public access permission set. This condition will also consider all Content Items where the field is not present at all e.g. the Copyright Layer is not applied and therefore its field is empty.

Note: Be careful when using “Not Condition” or “Field Empty Condition” as the result is everything else, all other Content Items e.g. a Business Rule using “Not” with “Layer Assigned” may publish everything else. Please consider all implications carefully.

Business Rules Featuring “Split” Transformations

The new “Split” transformation enables you to split values by comma, space, or other character, including tabs and line breaks and produce single values out of a piece of text. These single values can later be used e.g. for tagging content for use cases such as:

  • You can take values of the title and a tagbox field with your main keywords to construct an SEO friendly slug e.g. Breithorn-Release-Notes-Picturepark-Authentication-Automation-Rendering.
  • You can take the values of an original filename to generate a title e.g. new_release_notes_breithorn.pdf will be written as “New Release Notes Breithorn” into the title field which improves search behavior.

Some additional improvements in this area were made:

  • The Clarifai Connector (auto-tagging service for images which can be optionally used by customers) was adapted to the changes which Clarifai have made to their models.
  • Fixes to cache validation if the cache is used in a business rule and a fix to be able to configure Content Permission Set Assign/Unassign/set empty actions
  • Validation of the business rule JSON, to show meaningful errors for badly configured business rules.

Various Other Changes & Improvements

This section lists additional improvements and notable changes in this release.

For Users

  • Content Items can now additionally be added to the basket via a new icon in the Content Browser toolbar.
  • Content Items that were deleted via the UI remain in the collection. However they are now displayed in the collections itself, grayed out, and the only possible operation is to remove them from the collection. This approach ensures that removed Content Items that get restored e.g. via API will be again available in the collection.
  • The filtering for the owner of the collection was removed.

For Editors

  • Parent-child fieldsets allow the choice of either parent or child, before editing the fieldset values. With the removal of parent-child complexity, the behavior is no longer available. When you assign the parent, the parent fields are displayed and when assigning the child its fields are displayed. There is no selection anymore.
  • An input limitation in text and translated text fields has been overcome and you can save, search, update and view values of any length. Previously, Picturepark couldn’t properly handle text values with more than 8191 characters (about two A4 pages of text) in case of content not being visible or searches not finding anything. This is an ElasticSearch limitation for keyword fields, which save values for exact searches. The only drawback is that searches for exact values with more than two A4 pages of characters of text and translated text fields are not treated as exact searches. You will find the content but from tokenized values.
  • The display and entering of dates is fixed. The date you entered in the metadata was correctly saved but the component displayed the wrong date, following your computers’ regional settings.
  • Excel Roundtripping App: The single-click event in the item browser is now behaving as in the Content Browser. Previously, the single click opened the item detail when the user expected to select the item. This led to confusion which has now been resolved.
  • The Batch Editor limitation that only allows the display of 100 Layers, Virtual Types, Owners or Permission Sets is now indicated to you. This is done via a warning message that informs about this limitation and offers advice, in case of editing the first 100 or narrowing your selection to get only 100 Layers, Virtual Types or Owners or Permission Sets.
  • The delete functionality for list items in the Batch Editor has been removed.
  • Microsite Content Portal: A new language switch is implemented to choose between English or German, which then changes all related translations on the page.
  • Content portal: The call to open the Microsite has been extended with a new base filter, the API equivalent of the channel selector. Without building your own channel selector you can now work with linked boxes or navigation and users can still add additional filter criteria to narrow the selection of Content Items.
  • The table list view: User management & List Items are displayed as table list views with checkboxes per row for selection. The checkboxes in the table list views have been enlarged, so you can click the checkbox more easily and select the correct list item or user.

For Admins

  • All outputs have the "view for all" option available, which makes it possible to render a dynamic output derived from the Original output format, without the user having to have the Access Original permission on the content.
  • Apps like the Excel Roundtripping App show version numbers which can be included in error reporting, in communications and in QA to separate versions.

For Developers

  • A new ReadOnly user filter for User search is available. With this, you can now exclude users where you don't have permissions to update them.
  • New endpoints have been added to batch process users.
    • Lock / Unlock multiple users
    • Invite / Re-invite multiple users
    • Change review state for multiple users
    • Assign (multiple) user roles to (multiple) users
  • New Endpoints have been added to configure Identity Providers.
  • The search response for content and list items contains the lifecycle of content and list items. You can now search for active or inactive items and distinguish them in the results.
  • Search endpoints: The behavior of AggregationFilters changed previously in 10.5 and has been further improved with this release, after adapting the Angular SDK and the Excel Roundtripping App. The change applied to search endpoints of Content, ListItem, Notification, User, Collection, Share and BusinessRule. They filter down independently the aggregations' values and the search results on specific conditions (see table below for more details).
  • The selection model in the Angular SDK, used for Content Portal, Content Picker, Excel Roundtripping App was updated to mimic the selection model in the Picturepar Content Browser. The integration into the Platform with a similar look but a different selection model caused a lot of confusion. Further corrections are corrected tooltips in the basket, overlapping buttons in mobile views, and the display of thumbs for Virtual Items in a Picturepark share.
  • Share operations (Create, Update, Delete) now return BusinessProcess. Previously, these operations would return only once they had completed. Instead, now, the returned BusinessProcess needs to be waited for.
  • Integrations: Content Portal: Several improvements and features have been implemented:
    • We updated the Content Portal to use Angular and Material/CDK Version 9 and ASP.NET Core to 3.1.
    • A language switch has been added to enable users to switch the UI language between English and German.
    • Fixed performance issues when opening the download dialog (Firefox and Edge)

In preparation for search suggestions and to have a cleaner API, the implementation in the Angular SDK was adapted to apply to the latest state-of-the-art approaches like working with a dedicated search facade. Some additional information about the best practice facade layer can be found online: https://medium.com/@balramchavan/best-practices-building-angular-services-using-facade-design-pattern-for-complex-systems-d8c516cb95ebb

API Breaks

Search Endpoint: SearchResponse for all entities searches.

QueryDebugInformation property transformed from an object to a collection of QueryDebugInformation objects

Search Endpoint: The behavior of AggregationFilters in the Search endpoints of Content, ListItem, Notification, User, Collection, Share, BusinessRule is changed: they filter down independently the aggregations' values and the search results on specific conditions.

For the search results, the aggregation filters are used to create a Filter that is put in AND with the eventual existing Filter of the search request to nail down the search results. The filters generated by the aggregation filters are put in OR each other if they have the same AggregationName, and then such groups are put in AND.

For the aggregation values, only the original Filter of the search request is used to nail down the data to be considered for the aggregations. Then, on top of that, for each aggregator in the search request, a Filter is created to filter down the aggregation results of that aggregation: depending on the match of AggregationName and AggregationFilter the AggregationName of the Aggregator, the filter is put in OR (if it matches) or in AND (if it does not match it). Moreover, an AggregationFilter ensures that the related value is returned in the AggregationResults also if the top aggregation values returned by default do not contain it.

Endpoint CreateDownloadLinks returns Businessprocess

CreateDownloadLink now returns a BusinessProcess which will be completed as soon as all the requested outputs have been rendered. Use GetDownloadLink with the ReferenceId from the returned BusinessProcess to retrieve the generated download URL.

Introduced limit of max 1000 Content Items (NOT outputs) for this request.

Share: Endpoint to return BusinessProcesses

Endpoints for Creation, Update, Deletion and Revoke of Shares now return BusinessProcesses which need to be waited for by the client

Angular SDK: Update to Angular 9

Microsites which use Picturepark Angular components must be updated to version Angular 9.

Schema endpoints: Managing contents and list items that have fieldset without "kind" information

The metadata dictionary for contents and list items does not contain anymore the "kind" property for fieldset fields. If you try to set the "kind" property in the metadata dictionary for a fieldset field, the system will automatically remove it before saving the content/list item

Schema endpoints: Managing contents and list items that have fieldset without "kind" information.

When using strong-typed schemas in the .Net SDK, the JsonInheritanceConverter cannot be used anymore on Struct schemas. If you use it, and at runtime, you try to deserialize a content/list item to a strong type, the deserialize will deliver an exception. To fix the issue, remove the JsonInheritanceConverter attribute from your struct schema classes.

Use Code flow with PKCE for OidcAuthService

For all angular SDK based applications that have OIDC package enabled, the configured IDS Client must be changed to "Code flow + PKCE".

Business Rule: ProduceMessageAction

For ProduceMessageAction the document type changed from "ContentDoc" to "Content" on the message that is produced.

SDK: A number of names of main parameters in SDK methods were simplified. Mostly ID and request parameters were changed to not include the name of the entity or model.

E.g. SearchAsync method on the ListItemClient previously had a signature like this:

Task<ListItemSearchResult> SearchAsync(ListItemSearchRequest listItemSearchRequest, CancellationToken cancellationToken = default);

after the change it will look like this:

Task<ListItemSearchResult> SearchAsync(ListItemSearchRequest request, CancellationToken cancellationToken = default);

It should not cause real breaks since these parameters are usually not referred to by name.


Deprecations

ListItemClient

SDK: In order to make the naming of endpoints/methods more consistent, we changed some of the names. The old methods are still available but marked with an Obsolete attribute (warning).

Method GetReferencesToListItemAsync was deprecated in favor of GetReferencesAsync.

Method GetReferencesToListItemsAsync was deprecated in favor of GetReferencesManyAsync.

TransferClient

SDK: In order to make the naming of endpoints/methods more consistent, we changed some of the names. The old methods are still available but marked with an Obsolete attribute (warning).

Method CancelTransferAsync was deprecated in favor of CancelAsync.

Method ImportTransferAsync was deprecated in favor of ImportAsync.

FormFile parameter in UploadFileAsync is required. Therefore the overload of UploadFileAsync with optional formFile parameter was deprecated. Please use one of the other overloads.

Changes to System Limitations

  • An input limitation in text and translated text fields has been overcome and you can save, search, update and view values of any length. The ElasticSearch limitation for keyword fields only applies to exact searches, so searching for the exact values with more than 8191 characters (two A4 pages of text) on text and translated text fields are not treated as exact searches. You will find the content but from tokenized values.
  • The download of multiple Content Items is limited to 1000 Content Items, not Outputs. You can download 1000 Content Items with each 20 outputs and get a zip file with 20000 files, but you cannot request to download output from more than 1000 Content Items.

Known Issues

Here is a list of known issues that users should be aware of when using the Content Platform. If you encounter any other issues than those listed below, then please contact Picturepark Support.

  • Channel: For customers with huge amounts of data and indexed metadata, the filters may show the approximate amount of items and not the total amount. The Content Browser shows the correct count. This error is an ElasticSearch error on bucket count. The numbers can be corrected by reducing the splitting of data to ElasticSearch shards but the shard reduction can only be done by Picturepark, as the option to update the numbers yourself has been removed with this release.
  • It is possible to create a filter in the Content Browser with the ID "language" but the filter will not display correctly in the Content Browser. Avoid the creation of filters with ID language.
  • The Batch Editor for List Items does not display a horizontal scroll for list items with a lot of fields in the browsers Edge and Firefox.
  • An editor cannot save edits in batch edit mode for any layers if a layer is present which she has only “view only” permissions on. The single edit mode in the Batch Editor works just fine.
  • Text in multiline fields is not formatted correctly and causes line breaks in between words without hyphens as well as removing line breaks completely.
  • Layers that have been assigned and unassigned are no longer showing up for selection in the Layer dropdown.
  • The advanced query to search for “layer not assigned” (-layerSchemaIds:LayerId) or “field has not the value” (-fieldId:value) will also return all Content Items with extracted full text (documents). By forcing the query to execute on metadata only (add &searchType=Metadata) the result is correct. Use the query -layerSchemaIds:LayerId&searchType=Metadata to get correct results.

Bug Fixes

  • The email templates sent from Picturepark were optimized by adding missing information (user, URL, dates, etc.) and line breaks and formatting has been improved.
  • The display of multi-line text fields in fieldsets is now fixed. Previously it was breaking the UI by exceeding panel sizes.
  • The validation of IDs when importing list items have been extended to ensure that the same IDs do not exist already, causing errors in the system.
  • The display and entering of dates is fixed. The date you entered in the metadata was correctly saved but the component displayed the wrong date following your computers’ regional settings.
  • When adding a new field to a schema and setting it required immediately the field could never be updated afterward. This behavior was corrected and new required fields can be edited like any other field.
  • When importing a schema from JSON a popup asks the user to select if the schema should be created with items. Before an editor could select the desired approach the popup disappeared. This has been fixed.
  • The context menu of schemas is now always displayed correctly. Previously the context menu was flickering and sometimes empty.
  • The date field has been updated to show the correct shortened value for March in German: Mrz. The month was displayed with German umlauts (März) which Picturepark didn’t recognize as correct date input.
  • Excel Roundtripping App:
    • The trigger field values (triggered at, triggered by) are now displayed correctly which was not the case in the last release. This way trigger values can be used to identify the latest approved items or items tagged by the content authority.
    • The export of tagbox values of Content or List Items is now possible without having access to the referenced list. This was misbehavior which required you to have access to the referenced list for exporting the tagbox values. It is still required to have access to that referenced list when editing.
    • The metadata import or list item update has been corrected to also work for tags with number fields. This was a bug.
    • Breadcrumbs in Lists are now linked and displayed correctly, so you can jump back to the list browser from within the list item browser.
  • Batch Editor
    • Editing list items and using facets for selection is now possible again, as it was not possible to edit list items after working with facets in the Batch Editor before.
    • The checkbox field value "false" (unchecked or never checked) is displaying “false” now as value, previously it was displayed as “no values” which is only partially true.
    • Additional labeling and tooltip improvements to simplify the editing process.
  • Microsite Content Portal
    • Content Portal: Output formats in Edge & Firefox are faster available for selection in the download dialogue. Before it took around 1min until formats loaded in the download dialog.
    • Content Picker: Additional styling improvements including the toolbar on mobile which is now on one line only, aligned metadata boxes, and color changes.
    • Content Portal: The dashboard is now correctly displayed to admins and editors, and no longer throws an exception when power users with admin permissions try to access the portal.
  • Cookie notice: (in Edge browser) after accepting cookie notices in one tab and refreshing the notice was still displayed in another tab. The behavior is now correct and accepted cookie notices are marked as accepted.
  • Tagbox field: (in Mozilla browser) The item filter for a tagbox, to limit the tags displayed for selection while editing, can be generated from default values of this tagbox (using the Monaco Editor). The item filter is now correctly displayed, and no longer hidden like in the last version.
  • Notifications: The frontend notifications showing now details about auto-tagging failures, which details were previously not displayed.
  • Notifications: The messages in notifications can be copied as text now.
  • Shares: Icons for not rendered files are displaying correctly now.
  • Notifications: Error messages now shown as an expandable tree view.
  • The Content Picker opens in the correct device mode, so mobile settings apply on mobile devices and on desktops, even with smaller screens, desktop settings are applied. The mobile view was opened on smaller resolution screens.

BE THE FIRST TO READ

Interested in getting notified about new blogs and other news from Picturepark? Follow us on Twitter, Linkedin or Facebook, and subscribe to our monthly newsletter

Picturepark News

We'll send you a monthly update of what is happening with Picturepark and the Digital Asset and Content Management industry.