Skip to main content

Release 3.3

· 15 min read

We're pleased to present Enterprise Lens 3.3, a milestone update and packed with new features to enrich your storytelling experience. These new features will elevate your Illustration creation and presentation experience.

TABLE OF CONTENTS
What's New1. Conditional Formatting
2. Automatic Filters3. Automatic Badges
4. Custom Templates5. New Bulk Association Edit Ability
6. In-cell dropdowns now available in Exports to ExcelJira Codes

What's New

  • A new way to display values in boxes using Conditional Formatting, a powerful extension to our render engine that allows you to define conditions to format, aggregate and mutate attributes.
  • Ability to effortlessly add associations with Automatic Filters and create lenses on the fly through Automatic Badges.
  • Native support for Gantt Charts, to visualise project scheduling with ease.
  • New Bulk Association Edit Ability that can be added to Roles, to control who can see the Associations menu.
  • Choise based attributes now feature in-cell dropdowns when exported to Excel.

Features

1. Conditional Formatting

Overview

Conditional Formatting allows for the attributes presented in Lenses to be styled based on their value. This feature enables you to adjust the appearance of Lenses, such as Text Colour, Background Colour, Image Selection, and more, according to the data you already have in your illustration.

Some common examples of where you might want to use Conditional Formatting include:

  • Ageing accounts receivable from customers according to their respective baskets, by colour coding each customers' box.
  • Inventory levels for products, with a colour scheme to indicate level of depletion.
  • Indicators to show per project to show the degree to which auditing standards are met.
  • Customer satisfaction per sales representative, represented as a coloured percentage rating, according to internal standards.

Below is an example of project costs, colour coded according to the amounts displayed.

Overview

How it Works

In order to create a Conditionally Formatted Lens, we need to create the Render Function inside the Attribute that we want to display, as seen above.

  1. Open the Edit menu for the respective Attribute.

    edit_an_attribute
  2. Open the default Render Function. NOTE: It is important that the Value Type best represents what you are displaying. i.e. For Names, use Text, for Amounts, use Number.

    Edit Render Function
  3. Copy and Paste a pre-set Conditional Formatting block from our Lens Library, to begin editing! The example below uses the Currency in Millions pre-set from our Lens Library.

    IMPORTANT: Always make sure the Render Function UUID is copied into the badgeTextAttribute. render_function

  4. Create a Lens for the Attribute, to turn on and off the Conditional Formatting! :)

Use Cases

In addition to changing the colour or display of attributes, there are many other capabilities that Conditional Formatting can bring to your Illustration. These are all readily available through our Lens Library for you load and edit to your liking.

1.1. Arithmetic

You are able to add prefixes and suffixes, as well as apply basic mathematics to your attributes with the use of variables. Let's take a closer look at the previous example to see how it can be done.

arithmetic_example

Here we can see the formattedOutput variable referencing the constants above it. These constants all affect the attribute's value displayed.

There are several important things to note:

  • Every constant referenced must have constants. in front of the name. i.e. constants.percentage
  • To reference the attribute's value, you must use the badgeTextAttribute constant, which you can see has all the multiplication (*) and division (/) applied to it.
  • concat() allows you to merge items together.
    • In this example, the prefix and suffix are added before and after the rounded, divided, and multiplied attribute value.
    • Another example using just concat is: concat(x, y, z) which would display xyz.
  • round() allows you to round anything to a set number of decimal places.
    • In this example, the attribute value is rounded according to constants.decimalplaces, which we defined earlier as 2.
    • Another example using just round is: round(100.2927, 2) which would display 100.29.
If the attribute's value was 1000000.112...

Let's break down the arithmetic example above, going inside out.

Remember: The values we use to divide, multiply, etc are taken from the constants above!

  • First, the value will be multiplied by (0/100)+1 which is 1.
    • Value would still be 1000000.112.
  • Second, the value will be divided by 10000000.
    • Value becomes 1.000000112.
  • Thirdly, the value will be rounded to 2 d.p.
    • Value becomes 1.
    • No trailing zeroes are shown when rounding.
      • i.e. 5.10 becomes 5.1
  • Finally, the value is concatenated with its prefix and suffix.
    • Value becomes $1m.

Here is a table with a list of all Operators you may wish to use.

OperatorDescription
/Division.
i.e. 4/2 would display 2.
//Rounded division.
i.e. 5//3 would display 1.
*Multiplication.
i.e. 4*2 would display 8.
+Addition.
i.e. 4+2 would display 6.
-Subtraction.
i.e. 4-2 would display 2.
1.2. Rolled Up Aggregation

In addition to formatting existing values, you may want to count or add values together to display above, this is where you can use Conditional Formatting to aggregate values.

The example below is displays a Count of Projects, Sum of Project Costs, and Total People per Project (from left to right).

rolled_up_aggregation

