Skip to content

What's New

Welcome to eLegere 2.12!

Overview

  Important Changes
  Data
  Export
  Formulas
  Shortcuts
  Search & Sorting
  User Experience & Graphical Changes
  Other

Important Changes

Scripting: Improved Messages

BREAKING CHANGES

eLegere Scripting 2.12 changes the result object of save* and delete* methods from boolean to an object containing more info about the operation, including error messages.
See the Scripting: Improved Messages section for more info to avoid wrong result checking.

Messages describe in detail what the eLegere Script's operation has modified and saved after the manipulation of rows.

Return type changes from boolean to object; the code must be converted in order to check if data have been saved:

From

1
2
3
4
5
6
7
8
// 2.11
// ...
const saveResult = myApp.saveMany(itemsToSave)
if (!saveResult) {
    // Not Saved
    // ...
}
// ...

To

1
2
3
4
5
6
7
8
// 2.12
// ...
const saveResult = myApp.saveMany(itemsToSave)
if (!saveResult.IsSaveSuccesfully) {
    // Not Saved
    // ...
}
// ...

Changed Behavior for Restricted Lookups and Columns

Now, Lookups and column restrictions show an empty list if any connected restriction (e.g. column, lookup, etc.) is not satisfied.

Before, the Lookup list would have allowed choosing from all the option if no restrictions were met.

Changed Behavior for Applications and Folders Permissions

Granting visibility to an app inside a folder grants navigation in the folder's tree.

Before, granting visibility to an application didn't enable access to the folder as well. The two permissions were separated and didn't influence one each other.

Header's Filtering by Lookups searches only the options occurring on the table

Before eLegere 2.12, filtering through the header used to display all the possible options for the Lookup cell column.

Now, filtering through the header lists only the options occurring on the table for the search.

Here two examples of the new Lookups' filtering behavior through the headers:

Lookup filtering before removing some items.

Lookup filtering after removing the items.

LOOKUP EDITOR Removal

The LOOKUP EDITOR template in the Storages section no longer exists. Users who needs look up relations can design them through the BLANK Template.

Note

Existing LOOKUP EDITOR Storages becomes BLANK type storages automatically. No further action is required.

Configured Applications by Default

When the User creates a new application, all the common editing functions will be enabled by default. In particular, the following options are enabled automatically:

  • Add rows
  • Edit rows
  • Delete rows
  • Editable fields
  • Exportable fields
  • Sortable and searchable fields
  • Table module enabled

Relative Path for Powershell Scripts

The path definition for the Powershell script directory will change from absolute to relative. The IT Team can specify the desired root path from the eLegere frontend installation.

Domains Settings and Folder Permissions

Now, all the access and permissions rely on the applications' settings. The folders stop to have the role to manage access and permissions.

The permissions' lists of the folders remain in the Folder sub-panel as read-only for your reference. Consider it a map of all the visibility restrictions starting from the apps that the folders contain.

Complete Path for Folders and Applications

The Domain settings shows in the Folders and Applications sub-panels the complete path of the applications and folders within the Domain.


Data

Incompatibility Notification for Copy and Paste Data in Lookups Cells

When users copy & paste Lookup data in another Lookup with a different data type, eLegere doesn't allow the operation.

The application will display a notification explaining the issue.

Insert Format for Percentages (%)

The Designer can now decide the format to insert percentages in the Application. By default, the insert format will remain a number between 0 and 1 (e.g. 0.22 = 22 %). As alternative, the Designer can choose an integer number between 0 and 100 (e.g. 22 = 22 %) as inserting mode.

Note

This change will not affect formulas as well: the decimal number (e.g. 0.05 = 5 %) will remain the only way to specify percentages in formulas. The option concerns only the User interface in the Application.

Items' Number Tracker on the Session Tile

Now, a tracker on a Session's tile displays the number of entries satisfying the filters active for that session.

Configurable Size Limit for Attachments

In Design Mode, the Designer can configure a maximum size limit for uploading attachments in the application. Designers can choose the upper limit in the Attachment Settings window in Design Mode.

Attention

By default, eLegere supports files up to 60 Mb as attachments. The administrator of your eLegere installation could have setup a lower limit. The Designer cannot choose a limit higher than the limit set by the administrator.


Export

Exportable Logical Field Columns

The Export function in application can now export logical calculated fields as well.

List of External Stored Procedures and Powershells available in the Export window

eLegere displays the presence of dependencies (e.g. PowerShell scripts, Stored Procedures) during the export.

The User must export the dependencies to another system manually.

Warning

The check for dependencies does not involve SQL functions.

The Import function now manages the folders structure from the source

The Import function now manages the folders from the source automatically.

