Over the last two weeks, we have been working on improvements to the platform. In this blog post, you can see a simple list of what has been changed, updated, and/or what bugs have been fixed. Read more about the release notes here.
Pages
New features
What have we worked on the past 2 weeks?
Wrapper component
As a business technologist, I want to reorder pushed options present on the wrapper component, so that I can compose the options in the right ordering without using the workaround (remove and push options again).
You can use this feature by navigating to a wrapper component and opening the options sidebar. When hovering over an option, the 3 dotted button appears. When you click on the button, you can click Move up or Move down to reorder the particular option in the sidebar.
Page compile error overview
As a business technologist, I want the page compile to catch missing page variable references used in options, so that I can resolve these errors faster.
When compiling pages, the platform validates missing references (errors) in the component options present on the page. References like model properties or other pages for example. When a missing reference is present, the feature shows an error overview with captured errors and a link to resolve them.
This feature has been enhanced with new capabilities. It now also validates missing page variable references, when you have used them in the content option of Text components for example. It validates on:
a deleted page variable and used in options.
a deleted page variable model property/relation and used in options.
You can use this feature by using a page variable model property inside the content option of a Text component and then delete the page variable. The error overview will show the missing reference item in the overview to have it resolved.
Improvements & fixes
Quick menu
The load more button in the Pages (Actions and Models) quick menu, the menu that appears when clicking on these menu items in the builder bar, was broken due to a library dependency update. Clicking the load more button wasn't responding as you would expected. This issue has been resolved and as a user, you don't need to do anything in addition to make use of this fix.
Authentication
The refresh token flow in combination when using a custom authentication profile in the page builder was not functioning as expected. When at runtime the logged-in user's access token was expired but its refresh token was still valid the platform had to start using the refresh token flow to retrieve a new access token for the user to make authenticated requests. This wasn't the case when using custom authentication profiles to authenticate your user with. This issue has been resolved and as a user, you need to recompile your page(s) and it then works as expected:
when the logged-in user's access token is expired but the refresh token is still valid, before sending a mutation or querying data, the platform starts the refresh token flow so that the logged-in user on the page gets a new access token which is then used in the mutation for authentication.
When the access token and refresh token are both expired upon sending a mutation, we need to kick back the user to the login page as defined on the authentication profile details.
Components section
When opening a page details, the menu on the left-hand side initially presents the (available) components section. Components are grouped into categories. Layout and Content are examples of categories present. The margin around the category name was increased unintentionally and as a result, the category titles had a larger height than expected. This user interface issue has been resolved and as a user, you don't need to do anything in addition to make use of this fix.
Set language interaction inside iFrames
The set language interaction type is used to create multilingual pages. But when a multilingual page with this interaction type present was used inside an iFrame it was causing an infinite reload loop at runtime. This issue happened because the interaction type sets the language in a cookie, but an iFrame cannot set and make use of cookies due to cross-domain vulnerabilities. So as a result, the interaction tried to set it and reload the page, infinitely. This issue has been resolved and as a user, you need to re-add the interaction type to your page to make use of this fix.
Backoffice template
The back office page template is updated so it now correctly shows images/files in the detail view when you add an image or file property during the (re)configuration of the template. New pages created from the back office page template are impacted by this change, previously created pages based on the template are unchanged.
When creating a new page based on the back office page template a configuration wizard will appear. In this wizard, you are now able to select the same property of two different relations to the same model in the property selector. For example:
Create two models, for example
Appointment
andDepartment
.Create two relations between these models, for example, an appointment belongs to a
Primary Department
and an appointment belongs to aSecondary Department
.Now create a new page based on the back office template. In the beforeCreate configuration modal select the ID property of the relation
Primary Department
.Click on the “<“ icon to go back to the
Appointment
model and now click through to the relationSecondary Department
. Before the fix, the ID was disabled (because it is selected already), but now you can select it, as it is via another relation.
Up next
What are we going to work on in the upcoming 2 weeks?
Page variables in display logic option
As a business technologist, I want to use page variables inside the filter rules (left and right-hand side) of the display logic option, to create show or hide conditional logic based on application data provided via variables instead of data components.
Advantages of using page variables over data containers inside display logic:
Simplified conditional UI development: Page variables are accessible everywhere on the page, which streamlines the process of creating conditional UI development.
Page variable request information properties: The addition and availability of Is loading, Is success, and Is error request information items simplifies the configuration the conditional logic and saves time.
As a user, you don't need to do anything in addition to make use of this.
Unified component styling
As a business technologist, I want to have a unified component styling feature, so that I can style my components exactly to my needs.
You can easily add any CSS property to a Betty Blocks default component (both key and value). Styling states of the component (like on hover) is not possible yet.
You can save a group of CSS properties as a 'style' and you can apply this 'style' to multiple components.
As a low-code developer, you can add unified component styling as a feature to a custom-developed component as well.
When this feature is released, new components dragged on the page will have this feature enabled by default. As a user, you don't have to do anything in addition. In the component options sidebar, a new tab will appear named 'styles'. This will only be the case of components present in the Betty Block default component set. Not for custom-developed components.
Components present on a page before this feature has been released, need to be updated. You can do this by selecting the existing component. For these components, the new 'styles' tab will also be available in the option sidebar. When opening this tab, you will see an update button is present. When you have used this button, you can use the component styling feature. This update button will only be available to components used from the default Betty Blocks component set.
Actions
Up next
What are we going to work on in the upcoming 2 weeks
Use of nested schema models in Actions
As a business technologist, I can use nested schema model properties in the output of an action step.
Instead of a text output at the end of your action, you will now be able to select a schema model and its nested properties if available. Enabling less advanced configuration for business technologists.
My Betty Blocks
New features
What have we worked on the past 2 weeks
Company Blocks Overview
Users with managing company permissions, can view all the blocks associated with the company, so block duplication can be minimized. The block overview is available as a new tab in the company overview.
Merge commit history
As a business technologist, I want to be able to view the history details of a merge, so that I can more quickly find out where any breaking changes where introduced. The merge history can be found by opening the production applications menu on the application details page.
Latest merge
As a business technologist, I want to view when the last merge, update or rollback was done, so that I don't have to open the merge plan to validate I've done a merge recently. The latest merge date and time can be found on the tooltips of the buttons within the sandbox manager.
Improvements & fixes
What have we worked on the past 2 weeks
Moving applications
Applications are moved successfully when its users are not in both the associated companies, this happens when moving between organizations that are associated between different companies.
Block store
Blocks that are unreleased are shown correctly when the my blocks filter is applied, so that Block developers can manage their dev blocks.
Authentication
Password validation now correctly shows the error message when a password is being used that is flagged as unsafe, so that users know how to meet the password requirements.
Education
New features
What have we worked on the past 2 weeks
Component learn documents
To assist new users in getting a better understanding of our components, steps, and models, we are creating documentation on all individual ‘sub-blocks’.
These can be found on our docs environment or via the following links.
Managing block visibility and the user provisioning feature
Users can now learn how to manage block visibility on organisation and company level, or learn about our new feature, user provisioning, in our latest governance articles.
Improvements & fixes
What have we worked on the past 2 weeks
Release notes
The technical writers of the education team have looked into the release notes, and want to update them with your input, please look at both the new release notes and give a happy smiley to the one you prefer!
Article fixes
Using display logic on your pages now also covers an example of the loading state.
The Betty Blocks glossary has been updated with some new terms like wrapper, UUID and SSL.
Up next
What are we going to work on in the upcoming 2 weeks
Building block learn documents
As a business technologist, I want to know how to use each building block to unlock the full potential of the Betty Blocks platform when building applications.
The education team will continue to work on covering components, steps, and models. We estimate to have covered up to all page builder content components within the upcoming 2 weeks.
Essential path v3
As a business technologist, I can learn the latest business technologist essentials by following a video learning path.
Within the upcoming 2 weeks, we will process the gathered feedback on the essential path and create a first outline for an improved, up-to-date essential path.
Platform roadmap
Want to know more about the upcoming features and functionalities of the Betty Blocks platform? Visit the platform roadmap of our community where you can find most of the topics that we are currently working on and are planning to work on. Let us know your thoughts by upvoting the topics you believe are the most valuable!
That was all for now. Your feedback allows us to continuously improve the Product. So please, let us know what you think about it!