Posts

Planet Crust releases Corteza 2023.3: Lots of front-end and UX changes make Corteza more flexible than ever.



Planet Crust
, the driving force behind Corteza, is excited to announce the release of Corteza 2023.3

Changes include: Multiple Page Layouts, Conditional Fields, Drill-Down Charts, Block Magnification, Tabs and Navigation Buttons, Support for SQLServer and more.

Multiple Page Layouts

Create different page layouts that show different elements to different users depending on conditions, contexts, roles, devices, etc. Page layouts let you dynamically change page elements and content based on who is viewing what from where. Create any number and sequence of different page layouts to customize the end-user experience. In addition to changing the layout, you can also define their relationships and allow users to navigate between layouts.

Conditional Fields

Set conditions for how a user journey will progress based on the choice a user makes or new data inputs/changes. Conditional fields let you dynamically hide or show information based on the contents of the page so you can streamline your user interfaces and show only the most important information.

Drill-Down Charts

See the data lists beneath charts by clicking on the chart. Go further and filter lists directly based on the component of the chart you click on. Drill-down charts let you filter record lists based on your interaction with the chart.

Navigate Between Records

For power users, you can now move to a previous or to the next record without having to return to a record list.


Open Records and Other Blocks as Modals

For a better user experience, you can now open a Record as a modal in the same page as a Record List or open Page Blocks as large-sized modals.

Navigation Buttons

Add URL buttons, Compose Page buttons or a drop-down menu for faster navigation and a better end-user experience. Navigation buttons allow you to define custom navigation inside your Low Code applications. 

Tabs

Create more efficient UIs with tabs. Tabs let you place several Page Blocks in the same UI space with easy toggling between Tabs to access the different Blocks. 

Page Icons

Add icons to Pages in the menu to improve the look of your navigation.

Block Refresh

Add manual or automatic interval-based refreshes of page blocks so that lists, charts and other blocks always remain up to date without the need for full page refreshes.  

Bulk Editing of Records

End-users can now save time by bulk-editing multiple record values across any number of selected records.

Custom Login Screens

Customize your Corteza login screen by adding your own background and injecting CSS without the need to fiddle with the source templates.

Pre-Defined Record List Filters

Admins can create role-based Record List filters, allowing more flexibility as to who sees what and letting users quickly apply filters to Record Lists.

Add Images to User Profiles

Users can now add avatars or photos to their profiles for greater flexibility and customization options.

Copy, Paste and Clone Pages and Blocks

Design your dashboards faster than ever.  You can now easily duplicate entire Pages by simply saving as new, then edit the new Page as you like. Or copy-and-paste Blocks on a Page for faster dashboard creation. 



Mobile Geolocation Capture

Configurable geolocation capture replacing the previous scripting method for capturing geolocation from mobile devices. Set or prefill the current location while on a map for improved user experience and location accuracy.

Open Calendar Events in Modals

Configure a Calendar event source to open in a modal, a new tab or in the same tab so the user can see it without going away from the Calendar Block.

Disable Side Menu on Public Pages

Create more elegant end-user UIs by disabling the side menu on Public Pages in favor of the new navigation buttons.

Support for SQLServer

Support for Microsoft SQLServer as a production database.

Record Deduplication

We’ve added extended record duplicate detection configuration to support multi-value matching criteria and value-checking algorithms.


View the full changelog.

How to get Corteza

To install Corteza on your own server or try Corteza in the cloud, get started here.

How to upgrade your Corteza instance

To upgrade your instance to the latest version of Corteza, follow our Upgrade Guide.

About Planet Crust

Planet Crust is the creator of and driving force behind Corteza, a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams.

About Corteza

Corteza is a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. Corteza comes with an Apache 2.0 license and all code is published and can be reviewed at https://github.com/cortezaproject. All Corteza code is contributed to the Commons Conservancy Software Foundation. For more information about the project, visit www.cortezaproject.org or follow @CortezaProject on Twitter.

Planet Crust releases Corteza 2022.9.8

Planet Crust, the driving force behind Corteza, has released a new update of Corteza that includes new features, changes and fixes.

