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 nowLive read only Discord viewer below:
Brick links
A better display of the spline-shaped links between bricks that reduces overlaps and improves visual clarityThe way they used to be:
The new way:
Context & UI Theme engine
Action & Function debugger
A brand new visual debugger to debug actions and functions, released in Beta
There is a newDebugger (Beta)
tab in the Function/Action Editor for thisYou 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 ofloginSSO(idpName)
loginOpenID()
in favor ofloginSSO(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
toPersist 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 …
- Contact us through the form at https://olympe.io/contact.
- Send us an email at: support@olympe.io.
- Follow us on LinkedIn, Twitter, Instagram and Vimeo