Portrait 6.0.1 - Schöpfl
Released: Nov 13, 2022
Portrait 6.x is our biggest release so far. Not only, we added new features, we also reworked the complete UI and UX. Furthermore, the administrative capabilities were enhanced to speed up the development of new applications. We call the Portrait 6.x releases “Schöpfl”.
Before we dive into the new features, we want you to have a look at our article about our release strategy and how it will affect you as a user of Portrait.
Dashboard
The dashboard was completely reworked and modularized. It now offers more features and a better flexibility for different use-cases: It can be used as simple search or as overview of current activities and to-do's.
Search
The search bar is now a dashboard module, and tracks your search history in the user’s local storage. Recent searches can be easily reused.
Notes
Since 6.x you can now use the dashboard to manage your notes in one place. Notes are stored per user and are synced between all devices. Markdown is supported, so you can work with lists, emojis and more. The Administrator has to define if notes are active for every user — Per default, the Notes module is active.
Activities
Activities are now reworked and take the Custom Fields into account. Each user only sees Activities that are relevant for him. Furthermore, Activities are aggregated over all sources and only show the last 50 changed entries.
Favorites
Favorites are now enhanced and can be either a whole section or single entries. Also, we changed the behavior from being a general favorite for all users, to a private bookmark feature for each user.
Sections
Every user can now pin an entire section to his dashboard. Like this, important sections, that are often updated, can now be directly viewed from the dashboard. We figure this is practical for open tasks or tickets.
Entries
Every user can also pin separate entries to his dashboard. These entries are then visible under the module “My Favorites”.
Arrangement
Each user can customize the order of the module to better fit his needs. Each module (hero, notes, activity, favorites, sections preview, …) can be either moved up or down on the dashboard. The arrangement can only be changed in private mode.
The default order (and especially in public mode) is:
Hero
Search
Actions
Favorites
Activity
Notes
UI
Portrait is the first version where we revamped the UI from head to toe. You can really feel, that each component was revised, and the whole app is now designwise one entity.
Theming
We reworked the capability for theming the application. We feel, that Portrait takes a lot of weight from your shoulders when it comes to UI and UX. That was the reason we looked for a graceful solution for being able to theme the app to your needs. That meant we introduced more color parameters that you can use to customize your app. Does that mean we introduced a dark mode through the backdoor? Yes. See for yourself:
Our goal was to allow theming, not extensive customizing and web design. The possible outcome is always derived on our base design. It might be that your desired styling is not possible, simply because we do not allow the customizing for it. Theming right now is a healthy balance between customizing and upwards compatibility.
See more details here: Theming
Empty State and Error State
In the past, we used emojis for the empty and error states. That was a quick solution, unfortunately each browser used a different emoji library, and therefore we couldn’t control the look and feel of it. With 6.x we introduced new graphics that fits the look and feel much better.
Quick Actions
Forms and the barcode scanner can now be triggered from the dashboard and from the top menu. You can decide which forms are quick actions. E.g., an “Add new”-form can be very handy in the top-right or the dashboard.
Forms
Forms are redesigned and feature now a progress bar in case of multiple pages:
Sections
Sections are the presentation layer of Portrait. The list view can be considered as the base. Furthermore, we support up to 3 more views that are supported for different use-cases. Your options are therefore:
List
The List view supports configurable columns and an integrated preview:
Map
Presentation of your data based on coordinates (or addresses, if you use the integrated Field Processors for generating coordinates) on a dynamic Map view.
In Portrait 6.x the new top-menu design allows a bigger a map view and the detail-card gives you a data insight without opening it. Furthermore, you can use the “Locate me” feature on the map to see your location.
Orgchart
The Orgchart view allows presenting complex parent/child with named linked connectors in infinite layers.
In Portrait 6.x the org chart always starts in fit-to-page view. Furthermore, a view can be zoomed/panned, and a detail-card is shown on mouse hover.
Timeline
The Timeline view lets you represent data in chronological order.
In Portrait 6.x optimizations were done for big data sets and sorting the data is now possible.
Switchable Views
With Portrait 6.x you can define more than one view for the same section and let the user switch between them.
On mobile, the timeline is always shown as a list.
Export Data
The current section view can be exported as CSV or in case of an org chart as a PDF. This can be very handy when an ad-hoc report is needed with the given data:
The delimiter is configurable, in case you experience localization issues.
Drag & Drop Files
In case your form supports the upload of files, dragging and dropping a file into a section now activates a file upload via a form:
This will directly open the form “Service Call” and preset the image or file picker:
Installer
The installer was revamped to make the installation process a lot easier. The docs give you a good overview of what is possible – see: Installation
Administration
The Administration UI was optimized and offers a better overview of the active settings.
User Configuration
User Statistics
We added additional User statistics:
lastLogin
,lastActive
activityCount
successfulLoginCount
failedLoginCount
Reset Password
There is a new password reset workflow available which can only be triggered from an admin. The workflow will send an email with instructions (Template can also be configured, see https://portrait.atlassian.net/l/cp/F1TLHqhM) to the user. The new workflow can be started from the admin control panel.
Email Templates
New email template
A new email template requestPasswordResetAdmin.html can be configured in the email-template folder. This will be used during the new password reset workflow triggered by an admin for a specific user.
New Placeholder Properties
There are now two options to reference placeholder attributes in the HTML email templates:
{{placeholder_key}}
${placeholder_key} - can be used in CSS properties without breaking the syntax highlighting in various IDEs.
In addition, we also added the option to access the theme settings, like globalBackgroundColor
or highlightColor
, which are configured in the application.yml.
Details: https://portrait.atlassian.net/l/cp/tx1xuo0e
Refined Logging
The log levels as well as the daily backup procedure for the logfiles was refined. The new default logs are as follows:
Log level:
Root Level: Error
“at.treskon”: Info
Contains all relevant reindex operations
LogFiles:
active logfile
logs/portrait_backend.log
archived logfiles
logs/archived/portrait_backend.%d{yyyy-MM-dd}.%i.log.gz
Custom Logging
Furthermore, it is now possible to provide your own logging configuration with all features that are supported by Logback. For details see:
General settings | Custom Logging Configuration (Since 6.X)
API
The API is now accessible via https://portrait.customer.xyz/api-docs. You can execute commands from swagger and use the workbench functions directly.