Release notes:

  • Added configuration option that hides record list filtering. The change was added to enable configurators to hide filtering on record lists (8ebd25c).
  • Changed the link to the reminder record, it was added in the reminder sidebar list/edit. Enabled the ability to un-dismiss reminders. Added a date input field to set the date and time of the reminder. General UI/UX improvements for reminders. The change was made to make reminders more user friendly and easier to use by having the option to set reminder in more than 24h and to un-dismiss a reminder if needed. (885).
  • Fixed date multi value filtering using contains/not contains. The fix was made by adding explicit type casting for date time values to cast into jsonb format while parsing the record filter query (903).
  • Fixed select field translations not being shown unless the module is saved. The fix was made by updating the Select/dropdown configurator with a default initial state of the field options that are already saved (1706e52).
  • Fixed gauge chart metric functions not showing correct results when report produced multiple data frames. The fix was made by setting the dimension field to deletedBy which produces at most one dataset, since the gauge only shows one value (883).
  • Fixed issue of role with invalid ID stored in the local storage from displaying of the permission pages. The fix was made by filtering out the invalid role IDs from the local storage (886).
  • Fixed datasources not being saved when pressing the save datasources button in the datasources modal. The fix was made by saving the datasources when the save button is pressed on the datasource modal, instead of saving only when report was saved. (889).
  • Fixed the record list filter not working when field name included a hyphen in the field name. The fix was made by adding ‘-‘ (hyphen) to the allowed list of characters in the record list filter(query) (897).
  • Filtering records using date multi-value fields with a combination of “AND” and “Contains/Not contains” will produce an empty record list.

View the full changelog.

How to install Corteza

You can follow the offline deployment instructions for a local development or demonstration instance of Corteza. If you want to set up a live deployment, check out the extensive online deployment instructions. If you have questions, you can engage with other community members on the Corteza forum.

How to upgrade your Corteza instance

To upgrade your instance to the latest version of Corteza, follow our Upgrade Guide.

About Planet Crust

Planet Crust is the creator of and driving force behind Corteza, a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. For more information or to try Corteza on the cloud, please visit www.planetcrust.com.

About Corteza

Corteza is a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. Corteza comes with an Apache 2.0 license, and all code is published and can be reviewed at https://github.com/cortezaproject. All Corteza code is contributed to the Commons Conservancy Software Foundation. To stay up-to-date on the project, follow @CortezaProject on Twitter.

 

Planet Crust releases Corteza 2022.9.7

Planet Crust, the driving force behind Corteza, has released a new update of Corteza that includes new features, changes and fixes.

Release notes:

  • Added support for casting numbers to float inside workflow expressions via the float function. The change was added to simplify type casting by using a function instead of an intermediate workflow expression variable (38b6cb3).
  • Added ability to toggle block border. The change was added to make a better distinction between blocks when they are not shown as cards (860).
  • Added general UI/UX improvements. The change was added to make some invalid configurations impossible, provide a better overview of some resources and prepare styles and layouts for future releases (80117c0, ef7e864, 9acc109).
  • Changed making name property required when creating templates, dal connections, workflows, auth clients and sensitivity levels. The change was made because we were able to create a resource without any data entered, and with this change, we now have a requirement, and you cannot create a resource without data entered. The change was made by adding validations to prevent creating one of the listed resources without adding a name (38a02d5).
  • Changed the usage of chart.js on admin dashboard with e-charts. The change was made to remove all places where we used to use chart.js since we transitioned to apache e-charts. The change was made The chart is now in line with other charts in Corteza, and the date tooltips are now also correctly displayed (7daafa1).
  • Changed the record organizer now gets filtered based on the key field and key value. The change was made to avoid putting the knowledge on how to set up the pre-filter and make the record organizer work on the user. The change was made by generating a filter based on the key field and value and AND-ing it with the pre-filter (2398499).
  • Fixed record organizer did not load properly on record pages while using ${recordID} in pre-filter. If used on a record page, the values also now get properly prefilled. The fix was made by properly fetching once the record object becomes available and providing the reference record so values can be prefilled (2398499).
  • Fixed CortezaID datatype in PostgreSQL database. The fix was made by changing the datatype for CortezaID in the PostgreSQL database from bigint to numeric (830).
  • Fixed authenticated role being overwritten on server restart if the role was being modified. The fix was made by adding a check in the provision logic to skip base roles & RBAC rules if they were already provisioned (88204f7).
  • Fixed integration gateway filter table was not properly refreshed in rare cases. The fix was made by adding a spinner to the integration gateway filter table, so that it is properly refreshed when fetched (cfe7e50).
  • Fixed saving issue with module discovery settings. If you had any configuration set for discovery in a module, the module was not saving properly. The fix was made by migrating discovery settings to support multi-language, and updated module discovery config struct to support multi lang result (724804c, e020f74).
  • Fixed record list filter builder for date only and time only filter types which was not working as expected. The fix was made by updating the record list filter builder with the correct query entry for time only and date only (847).
  • Fixed the record revision date-time type not showing correctly. The fix was made by updating the type section translation on the record revision configurator to display the fields as camel case, which is the case for the date-time on the translation itself (863).
  • Fixed workflow export if handle wasn’t defined. The fix was made by falling back to workflow name and sanitizing the file name for any illegal characters before saving it (96f8bc5).
  • Fixed sidebar not displaying in mobile mode on some mobile clients. The fix was made by updating the condition to check for widths smaller than 1024 or evaluating the userAgent with a regex to check if it is any of the known mobile clients (bc32070).