These values do not exist in our data, we are creating it using a Render Function in a new attribute.

  • This way, we do not need to update the attribute's value, the Render Function automatically handle this for us.

Below is what the Render Function looks like for the Count of Projects, which is included in the Lens Library.

rolled_up_aggregation_example

Here Conditional Formatting is still used, but in a different manner:

  • The formatting is done in the badge because we want to display a count with consistent formatting across all sites.
  • variables.projectsCount is referenced as the text value, since this variable does all the counting.
  • Several UUIDs need to be defined, to establish the association and the box that holds all projects.

This format is near identical for the Sum of Project, with the only changes being:

  • The sum's variable name and expression.
  • A new UUID to define which attribute to add together.
  • Additional options to beautify the output (as seen earlier).

See below for an example.

rolled_up_aggregation_second_example

1.3. Gantt Charts

To quickly visualise projects or other deliverables, you may wish to utilise the Gantt Chart Conditional Formatting Lens, available in our Lens Library. Below is an example showcasing several projects, automatically resized to show their duration.

gantt_chart

Like Rolled Up Aggregation, you need a new attribute to store the Render Function, in addition to this you need a startDate and endDate attribute within the same Box Type in order for it to calculate correct sizes. Below is the same example's Render Function.

gantt_chart_example

IMPORTANT: Beyond the backgroundColor, textColor box properties and startDateid, endDateid constants, we do not recommend anything else be changed to ensure a consistent and reliable experience.

2. Automatic Filters


Associations are the essential foundation for Enterprise Lens' functionality since Day 1, which makes us exceptionally excited to share this new feature with you. Normally what would take a few minutes can now be achieved in a few seconds. Below is a typical association, created as an Automatic Filter.

The badge you see below will be explained shortly.

automatic_filter

How it Works

  1. Open the box you wish to add your Automatic Filters, in this example we used the Top Box.top_box_example

  2. Click + Create Automatic Filters to open the wizard. Here are all the options available to you. create_automatic_filters_button

    create_automatic_filter_wizard

  3. Click Add, to confirm.

The table below explains each option into more detail.

OptionsDescription
Source Box TypeThis is the Box Type that contains the Attributes you want to import as the children boxes.
Source Attribute TypeThis is the Attribute you will select to import.

Every choice available in this attribute type will be shown below as a list.
Create Automatic BadgeCreates Automatic Badges, which will be explained in the next section.
Association TypeThis is where you distinguish whether you want to create an Attribute or a Name Association.

We recommend choosing Name Association, because it provides the greatest flexibility.
If any of the Attribute Values were to change, all you need to do is rename the corresponding box.
i.e. TBD becomes N/A, I rename the TBD box to N/A - simple!
Values to Create
Shows you the list of values it will create as child boxes within the box you selected in Step 1.

3. Automatic Badges

Instead of editing Render Functions or creating Lenses separately, you can create the badges automatically and customise them on-demand in just a few seconds, all made possible by the Automatic Filters feature!

Pictured below is the same Automatic Filter, however with an Automatic Badge.

dynamic_lens

How it Works

In the same Automatic Filters Wizard, simply select the Create Automatic Badges checkbox as pictured below.

expanded_create_automatic_filters_wizard

Instead of 'Red', 'Amber', 'Green', and 'TBD', we have opted to display 'Risk' for the badges and colour code them instead. This is because we selected Attribute Name, by default it is Attribute Value.

The table below explains each of the new options with more detail.

OptionsDescription
Create Automatic BadgesIf toggled, creates the Dynamic Lens.
Badge Label TypeYou have two options.
1. Attribute Name - uses the Attribute Name. i.e. Risk.
2. Attribute Value - uses the names from Values to Create. i.e. Red, Amber, Green, TBD.

Power Lenses are created automatically in the Left Hand Menu for you to hide and show each listed value.

How to Customise

By default, all badges will be grey, this is very quick and painless to update to a colour of your choosing.

  1. Click on a newly-created child box, in this example we are using Amber (as seen earlier). dynamic_lens_child_boxes
  2. Edit Filter.Background Color to the colour of your choice. In this example, we entered orange, however any [HTML colours][HTML Color Names (w3schools.com)] or HEX colour codes are accepted. dynamic_lens_options
  3. Repeat this for all attribute values, by clicking on their respective child box.

The colours we used were, Tomato (Red), Orange (Amber), and MediumSeaGreen (Green) which are all HTML colours.

Here is a list of all options you can use per value (child box), which apply to all boxes with the same attribute value!

