Skip to main content
Version: Next

2.2 - November 2022

🧩 Components version / Dependencies

  • Olympe DRAW v2.2.1 / CODE v9.2.1 / Orchestrator v6.5.0

New Features

  • Discord
    The former Community forum is being abandoned and replaced with this more user friendly and intuitive Discord server.
    Please, click here to join us on the Olympe.io Discord server now

    Live read only Discord viewer below:

  • Brick links
    A better display of the spline-shaped links between bricks that reduces overlaps and improves visual clarity

    The way they used to be:
    old

    The new way:
    new

  • Context & UI Theme engine

    • Use contexts to store and retrieve data from any places in the application.
    • Use themes to represent a set of values that directly impact the visual appearance of components.
  • Action & Function debugger
    A brand new visual debugger to debug actions and functions, released in Beta
    There is a new Debugger (Beta) tab in the Function/Action Editor for this new

    You can find the debugger documentation here

  • Install CODE to code your own bricks
    Tutorial & tool to install CODE & create coded bricks that work with the Community DRAW, soft-coded bricks & Orchestrator.

    Find the tutorial here

  • Brick Documentation Guidelines
    Any brick that is produced is as good and useful, as clear & detailed its documentation is. For that matter we now have some guidelines to document them.

  • Infra cost saving
    Shutdown & automatic wake up of unused instances for infrastructure cost reduction (not for the Community instance but for dedicated instances), and notify end user with a banner when that occurs.

  • Multi SSO Authentication
    You can now configure multiple SSO to the orchestrator to enable the connection.

Additional notes

