Ganister v2.7 is released !

thumbnail

on September 13, 2022 • Back to Blog index

⚙️ Performance and UX improvements (Again!) !

Ganister Release Factory

Performance

With customers ramping up and with more and more data, we can experience various interesting behaviors like how users sort their data, how they search for data how they organize their table views thanks to Ganister's flexibility. We tuned some of the core queries to make sure we do not depend on data quantity. The graph aims to drill down searches based on relationships avoiding to search through millions of records in a table.

UX improvements

Welcome Image

You can now set the image of your choice for your login page. Doesn't seem like much but it really gives a nice company style to your application. Also depending on your environment whether it is dev, staging or prod, we add a light layer of color so that you know where you are and you avoid testing on a production environment.

Ganister Login Image

Complex TreeGrids updates

We have added the capability to save the configuration of the treegrids. We also added a great filtering capability which allows you to search in thousands of records (one customer searches through a BOM of 6500 lines) through all the columns and at any level of the BOM. It doesn't only navigates to the search result, it runs a real filter which you can cancel after while your navigation stays at the same place in the grid.

Ganister Tree Grid Search

Undirected Relationship display

Where-use has also seen an upgrade with the specific case of undirected relationships, which are now displayed as such. no arrow.

Undirected Where use

Aggregate function in grids

We have added an aggregate function which allows you to display calculation results. The last use case we have seen was a list of maintenance tasks where our customer wanted to have live sum of the hours spent on a vehicle repair.

Ganister Grid Aggregate

G-Config

G-config has received a few updates. We fixed a few inputs which were triggering updates even when the value had not changed. We have seen that in few cases companies needed to set a date on a particular property when a specific event occurs. For example on a lifecycle transition you want to record a reception date. We created a method "setDate" which you call from the datamodel UI with the property name you want to update. More and more we will add such methods that prevent you from writing any code yourself.

Upgrade

You can upgrade you own instances running npm run upgrade. For this upgrade, we have one manual operation which consists in copying the .env file in the env folder once the automatic process has run. For every upgrade remember to backup your database first (we assume the server files are under GIT control).

Docker

We now also build Docker images containing Ganister and Neo4j so you can deploy a complete solution with docker. Contact us for more information about it.

Change Log

  • [Main Client] Update the login background global color based on environment type (staging, dev, prod)
  • [Main Client] add global search for custom treegridview and multilevel view
  • [Main Client] Add date to history timeline update elements
  • [Main Client] Rewrite treeStructure build from relationships
  • [Main Client] handle column grouping for aggregate function
  • [Main Client] Update how undirected relationship are styled in where use popup
  • [Main Client] fix formatting decimal numbers to prevent .1 + .2 = .30000000000004 issues
  • [Main Client] remove tech columns in custom treegrid view
  • [Main Client] fix customtreegrid column visibility management
  • [Main Client] fix customTreeGridView config save
  • [Main Client] fix graphView labelRef display
  • [Main Client] enable aggregate function
  • [Main Client] allow users to copy node url
  • [Main Client & API] Allow filtering by related node properties
  • [Ganister Server] update user definition and limit live user visibility to same company
  • [Ganister Server] Fix Schema generation performance
  • [Ganister Server] Allow copying a node from a method
  • [Ganister Server] Move env file to env folder to support automated Docker deployments from a Ganister instance
  • [Ganister Server] fix node versions listing on getnode route
  • [Ganister Server] add createdOn to sort getall results by date of creation by default
  • [Ganister Server] Enhance get all cypher queries
  • [Ganister Server] enhance user identifier reuse in core cypher queries
  • [Ganister Server] Enhance ganister db metrics cypher queries to reduce load on database with large amount of data
  • [G-Config] allow to set main screen login splash image
  • [G-Config] make askMandatoryFields available in client methods
  • [G-Config] Add a default SetDate method allowing you to easily set a date from a server trigger
  • [G-Config] Only update G-config fields if the value has changed (changing update trigger)
  • [G-Config] allow sorting permissions by label or name in Groups and Permissions
  • [G-Config] Fix saving the name of the method update in G-config
  • [Upgrade] Add coretranslation-keys when upgrading

Looking forward

We worked a lot on options and variants this summer, let us know if you want us to show you some of the magic we've built. (ok not really magic, but there is some great math and algorithm)

Next

Just download it ! :)


Yoann Maingon
Co-Founder & CEO of Ganister