View the full changelog.

How to install Corteza

You can follow the offline deployment instructions for a local development or demonstration instance of Corteza. If you want to set up a live deployment, check out the extensive online deployment instructions. If you have questions, you can engage with other community members on the Corteza forum.

How to upgrade your Corteza instance

To upgrade your instance to the latest version of Corteza, follow our Upgrade Guide.

About Planet Crust

Planet Crust is the creator of and driving force behind Corteza, a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. For more information or to try Corteza on the cloud, please visit www.planetcrust.com.

About Corteza

Corteza is a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. Corteza comes with an Apache 2.0 license, and all code is published and can be reviewed at https://github.com/cortezaproject. All Corteza code is contributed to the Commons Conservancy Software Foundation. To stay up-to-date on the project, follow @CortezaProject on Twitter.

 

Planet Crust releases Corteza 2022.9.6

Planet Crust, the driving force behind Corteza, has released a new update of Corteza that includes new features, changes and fixes.

Release notes:

  • Changed workflow iterators to treat limit 0 parameter as no limit set. The change was made to make workflow iterators consistent with other searching/filtering interactions. The change was made by changing the limit in the code (fc259ca).
  • Changed error message when trying to delete a sensitivity level that’s in use to be more informative on what is wrong. The change was made to make error messages more consistent and user friendly. The change was made by adding additional validation before the sensitivity level is deleted (56e5543).
  • Changed the closing of the import modal. The change was made to give the user a better UX. The change was made by adding an id to the import modal through which the modal is closed after a successful import (735).
  • Changed the location of the attachment modal. The change was made to enable previewing of attachments in private pages. The change was made by moving the attachment modal from Public/Pages/View to Namespace/View (ea1c1fa).
  • Changed the requirement to provide a handle when creating a role is now removed and the handle is now optional. The change was made because providing a handle shouldn’t be a necessity. The resource can be created without it. The change was made by removing the requirement for the handle to be provided (fd55cce).
  • Removed the bootstrap class text-truncate from the <b-list-group-item>. The removal was made because the federation nodes in modules were not shown as they should and this class was making the problem (efe382b).
  • Fixed invalid record revision history for multi value fields. The fix was made The first value appeared duplicated, the last value was omitted, and when a value was removed the value was no longer visible in the old version (b203224).
  • Fixed uninformative internal error error message on the user profile change password interface. The fix was made by properly handling and serving the error message (82c70b3).
  • Fixed issues with Block title and Description when translations are included. The fix was made by updating translations and they no longer affects other blocks with duplicate titles and description are included (752).
  • Fixed being unable to export an user that had a suspended or deleted role assigned to it. The fix was made the export logic was resolving unresolved resources on the fly and it was not excluded and this edge case caused the server to panic (1432671).
  • Fixed missing support for filtering, sorting, and paging over federation nodes. The fix was made by enabling filtering, sorting, and paging for federation nodes (22f49b0).
  • Fixed hiding of calendar in calendar block when switching from page builder to view page and vice versa. The fix was made by replacing throttle with async/await in the CalendarBase component (4124f8f).
  • Fixed searching a record list if it does not have any fields selected in the configurator. The fix was made by making sure a record list with default fields uses those instead of the selected ones to search from (0f03f9c).
  • Fixed filtering for multi-value number field with contains or not contains criteria. The fix was made by making sure to convert numbers into string format while building a query for the selected filter (7185611).
  • Fixed when record list records per page was set to 0, the pagination information was not displayed properly. The fix was made by adding a check for this case where the pagination information is generated (045da2e).
  • Fixed filtering for bool type for equal and not equal operator. The fix was made by adding custom val handler for bool type to convert it properly while parsing the query according to supported drivers (1febba3).

View the full changelog.

How to install Corteza

You can follow the offline deployment instructions for a local development or demonstration instance of Corteza. If you want to set up a live deployment, check out the extensive online deployment instructions. If you have questions, you can engage with other community members on the Corteza forum.

How to upgrade your Corteza instance

To upgrade your instance to the latest version of Corteza, follow our Upgrade Guide.

About Planet Crust

Planet Crust is the creator of and driving force behind Corteza, a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. For more information or to try Corteza on the cloud, please visit www.planetcrust.com.

About Corteza

