Exolynk v0.9.0

Posted 2024-03-05 07:40:00 ‐ 3 min read

This article shows the details of the release v0.9.0

Following a list of all changes which are included with the v0.9.0 release.

New Variable Access Right Checks

For each variable it's now possible to define the access (hide, read, write or change) for specific rights. When the user has none of the defined rights, it's granted the defined default access right (null uuid right) or hide. When the user cas multiple available access rights matching the requirement of the variable, the highest right will be applied. When a user has no right to access a variable database quieries will not return this variable anymore. When for specific use-cases the variable is needed within a service, execute the queries with sudo (exo::db::set_sudo(true);).

Reduced the amount of OOTB record variables

Until this release every record had 17 OOTB variables (uuid, ident, version, model, name, description, status, locked, released, values, access_right, icon, highlight_color, calendar_start, calendar_end, stations, children). These OOTB variables needed to be loaded everytime for each record independently if used or not. Additionally all OOTB variables are always complety loaded from the database and send to the client. To improve the performance and provide a better access control for the data of a record the following variables are not OOTB available anymore (name, description, status, icon, highlight_color, calendar_start, calendar_end, children). This also impacts scripting and code like record.name = exo::Language::new() is now deprecated. Instead the function record.set_salue() should be used. Existing models and records will be automatically updated and these variables continue to exist as custom variables. New created models will not automatically include these variables anymore. These pervious default variables continue to keep their specific requirements for the value typ, when defined manually:

  • name -> Language
  • description -> Language
  • status -> Selection
  • icon -> Icon
  • highlight_color -> Color
  • calendar_start -> DateTime
  • calendar_end -> DateTime
  • children -> Table

Breaking Changes:

  • The variable access is now defined for specific rights #417
  • The script function variable.access is returning now an Object with right uuids as string keys and exo::Access as values #417
  • The <variable /> object is not using the access attribute anymore #417

New Features:

  • Reduced the amount of OOTB variables of a record
  • Allow OOTB variables to be defined within modeler #440
  • Show only status from selected model in filter #441
  • The model.create_record() function is deprecated, use model.new_record() instead
  • Better code documentation & deprecation warnings for getter & setters

Bug Fixes:

  • Removed color pickers recent colors #438
  • oAuth2 token request includes the redirect_uri now
  • Fixed assignment of draft models to records
  • Newly created models receive UI updates directly #442