If you export from a Domain and the Applications/Storages are organized in folders, the Import reconstructs the non-existing folders and folder tree parts on top of the folders' structure in the import's Domain.


Formulas

New variable for Time: $CURRENTTIME

A new variable is available for formulas: $CURRENTTIME.

Warning

$CURRENTTIME takes the time from the server's system time.

New functions for Strings: =CONCAT(), =TEXTJOIN(), =TEXTREPLACE()

New functions are available for String values manipulation.

=CONCAT()

=CONCAT(String; String) joins a list of strings in a single String type value.

An example of use of =CONCAT():

1
=CONCAT($CURRENTSTORAGE.Name; " "; $CURRENTSTORAGE.Surname) > "Daniel Doe"
=TEXTJOIN()

=TEXTJOIN("Separator"; =LIST()) merges the elements in the list in one String. The "Separator" string parameter will divide each of them.

Either a list of type strings or a String field can work as LIST parameter. E.g. =TEXTJOIN("Separator"; =LIST(FieldName)); =TEXTJOIN("Separator"; value1; value2; ...).

An example of use of =TEXTJOIN() with a Multiselection:

1
2
3
4
5
6
7
8
=TEXTJOIN(
    ", ";
    =LOOKUPLIST(
        #Employees;
        #Employees.FullName;
        =EQ(#Employees.IsActive; $TRUE)
    )
) > John Doe, Jane Doe, Daniel Doe
The formula takes all the employees' names in the Multiselection, then joins and separate them through a comma.

=TEXTREPLACE()

=TEXTREPLACE("OriginalString"; "TextToSearch"; "TextForReplacement") finds one piece of text in the String and replaces it with another text. The first parameter represents the String to search. The second parameter is the text to search in the String. The third parameter is the text that will replace the "TextToSearch".

An example, where $CURRENTSTORAGE.InvoceId equals "DOC_123":

1
=TEXTREPLACE($CURRENTSTORAGE.InvoceId; "DOC_"; "#") >  #123

The formula replaces in "DOC_123" the characters "DOC_" with "#".

New Functions to Format Dates, Times, and Numbers

The Developers have introduced new functions to format the fields Date, Time, and Numeric.

=FORMATDATE()

=FORMATDATE(DateField; "String format") formats the DateField value according to the String format in the second parameter.

An example, where $CURRENTSTORAGE.StartDate value equals 12 February 2022, 15:30:48:

1
2
=FORMATDATE($CURRENTSTORAGE.StartDate; "mm-dd-yyyy") > 02-12-2022
=FORMATDATE($CURRENTSTORAGE.StartDate; "dd/MM/yyyy HH:mm") > 12/02/2022 15:30

Notes

Follow this link to know more about Dates formatting.

=FORMATTIME()

=FORMATTIME(TimeField, "String format") formats the TimeField value according to the String format in the second parameter.

An example, where $CURRENTSTORAGE.EntranceTime value equals 15:30:48:

1
2
=FORMATTIME($CURRENTSTORAGE.EntranceTime; "HH:mm") > 15:30
=FORMATTIME($CURRENTSTORAGE.EntranceTime; "h:mm:ss") > 3:30:48 AM

Notes

Follow this link to know more about Times formatting.

=FORMATNUMBER()

=FORMATNUMBER(NumericField; "String format") formats the NumericField value according to the String format in the second parameter.

An example, where $CURRENTSTORAGE.TotalCost value equals 28.15

1
=FORMATNUMBER($CURRENTSTORAGE.TotalCost; "#.0000 €") > 28.1500 €

Notes

Number formatting is the same available when the Custom Format option is selected for Numeric Fields

=GETDATE()

=GETDATE(DateTimeField) extracts the date from a DateTime type field.

An example: if the DateTime value is "22/10/22 14:34", =GETDATE() extracts 22/10/22 from the value.

Warning

=GETDATE() takes the date from the server's system date.

=GETTIME()

=GETTIME(DateTimeField) extracts the time from a DateTime type field.

An example: if the DateTime value is "22/10/22 14:34", =GETTIME() extracts 14:34 from the value.

Warning

=GETTIME() takes the time from the server's system time.

New Functions: =ALLITEMS() and =NOITEMS()

Functions =LIST() and =LIST(-1) are not required anymore to mean "all items" or "no items" inside restrictions.

There are two new functions to refer to either all or none elements of a list:

  • =ALLITEMS() to refer to all values.
  • =NOITEMS() to refer to no value.

Formulas Performance Improvements

General improvements regarding formulas' operations.


Shortcuts

The User can now switch from one session to another by clicking on the Sessions icon . This shortcut avoids going into the Session Page to change the session.

Use as Default when Saving Session

You can now setup as Default a Session during the Save.

Enable the toggle switch Default to open the Session at every access to the application.

Improved Window to Invite or Create Users in Domain Settings

In Domain Settings, now a single window manages all the operations to invite or create users.

The buttons "Invite", "Create", and "Configure" change according to the address typed.


Search & Sorting

Highlight for Searched Element

When the user searches a element in the Home's Search Bar, eLegere highlights the elements found in the UI.

Sorting for Domains

By Default, eLegere arranges the Domain list by Name and Descent order. The custom sorting that the User chooses will override the default one.

"Sort By" and "Search" for Sessions

Session Sorting

Session Search

Sessions are now searchable like Applications and Storages. Moreover, the User can sort the Sessions saved as they wish. The order of Sessions defined remains until the User changes it or revert to default. Each application has their own custom session list sorting. The User can also define a Custom Order dragging and rearranging the Sessions.

Column Order by Design and by User

The first User sorting overrides the order defined by the Designer. The table of an Application shows the chosen orders, likewise does for filters.

Sorting Logs of Scheduled Jobs

The Scheduler now arranges the order of the scheduled jobs logs from the most recent.

New Sorting for Field Type

The Storage editor now sorts the available field type list in Field Mapping as follows:


User Experience & Graphical Changes

New Button to Access Domains Panel

Removed the Exit button from the upper-right corner of the Domain Settings.

The button Domains () replaces the Exit button. Click on the Domains button to access the Domains List.

Disabled Icon for Non-Editable Lookups and Multiselection

eLegere Applications don't display icon on Lookups and Multiselection fields if not editable.

Icon When Session Auto-Refresh is active

In the Sessions Page, an icon on the tile points that the Auto-Refresh is active for that Session.

Button to copy a Relation's Name in the Storage Editor

Now, in Storage Editor > Relations, you can copy the Relation's name by clicking on the icon.

The button is on the right of the Relation's name's textbox.

Configure Detail Table window displays tab's name, icon, and color of the Detail

When you configure a Detail, the Configure Detail Table window displays tab's name, icon, and color of the Detail.

The window display the information on the left of the Related Table drop-down list on the upper-left corner.

Customizable text for the Domain's top bar

Domain Admins can now customize the Toolbar's text of the Domain.

Go to Domain Settings > Layout > Header > Title to change the Toolbar text.

The changes will appear both in the Home and the Applications.

Delete Button in Domain's Layout Sub-panel

In Domain Settings > Layout, the subsections have now a Delete button () to remove the uploaded custom logo or image.

New Description for Logical Storages

There is now a new description of what Logical Storages are within the Storages tab and the modal windows. The previous description was confusing: it failed to convey the Logical Storages' options inside eLegere.

Now, the toggle switch in the Logical Storage changes as follows:

  • Maintain becomes Don't Update
  • Reset becomes Update.

Counter of Active Properties

When the User activates one or more Properties on the table, a counter on the upper-left corner of the application informs of the number of active Properties. E.g. If the User ha selected 5 Properties as active, the counter will appear and display the number 5.

If the counter doesn't appear, there are no Properties activated for the current application.

Cells display both the real Numeric value and the rounded value

Inserting a decimal Numeric value approximates the value to the closest integer automatically according to the View Format.

When the User selects a rounded value, the table will display the real value with all the digits in the bottom-right corner.


Other

Tracking Changes for Connections, Storages, and Sessions

eLegere now tracks the changes to Connections, Storages, and Sessions.

Downloadable Map of Storage Relations

The User can now print a PDF file containing the map of the database relations.

Clicking on the icon in the Storage relations tree in the Domain panel will generate the map.

ODATA Feed

Now eLegere On Premise installations with Active Directory enabled accept ODATA.

Moreover, the Developers have introduced a ODATA Group. All the members of the ODATA group can view ODATA feeds. Previously, only the Domain admin had this possibility.

Note

eLegere 2.12 assigns existing Domain admins automatically to the ODATA Group. No further action is required.

App Documentation: generate a PDF with all the Application's Info

eLegere now generates a PDF with all the Application's info. The PDF contains information about the application's Master table, the Details, the Relations, and Custom Actions.

Info

Only members of the Domain Admin and Application Designer groups have access to the App Documentation feature.

Click on the icon on an application's tile. Then choose the option Documentation from the option list. The browser will open a tab with the generated PDF.

Notification of Success and Failure for Scheduled Jobs

Users can now enable in the Scheduler a notification to communicate Success or Failure of scheduled jobs.

Improved Error Messages

If an error will occur in an Application, eLegere will provide more details in the related notification. Errors include now details on the Row causing the issue.