Corteza is a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. Corteza comes with an Apache 2.0 license, and all code is published and can be reviewed at https://github.com/cortezaproject. All Corteza code is contributed to the Commons Conservancy Software Foundation. To stay up-to-date on the project, follow @CortezaProject on Twitter.

 

Planet Crust releases Corteza 2022.9.5

Planet Crust, the driving force behind Corteza, has released a new update of Corteza that includes new features, changes and fixes.

Release notes:

  • Added missing configuration options that were in compose charts but not in reporter charts, e.g. Legend, Tooltip, Offset, label rotation for X and Y axis. The change was added to provide the same set of features on both chart configurators (d8fa5be).
  • Added function INSTR that can be used in the compose pre-filters, used like INSTR(‘foobar’, ‘foo’). It returns the position of the first occurrence of the second parameter in the first, starting with 1. Returns 0 if no match was found and the matching is case insensitive. The change was added to providing more flexibility for the compose pre-filters (36d8fc6).
  • Changed disabled the field picker drag and drop while searching for a field when configuring module, chart and page fields. The change was made because reordering of fields while searching was causing issues. The change was made by adding a computed property that tracks if a query parameter is added and if dragging is disabled (a0a7031).
  • Changed the column selectors in reporter (pre-filter, label/primary/secondary column) now all show the label and name of the column, they can also now be searched except for the presort. The change was made to make it easier to differentiate between the different fields that have the same label, for example after using a Join. The change was made by replacing the default bootstrap select with the vue-select component (e61cfde).
  • Changed greater than and less than filter operators, they are now only available on number and date fields. Contains and Not contains filter operators are now only available for multi value fields. The change was made to prevent users from using filter operators that are not supported for specific field types. The change was made by updating the operators list configuration in the record list filter (713, 713).
  • Fixed filtering for bool type for equal and not equal operator. The fix was made by adding custom val handler for bool type to convert it properly while parsing the query according to supported drivers (8e5d63c).
  • Fixed sensitivity level un-delete prompting a not found error due to an invalid HTTP request. The fix was made by properly handling the different sensitivity level states to call the correct endpoint (7eb26e6).
  • Fixed RBAC rules not applying when assigning them via workflows when providing the role via the Role type. The workflow didn’t raise any errors, but the saved RBAC rule was invalid (the roleID was set to 0 — invalid). The fix was made by updating the automation handler code to check all of the supported types and not just the roleID The handler logic was only using the roleID parameter and omitting the others (6a14808).
  • Fixed page list not displaying in busy state while pages are being fetched. The fix was made by adding a spinner with Loading text (671).
  • Fixed resource list not being updated after a new resource was imported. The fix was made by adding an updating function that re-fetches the list of resources (f2f9032).
  • Fixed the chart overflowing the block if a reporter chart was used inside a compose page block and the block had a title. The fix was made by using the same layout as on regular compose charts (c09e0f5).
  • Fixed permissions modal title being incorrect if the resource didn’t have a title or handle defined. The fix was made by making sure the resourceID will show in the permissions modal title if no other identifiable information exists (fd76c8f).

View the full changelog.

How to install Corteza

You can follow the offline deployment instructions for a local development or demonstration instance of Corteza. If you want to set up a live deployment, check out the extensive online deployment instructions. If you have questions, you can engage with other community members on the Corteza forum.

How to upgrade your Corteza instance

To upgrade your instance to the latest version of Corteza, follow our Upgrade Guide.

About Planet Crust

Planet Crust is the creator of and driving force behind Corteza, a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. For more information or to try Corteza on the cloud, please visit www.planetcrust.com.

About Corteza

Corteza is a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. Corteza comes with an Apache 2.0 license, and all code is published and can be reviewed at https://github.com/cortezaproject. All Corteza code is contributed to the Commons Conservancy Software Foundation. To stay up-to-date on the project, follow @CortezaProject on Twitter.

 

KoboToolbox Integration

Background

“KoboToolbox is a suite of tools for field data collection for use in challenging environments. Our software is free and open source. Most of our users are people working in humanitarian crises, as well as aid professionals and researchers working in developing countries. Our teams of developers and researchers are based in Cambridge, MA and many other places around the world.””

Source: https://www.kobotoolbox.org

How KoboToolBox can be used with Corteza

One of the key features of KoboToolBox is the ability to create custom forms to suit your data collection needs. These forms can be accessed either Online or Offline allowing for their use in environments where internet connection is not possible.

Due to Corteza being a Web Based application an active internet connection is required to use Corteza. This allows Corteza to remain lightweight and usable on machines regardless of their processing power. This also means that Corteza may not be an adequate solution for use in the field.