Runtime Platform

  • Consolidate all help related buttons into a single "Help" dropdown menu

  • Remove themable properties on screens, which were removed in a past release and were therefore obsolete

  • Contexts: mecanism to define properties & values at the application level, inheritted down the app hierachy i.e. screens, visual components, ... with the ability to override values locally.
    Using the contexts you can store data anywhere in the "Context tree" and get any value assigned to a given context.
    A context exists for each brick in the application. And data can be assigned to any context. (more details in the online documenation)

  • Themes

    • Functionality based on "contexts", add Theme as Input / Output for Brick properties
  • RabbitMQ Securisation, security hole fixed. The user authentication token should be used to access RabbitMQ

    • RabbitMQ authentication: By default, the Framework will not allow a Guest user to connect to RabbitMQ. It means that you can run remote actions in your browser only with hc.globalToken=true parameter. If you want to allow the Guest connections, you will need to set bus.allowGuest=true on the Framework side and RABBITMQ_ALLOW_GUEST_USER_AUTHENTICATION: true on the Orchestrator side.
    • Secure RabbitMQ vHost: To have your RabbitMQ vHost secure, you will need to remove the Guest access. It means to go to the RabbitMQ management UI and remove Guest permissions only for your vHost (if you don't have access ask Michael or somebody from DevOps)
    • Configure RabbitMQ: To be able to use the authentication, you will need to add HTTP Authentication plugin for RabbitMQ. You can create your own RabbitMQ image with auth backend configuration
  • On-demand orchestrator wake-up

  • New Theme data model: new Theme data type that can be instantiated in Static Data Folders to create themes for you application

  • The API was extended by new functions which allows to use multiple SSO in the same project. The new functions are :

    • getIDPNames() which returns available IDP names that can be used for login -* loginSSO(idpName) this method will login the user via IDP given in the function parameter. If the parameter is not passed, the first available IDP from the list will be used

The following functions are deprecated:

  • loginSAML() in favor of loginSSO(idpName)
  • loginOpenID() in favor of loginSSO(idpName)

To use the multi SSO feature you will need to configure the Orchestrator with a new env variable called SSO_CONFIGURATIONS. Please note that this change is not breaking so if you have only one SSO you can still use the old way of configuration. The value of the SSO_CONFIGURATIONS is a JSON for example:

{
"saml":
{
"enabled": true,
"config":
[
{
"idpName": "saml-test",
"samlLogoutIDPEnabled": true,
"samlConsumerURL": "http://localhost:8080/OlympeServer/rest/acs",
"samlMetaData": "/var/olympe/auth-saml-service/keyclock_metadata.xml",
"samlIssuerName": "saml-test",
"samlAllowGroups": ["olympe"],
"userRoleTag": "ff011000000000000001",
"userTag": "",
"userPolicy": "CREATE_USERS_FROM_IDP"
},
{
"samlConsumerURL": "http://localhost:8080/OlympeServer/rest/acs",
"idpName": "olympeSAML",
"samlLogoutIDPEnabled": true,
"samlIssuerName": "olympeSAML",
"samlMetaData": "/var/olympe/auth-saml-service/olympeSAML.xml",
"userPolicy": "CREATE_USERS_FROM_IDP",
"userRoleTag": "ff011000000000000001",
"userTag": "014831d95fd7d12b8568"
}
]
},
"oAuth2":
{
"enabled": true,
"config":
[
{
"idpName": "OpenID",
"providerURL": "http://localhost:8687/auth/realms/master",
"clientId": "openid-test",
"clientSecret": "a1a4bda5-fe95-4452-961a-4bbece55bf56",
"authorizationPath": "http://localhost:8687/auth/realms/master/protocol/openid-connect/auth",
"endSessionPath": "http://localhost:8687/auth/realms/master/protocol/openid-connect/logout",
"ssoLogoutPath": "http://localhost:8687/auth/realms/master/protocol/openid-connect/logout",
"revocationPath": "http://localhost:8687/auth/realms/master/protocol/openid-connect/revoke",
"tokenPath": "http://localhost:8687/auth/realms/master/protocol/openid-connect/token",
"userInfoPath": "http://localhost:8687/auth/realms/master/protocol/openid-connect/userinfo",
"jwksURI": "http://localhost:8687/auth/realms/master/protocol/openid-connect/certs",
"callbackPath": "http://localhost:8080/OlympeServer/rest/openid/callback",
"userPolicy": "CREATE_USERS_FROM_IDP",
"userRoleTag": "ff011000000000000001",
"userTag": "014831d95fd7d12b8568",
"scope": "openid"
}
]
}
}

Marketplace

  • Create Get Enum Values brick
  • Contexts & Themes
    • You can now use Contexts and Themes in your applications
    • Set In Application Context
    • Get From Application Context
    • Get Screen Context
    • Set in Context
    • Get From Context
    • Set Theme in Application Context
    • Set Theme in Context
    • Set Theme In Current Context
    • Get Theme From Current Context
  • Brick Animate Number documentation clarified
  • Add ErrorFlow to Persist Object brick

Bug fixes

  • Text values are not displayed inside the group after layout change
  • Data Grid custom Column Renderer is not deleted if the column is reset
  • Regression: Cannot drag frame to select multiple components
  • Web Service do not support multiple project using SQL Connector
  • The drop down displays no result if "Object to String" is not implemented
  • Fast adding/deleting properties in Spec&Doc causes a crash
  • Deleting an event doesn't delete related functions
  • Crash on editing i/o in logic editor
  • FIREFOX - caret up/down is not displayed on dropdowns
  • Error on changing props in Set Object Property
  • Relation disappear in DataModel editor sometimes
  • Insights (Beta) tab does not handle inheritance correctly
  • Enum editor: auto display name not working as expected
  • Camera's default quality is set to 92% instead of 100%
  • Cannot sometimes create a function on a UI property
  • Regression: Documentation renderer to allow the creation of markdown tables

🚧 ⏳ What we are working on

  • User journey usability, the first 10 minutes
  • Data Integration, the ability to connect to multiple data sources
  • Usability, e.g. download & replace files from Media Library

🔎 Where to find us

In case you have questions …