Skip to main content
Version: Next

2.7.0 - April 2024

This month's release is out and brings quite nice changes, both visually and technically. We believe that it will greatly improve your experience with Draw and hope you'll continue to build amazing projects with our platform.

If you wish to get straight into the action, you can jump straight to here. For the changes included in this release, stick around and keep reading.

Major changes

Improve folder's UI

We wanted to bring more clarity on the items displayed in what we call the "Folder editor" and refresh the UI to increase your experience. You can check below how it looks now and read the highlighted changes:

New repository UI

When you enter Draw, you are welcomed in what we call the "Repository" editor. It lists folders and projects that are not inside a project. You might remember that previously these folders and projects where mixed together, but not anymore. They are not clearly identified in their own section, as we already did when listing items inside projects.

repo ui

New folder UI

Then, when you open a project, you enter what we call the "Folder" editor. Here the organisation of the tiles hasn't changed, but we improved the readability of the information you'll find.

folder ui

  • You immediately can see the number of usages of each brick, with the same appearance than on the property editor when editing a Visual Component
  • Clicking on the number opens the "List Usages" popup, now available with just one click
  • We added a bottom "status bar" that displays the icons to provide more information about the brick. These icons include
    • deprecated
    • experimental
    • protected
  • Since the number of usages is now clearly displayed, we removed the "unused brick" icon

Robust navigation and capacity to handle any "tags" in URL

Draw could sometimes break when trying to open a tag related to items which are not "editable".

For example, imagine a "Show user" brick with a "Name" input. This input has a tag, let's say it's 018ebd0a21e8c0cab6f9. You can now use this tag in the url in the form #item=018ebd0a21e8c0cab6f9 and Draw will be able to find the closest relevant editor for this tag => in this case, it will open the editor of the "Show user" brick which contains the input.

caution

Notice that the URL param has been changed from #editedItem=<tag> to #item=<tag>. We encourage you to update your bookmarks to follow this new pattern.

Draw remembers "sub-editor" in URL

As part of the navigation improvement, Draw nows remembers the editor panel that you're currently displaying. This panel is also called sub-editor. For example, when you edit a brick's "Spec & Doc", it will be remembered in the editor=1 param. It means that if you refresh, bookmark, or share this URL, it will directly point to the correct tab.

List unused bricks and TODO's in "Insights" editor

The project's "Insights" panel just got two great additions:

  • It displays the list of unused brick. This will greatly help the maintenance of your projects by showing you bricks you could safely delete.
  • It also displays the list of TODO's in your project.

folder ui

Obviously, you can click on any unused brick or TODO row to quickly jump to the right location in the project.

Enum values are passed "by reference" instead of being a string copy

Up to now, when an enum value is used for a brick input, the value would be copied as a string to this input. This could lead to issues, especially if the value of the enum would change in the enum definition. This is now fixed, and enum values are passed by reference, meaning that the value is linked to the enum definition and will be correctly updated if the value is changed at a later time. Also, it allows the inline editor to correctly select the enum value when "changing" the input value.

caution

Some of the enum usages can be fixed automatically by our upgrade scripts, but some cases are too "edgy" to be fixed automatically. Therefore, when you upgrade to 2.7.x version, it is important to check and fix these cases manually.

How to check and fix ?

Log into Draw as usual and open the Developer Tools Console. Here you can run the following javascript expression:

olympe.checkEnums();

You can also check only under a certain folder or project by using its tag (you can find it in the URL when you are in the folder or project editor):

olympe.checkEnums('tag');

This will check all potential issues and list them in the console with instructions to follow, like in the screenshot below:

folder ui

For each potential situation to fix, you'll see a line with two tags. The first one represent where a potential enum value is used and the second represent the corresponding potential enum definition.

The easiest way to fix the situation is to copy the first tag and identify if it really uses an enum value. If so, you should manually reset this value by the enum value. Be mindful that when selecting an enum in the inline editor you must click on the enum value in the dropdown to correctly reset its value.

What happens if I don't fix these cases or if I forget one ?

Your app will still work as usual. The only issue is that you don't benefit from the new reference in case you change your enum definition. We highly recommend fixing any cases during upgrade, but you won't risk breaking your app if you don't do it.

Bug fixes and minor improvements

  • It's now easier to add members to your projects: the dialog to select a user to add has a dropdown listing all existing users, and you can pick one with one click. Of course, you can still invite people who are not yet registered on the instance.
  • Improved the list usage feature, specifically find data connectors and better coverage in project usage
  • Handled "Set" javascript type in the serializer; allowing this type to be shared between frontend and backend
  • Correctly updated the file URL when a file is uploaded
  • Dropdown inline editor keeps the selected value

Olympe CORE And Extensions

-- To be completed --

Use v2.7.0

  • Olympe DRAW v2.7.0 / CODE v9.7.0 / Extensions v2.7.0 / Orchestrator v7.2.2 / Toolkit 1.0.4

To check that your Olympe environment is on v2.7.0: log in to DRAW and click on the top-right logo; you'll see the current version you are using.

CODE update

If you are using coded bricks, please update your package.json file with the following dependencies:

danger

Notice that Draw and Runtime correct versions are 2.7.1 and 9.7.1 instead of 2.7.0 and 9.7.0 which has been directly deprecated due to issues with these packages.

// Dev dependencies:
"@olympeio/toolkit": "1.0.4",
"@olympeio/draw": "2.7.1",

// Dependencies
"@olympeio/runtime-web": "9.7.1",
"@olympeio/runtime-node": "9.7.1",
"@olympeio/core": "2.7.1"
// Olympe Extensions
"@olympeio-extensions/...": "2.7.1"