This means that KoboToolBox and Corteza have synergistic properties where KoboToolBox can be used to collect the required data and once an internet connection is reestablished the data can easily be pushed to Corteza for  effective processing and management.

Read more

Configuring Hierarchical Record Relations in Corteza

Corteza, at the moment, does not provide a native feature which would allow you to define hierarchical user relations. The outlined solution provides an example of how you could programmatically achieve this.

The demonstration uses an example where we have three roles; admin -> manager -> user where user reports to the manager and the manager to the admin.

The desired output is that the user can see their own records, the manager their own records and all user records, the admin their own records and all user records and all manager records.

Read more

Planet Crust releases Corteza 2022.9.4

Planet Crust, the driving force behind Corteza, has released a new update of Corteza that includes new features, changes and fixes.

Release notes:

  • Added support for coalesce sorting on all supported store driver. The change was added to allow sorting of first non-NULL value among given columns into one column (547).
  • Added test SMTP server button for the admin email settings. The change was added to let administrators test SMTP configuration validity before deploying changes (539).
  • Added nylas integration which allows you to easily connect Corteza with email, calendar, and contacts provider. A new page block on compose called Nylas was added, that can display Nylas components defined in the Nylas dashboard. The Nylas external provider was also added to the list in the Admin panel under System settings. The change was added to enable the integration with Nylas and support the use of its components inside Low Code (539).
  • Changed the labels being displayed in metric page block instead of names. The change was made because we were incorrectly displaying the field names instead of its labels. The change was made by changing the metric page block fields to show labels instead of names (586).
  • Fixed the namespace, module, page, workflow, and reporter lists to properly sort the last change column. Previously the sorting was done on the updatedAt value and the value was shown as updatedAt or createdAt if the resource wasn’t updated yet. The fix was made by using the coalesce (deletedAt, updatedAt, createdAt) to sort based on all three columns, so that the value displayed matches the value that is being used to sort (547).
  • Fixed invalid data ordering on Low Code charts caused by improperly ordered data on the record report endpoint. The fix was made by adding an explicit sorting by the specified dimension field (956e30e).
  • Fixed users not being able to go to the previous page on reporter tables. The fix was made by updating the page cursor only if it exists while creating a report paging filter to preserve the valid cursor for the next page (588).
  • Fixed not being able to close the workflow modal once you press New Workflow. The fix was made by adding a back button that simulates the back button behavior of the browser (585).
  • Fixed reporter chart display element configuration not being properly saved on creation if the chart type was changed. The fix was made by properly updating the chart display element options when the chart type is changed (074b2fd).

View the full changelog.

How to install Corteza

You can follow the offline deployment instructions for a local development or demonstration instance of Corteza. If you want to set up a live deployment, check out the extensive online deployment instructions. If you have questions, you can engage with other community members on the Corteza forum.

How to upgrade your Corteza instance

To upgrade your instance to the latest version of Corteza, follow our Upgrade Guide.

About Planet Crust

Planet Crust is the creator of and driving force behind Corteza, a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. For more information or to try Corteza on the cloud, please visit www.planetcrust.com.

About Corteza

Corteza is a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. Corteza comes with an Apache 2.0 license, and all code is published and can be reviewed at https://github.com/cortezaproject. All Corteza code is contributed to the Commons Conservancy Software Foundation. To stay up-to-date on the project, follow @CortezaProject on Twitter.

 

Planet Crust releases Corteza 2022.9.3

Planet Crust, the driving force behind Corteza, has released a new update of Corteza that includes new features, changes and fixes.

Release notes:

  • Added a new label position option for charts with y-axis. It enables you to position the label at the bottom, middle or top of the y-axis. The change was added because the y-axis label was overlapping with the values if they were bigger (18248a2).
  • Added new multi value filter operators (IN and NOT IN) to the pre-filter in the reporter UI. This why users have the ability to filter records using multi value fields. The change was added to bring back the support to filter records using their multi value fields inside reports (560).
  • Added additional configuration for pie, bar, line, and doughnut charts. Three new sections were added – tooltip, legend and offset as well as the options to rotate x and y axis labels (only for bar and line charts). The change was added to give the users more freedom to customize charts (a8d3b83, b2c9de5).
  • Changed the resource list now uses the same component, item count and pagination and it is also enabled for resource lists that support it. Now almost on every resource, we show the total item count and we have the ability to go to the next page if there are items. The change was made because the look and feel of lists across Corteza needed to be unified. Also for better user experience and to always know the correct number of how many records/items we have. The change was made by updating and using the reusable CResourceList component in corteza-vue That means we can control the look of all lists from one place (030109b, 229bf12, c67daa7, 06c07d8, 6033433).
  • Changed the requirement to provide a handle when creating a resource is removed and handles are now optional. The change is applied in compose, admin, reporter, and workflow. The change was made because providing a handle shouldn’t be a necessity and resources should have the option to omit it. The change was made by removing the strict handle existence validation (cd86e85, cf21c47, 456c896, 9b88af0, 24b0dda, 34f261a, 3a90a10).
  • Changed the color of the button for confirming the action to accept a privacy request. The change was made to match the colors with the ones when confirming/denying the action to reject a privacy request. The change was made by changing the color to dark blue (d4ed9ff).
  • Fixed the avatar not being clickable on the auth screens on mobile devices due to the login form overlapping the top bar. The fix was made by adjusting the styling of the auth screens and the Corteza top bar (541, 541, 541).