OptionDescriptionDefault Value
Filter.Text ColorThe colour for the badge's text.#000000 (black)
Filter.Background ColorThe colour for the badge's background.#DCDCDC (grey)
Filter.Background ImageThe background image for the badge.(empty)
Filter.Border RadiusThe padding around the badge.3
Filter.Horizontal Position In PercentHow far left or right (horizonal) the badge should be within the box, as a percentage.
i.e. 50 would mean it is in the middle on the horizontal axis.
0
Filter.Vertical Position In PercentHow far up or down (vertical) the badge should be within the box, as a percentage.
i.e. 50 would mean it is in the middle on the vertical axis.
0
Filter.WidthHow wide the badge should be, in pixels.80
Filter.HeightHow tall the badge should be, in pixels.16
Filter.Font FamilyThe font of the text in the badge.Arial
Filter.Text Size in PixelsHow large the text should appear within the box.13
Filter.Vertical AlignmentWhether the badge should be vertically aligned inside the box.none
Filter.Horizontal AlignmentWhether the badge should be horizontally aligned inside the box.none

3.1. Automatic Power Lenses

In order to Show and Hide Automatic Badges, you can use the Power Lenses created earlier. Below is an example of this, with the Risk Dynamic Lens.

33-42

Below is a breakdown of all the Power Lenses automatically generated for you.

TypeDefinitionExample (as seen above)
Attribute ValuesFor each unique value of the attribute, a Power Lens is made to turn their respective badges on and off.
Turning on any one of them will hide all the boxes that contain other badge types.
Amber
Green
Red
Clicking on each of them will hide it's associated badge.
Display the BadgesAllows you to enable the Dynamic Lens when other Power Lenses are usedShow Badge

Below is an example of the Amber Power Lens and Show Badge turned on.

33-43

As you can see, it only shows boxes with the Amber badge, while displaying the Badge too.

4. Custom Templates

This features is a refinement of templates and provides the ability to setup industry and company specific templates and facilitates simple replication. This allows access to a library of templates that are simple to access and can be tailored to new opportunities, improving the speed to respond to new business.

This new functionality is found by editing the Client, in the right-hand side of the form. Click Edit to open the Edit Client form.

edit_template_illustration

When you click Edit it will present the Client Details form. Use the drop down arrow to provide a list of Template Clients you can choose from (this will be determined by your access privileges).

select_templates

After selecting a Template Client, (we selected Template from the example above) - all Template Projects (Directories) that belong to that Client will appear in the drop down list in the Template Project area

  • Selecting a Template Project will result in all the Template Illustrations that are part of that Template Project to present themselves whenever you create ANY new Illustration for that Client.
tip

Every Client can have their OWN Templates to Choose from or you can build a central repository.

5. New Bulk Association Edit Ability

With the addition of data driven lookups (such as the Name value and the Attribute Value lookup), the need for access to the Assocations Menu has decreased. The new role, IllustrationBulkAssociationEdit, allows you to hide the Assocations Menu, as to free up space in the Right Hand menu.

NOTE: The IllustrationBulkAssociationEdit role must be included in the group role that you would like to be able to delete Associations.

The Assocations Menu is located at the bottom of the Right Hand Menu.

associations_menu

This entire section can be removed with the new role.

To access Roles within Enterprise Lens, simply click on the 3 dashes in the top right hand corner and select Security -> Roles, as below.

roles_security_menu

6. In-cell dropdowns now available in Exports to Excel

Attributes have always supported being choice-based, meaning their values can be restricted to a predefined list. This ensures consistency and simplifies data entry by limiting input to a set of valid options, as pictred below.

choice based dropdown

This dropdown is now featured in Excel spreadsheets when you Export boxes in all modes of export, including:

  • Exporting Child Boxes
  • Export Canvases
  • Export whole illustrations to Excel

Below is the same illustration used above, exported to Excel. You can see the same Portfolio Area attribute as an in-cell dropdown, which reflects the choice-based nature of the attribute shown above.

Excel dropdown example

You are able to change the value using the dropdown in Excel which can then be reimported into Enterprise Lens.

Jira Codes

Bug

EL-700 Allow expressions to set badges

EL-718 Update the Illustration Details value: Created At and Updated At

New Feature

EL-699 SUM calculations based on Associations highlighted

EL-702 Conditional Formatting

EL-703 Gantt Chart functionality

EL-716 Automatic Badges

EL-717 In-cell drop when exporting to excel from a Box Type Expression

Improvement

EL-308 Legends

EL-698 Extend Values and Values Reverse Lookups

EL-701 New Default Template

EL-722 Improve the UX experience during the creation of a Dynamic Lens from Create Automatic Filters

EL-732 Change Name Association Behaviour when using "Create Automatic Filter"

EL-733 Remove the default text render function from automatically created badges

EL-742 Hide existing render functions when creating automatic filters

EL-743 Consolidate the Show/Hide Badge Power Lenses to a singular Power Lens when creating Automatic Badges

EL-744 Newly created automatic badges should be turned on in Power Lenses, not Advanced Box Types

EL-745 Update GitHub Upload Artifacts from v3 to v4

Top