View the full changelog.

How to install Corteza

You can follow the offline deployment instructions for a local development or demonstration instance of Corteza. If you want to set up a live deployment, check out the extensive online deployment instructions. If you have questions, you can engage with other community members on the Corteza forum.

How to upgrade your Corteza instance

To upgrade your instance to the latest version of Corteza, follow our Upgrade Guide.

About Planet Crust

Planet Crust is the creator of and driving force behind Corteza, a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. For more information or to try Corteza on the cloud, please visit www.planetcrust.com.

About Corteza

Corteza is a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. Corteza comes with an Apache 2.0 license, and all code is published and can be reviewed at https://github.com/cortezaproject. All Corteza code is contributed to the Commons Conservancy Software Foundation. To stay up-to-date on the project, follow @CortezaProject on Twitter.

 

Planet Crust releases Corteza 2022.9.2

Planet Crust, the driving force behind Corteza, has released a new update of Corteza that includes new features, changes and fixes.

Release notes:

  • There is a known bug where multi-value fields crash the server or produce unexpected results in reports. If your configuration uses reports which utilize multi-value fields, skip this patch version.
  • Changed the workflow step configuration results section when no results are present for execute workflow, function, prompt, and iterator steps. The change was made because the results section was present even if no results were listed for the specified workflow steps The change was made by hiding the results section if no results are present (2b4619a).
  • Changed the uninformative RBAC rule import error messages reported by the provisioning system. The error was uninformative because RBAC rules, in this context, don’t use identifiers. The change was made because the error in question was uninformative and looked like this: failed to complete transaction: store encoder encode rbac-rule []: unsupported resource type '' for RBAC store encode. The change was made by allowing custom error reporting logic for specific resources such as RBAC rules (e2ac9c4).
  • Changed password constraints which saved their values as strings to save them as numbers. Additionally, the labels of the two fields were reworded to match the style of the other inputs in the password constraints section. The change was made because the password constraints were saved as strings; with this change, the constraints will be saved as numbers (aad919f, 703516c, a248000).
  • Changed the documentation about sanitizers and fixed the example links in module field validation tab to now point to the correct anchors. The change was made because the documentation was lacking information about field value sanitization. The change was made by updating the documentation with a new important section describing this behavior and changing the documentation links in the module field configuration to point to validators/sanitizers (9af28f2).
  • Changed record pages to reflect the operation (creating, editing, viewing) in the title of the public page. The change was made because the previous titles didn’t match the consistency of the other page titles. When you were editing a record instead of saying Editing a record page the title was saying Viewing record page, which was wrong. The change was made by changing the translation message of a record in the create, view and edit components (b3ded1b, f7a520f).
  • Fixed incorrect user count from the system metrics report due to system-defined users. The fix was made by excluding system users from the metric report We didn’t exclude them from the total, but they were excluded from the per-day aggregation (fd6465d).
  • Fixed the timestamp in the details of an action log being different as the one in search results. The fix was made by applying a custom formatting to the timestamp (a4596fb).
  • Fixed strict record value duplicate detection, which was preventing record creation with same values for fields for strict duplicate detection validation. The fix was made by validating duplication only for selected field (eac2f07).
  • Fixed sub workflows being unavailable in the workflow execution step after the server was restarted. The issue was caused by the initialization logic excluding sub-workflows from the filter. The fix was made by including the sub-workflows in the initial load, thus resolving the issue (d64b732).
  • Fixed action log search results not showing the correct outputs. The fix was made by fixing the lapsus where the from timestamp was used for both the from and to date range which resulted in no matches (1fa5f39, c63df82).
  • Fixed Low Code namespace export where the name contained characters like /, . broke the export because they broke the URL. The same issue was addressed for record export but with module name. The fix was made by URI encoding the filename and replacing dots with - as that caused the URL to be broken (1f0ea56, 920cc5a).
  • Fixed JSON codecs ident getting set to the field’s name instead of values, when editing a module/configuring field mapping. The JSON codec requires you to specify where the JSON object is located, not the name of the value. Since values are stored in values, the value has to be values (where the JSON is). The bug told Corteza to look for the column with the field name which probably never existed. The fix was made By correctly defaulting the values (580db32).
  • Fixed DAL connection configuration displaying the default DSN connection parameters instead of the configured one. The fix was made by properly merging the default values and user-provided configurations, as well as fixing edge-cases where the configuration was made available after the page had loaded In the later case, the user-provided configuration was never displayed instead of the default values (0b41074, f9f7e92).
  • Fixed using workflowID parameter in workflowList not working because the returning value was getting corrupted in JavaScript due to unsupported uint64. The fix was made by replacing []uint64 with []string for filterworkflowID that corrupted the input value for JavaScript (uint64 vs int64) In addition, the filtering was moved to the store level (ca7d4b0).
  • Fixed DAL code ignoring module ID when doing record lookup. If you wanted to select a record you were receiving the error message: Could not create record: check error messages on the form, and on the form it was saying: record not found This fix ensures proper module ID is used (one from the module field options)when doing lookup. The fix was made By using module-id from module field options and not field’s module ID (a8d2fef).
  • Fixed broken filter and codegen definition for workflow filters which resulted in generating broken filter functionality. Filtering subworkflows with subWorkflow 2 flag in workflowList was not returning any subworkflows. The fix was made by properly applying conditions when sub-workflow filter was used (5b2ba54).
  • Fixed missing dal connection translation by converting its error meta key reference to kebab-case. The fix was made by adding missing credentials translations to the locale under system/credentials (434, 9021d1b, baff7b7).
  • Fixed broken translation due to incompatible fileName case in locale. The fix was made by renaming the file name for resources as per expected format (kebab-case) (b2ad8c2).
  • Fixed record search endpoints needlessly degrading performance by computing totals and paging cursors even when not required. The performance hit was noticeable on larger datasets. The fix was made by short-circuiting processing sooner when totals and page cursor navigation was not required This doesn’t change external behavior as those parameters were not included even tho they were computed (24b5d7c).
  • Fixed data aggregation count function crashing the server when no arguments were provided (count()). The old version allowed this format while the new one did not and it crashed the server. The fix was made by adjusting validations and adding additional exceptions for this specific case (fd3552e).
  • Fixed action log search results did not change if you reset the filter parameters. The filter parameters are reflected in the URL. The fix was made by properly updating the search parameters in the URL (ca14671).
  • Fixed geometry values not being saved when changed manually in inputs. The fix was made by correctly detecting changes on the geometry value since it uses a more complex structure then the rest of the inputs (893e644).
  • Fixed record export filter not interpolating placeholders such as ${userID} which lead to non functional exports. The fix was made by adding evaluation to the record export filter to correctly evaluate and interpolate placeholders (9e9898b).
  • Fixed privacy web apps not being enabled in the default Corteza configuration. The fix was made by adding the privacy web applications to the HTTP_WEBAPP_LIST env variable (c8508f4).
  • Fixed Data Privacy Officer role unable to see or review requests in the privacy web application due to invalid permission configuration. The fix was made by updating provision YAML files with search and read on corteza::compose, corteza::compose:namespace, corteza::compose:module and corteza::system resources Additionally, Data privacy officer permissions were changed to be able to view and edit a privacy request (1d390f9, 69f33fa, 2b35b98, a5e192f, 18a687a).
  • Fixed missing translations for gateway, auth, dal sensitivity, and data privacy. The fix was made by adding the missing translations to corteza-locale (bb29fe2, 56046e9, e64befa).
  • Fixed errors on reports not being captured. The fix was made by properly capturing and displaying errors (8926c04).
  • Fixed required module field flag is not reflected on the corresponding model attribute on the nullable flag. The fix was made by explicitly setting the nullable flag on all attributes when generating models where fields set the required flag (eb89992).
  • Fixed incorrect type encoding for Low Code charts where numbers were represented as strings and references (IDs) as numbers instead of strings. The fix was made by adding a hotfix to assure that these exceptions are properly encoded and presented to Low Code charts The initial issue is on the database level but the exact solution is still up for debate and will be addressed later (55702ec).
  • Fixed Email, File, Number, String, and URL fields not showing validation errors. The error under the field now also indicates the duplicated value. You still need the field on the record itself in order to see the validation error. The fix was made by adding the missing errors component to field viewers that didn’t have it (that is shown for expression fields on record edit) (1cf316c, 6bebd21).
  • Fixed the suspended and revoke access buttons being shown even when creating a new user. The fix was made by only showing those buttons when editing a user (2c35552).
  • Fixed users unable to press the submit button when trying to edit a user and the submit button remaining enabled even if an invalid (or missing) email was provided. The fix was made by properly applying the permissions obtained from the API user object in the webapp User class and correctly updating the form’s state based on the email validation (d585399, 99775e1).
  • Fixed external auth providers not being re-fetched after updating user password. The fix was made by refetching the external auth providers after updating (07de6a6).
  • Fixed gauge chart step name not displaying when value was larger than the largest step. The fix was made by setting the default step name to the largest, since if we find another step where the value currently is, we will use that one instead (808e438).
  • Fixed extra whitespace disappearing when using a rich text editor for the String field. The fix was made by tweaking the configuration for the viewer (adding 'white-space': 'pre-wrap') and the editor (adding preserveWhitespace: 'full' to CRichTextInput parse options) (854e6c8, db1ace1).
  • Fixed being able to submit a federation node form even if URL and name were not defined. The fix was made by correctly validating the form and disabling the buttons as needed (0f5170d, b8a49fd).
  • Fixed ownership information not being displayed on the connection. The fix was made by using the correct value for the field ownership (by switching the value from connectionownership to connectionmetaownership) (d585399, 6e2e2b2).
  • Fixed unable to save auth clients when setting either the valid from or expires at. The fix was made correctly parsing date-time values we get from the API (04c8c4e).
  • Fixed incorrectly displayed error message when un-deleting messaging queue; it was displaying the error message Queue deleted instead of Queue restored. The fix was made Translations were added in locale and applied in admin (7af6c9e, e00a3da).
  • Fixed deleted messaging queues being un-deleted if they were edited. The fix was made by correctly preserving the deleted state when updating the messaging queue (90b5414).
  • Fixed incorrectly passed translations to Results/Namespace, Record and User. The fix was made by correctly passing translations via props and interpolation Previously, part of the translations were passed without using interpolation and the other translations were passed as attributes causing the texts to not be properly translated (bed2dfa).
  • Fixed the Corteza crashing when adding additional DAL connections. The issue was caused by improperly handled initial and empty states for the DAL connection resource. The fix was made adding exceptions to reject default configuration options (no connection params) and properly handling the default state on the web application’s connection editor (55636d9, f5297d3).
  • Fixed file uploads being rejected when specifying what MIME types are allowed or not. The issue occurred due to additional meta tags provided by the files or the underlying libraries. The fix was made by reworking how MIME types are validated by switching from comparing MIME type labels to a more robust library which was already used for detecting MIME types (ab987cc).
  • Fixed disappearing white spaces when using a rich text editor in the String field. The fix was made by adding ‘white-space’: ‘pre-wrap’ to String viewer and preserveWhitespace: ‘full’ to CRichTextInput parse options (a89208f, 854e6c8).
  • Fixed automation button resource translations not preserving between page refreshes. The issue was caused due to improper indexing as well as missing code to apply resource translations to record list selection buttons. The fix was made correcting resource translation indexing to start with 0 instead of 1 as well as adding missing code to correctly apply resource translations to record list selection buttons (7a5e839, 6d58bf4).
  • Fixed record page navigation and sorting issue. The fix was made by improving record iterator implementation for page navigation and sorting and also fixing store drivers to be consistent respective to their query language for dateTime, number, boolean data types (6f04666).
  • Fixed simple equality operator = in the filter query that checks for all values in multi-value fields but only the first one due to the changed encoding of record values. The fix was made by introducing new operators IN and NOT IN and should be used when filtering records containing value inside multi value field (f6e3035).

View the full changelog.

How to install Corteza

You can follow the offline deployment instructions for a local development or demonstration instance of Corteza. If you want to set up a live deployment, check out the extensive online deployment instructions. If you have questions, you can engage with other community members on the Corteza forum.

How to upgrade your Corteza instance

To upgrade your instance to the latest version of Corteza, follow our Upgrade Guide.

About Planet Crust

Planet Crust is the creator of and driving force behind Corteza, a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. For more information or to try Corteza on the cloud, please visit www.planetcrust.com.

About Corteza

Corteza is a 100% open-source low-code rapid application development, business process management and integration platform for software vendors, system integrators and internal development teams. Corteza comes with an Apache 2.0 license, and all code is published and can be reviewed at https://github.com/cortezaproject. All Corteza code is contributed to the Commons Conservancy Software Foundation. To stay up-to-date on the project, follow @CortezaProject on Twitter.