The number of our users working with larger diagrams is constantly growing. Therefore, we decided to focus on improving the performance of Moon Modeler and prepare a solution for working with database structures and schemas with hundreds of objects. And more than that, version 4.5 includes other improvements, of course. Let’s take a look at the most important ones.
1. Performance improvements
We have significantly improved the performance of Moon Modeler. Here is an overview of the most important changes:
- We have redesigned the sidebar with objects. Now you can quickly search even in large models, scrolling is smooth and overall user experience is better.
- We have optimized the diagram rendering. You can move objects using drag and move, without noticeable freezing.
- We’ve redesigned UNDO/REDO. Even complex operations are handled differently and reverting to the previous state is faster.
- In GraphQL projects, the dashed line (implements) is replaced with a solid line, which affects the speed of drawing the diagram.
Example: a project that contains:
- 715 types
- 249 inputs
- 1642 references
- 540 implements
In the image above, you can see how to easily search for an object (1), how to use the Find in diagram feature (2), and two areas where you can edit the properties of an object – the right sidebar (3) and the modal form (4).
These improvements are also the basis for other features we plan to add to the product soon. Now we can fully concentrate on more advanced features.
2. Side panel settings
You now have more control over what types of objects are displayed in the sidebar. New features:
- You can only display certain object types
- You can now add display for columns, indexes, etc.
- Search is now available for child objects (columns, fields, etc.).
- Display of the number of occurrences found has been added
To change the settings, right-click in the diagram or the three dots icon and select Side navigation settings.
Edit the options and confirm the change by closing the form.
You can now e.g. search for table columns etc.
3. Column selection
Another improvement is the ability to view column detail directly from the diagram. Just click on the column name and the detail will be displayed in the right panel.
If it is an object that has JSON (relational database) or document (MongoDB) as data type, you can use the Children tab to view and modify the columns/fields of these nested objects.
It is also possible to edit child object field directly from parent object:
Note: We plan to add more operations related to columns, nested objects, etc. in future versions of Moon Modeler.
4. GraphQL & import from online source
Moon Modeler allows you to visualize GraphQL schema that is available online.
You can try to visualize e.g. the freely available StartLink schema (https://api.spacex.land/graphql/).
How to do it?
In the Projects section, select Import from URL.
Enter the URL path and click Import.
You can then try different types of autolayout or manually edit the diagram to suit you. In a few minutes you can visualize the structure like this. Learn more.
Of course, you can also generate an HTML report. Creating documentation for an online schema is thus very simple.
5. Alternate keys graphics
In relational databases you can create a session using an alternative key. Previously, it was not very clear what columns make up this alternate key. Now the alternate keys are displayed directly in the diagram.
6. Improvements for PostgreSQL projects
If you use the serial data type in the primary key column, it is converted to the child table as an integer data type.
7. SSH connections and private keys
Now you can use private keys for SSH connections
8. Other useful improvements and bug fixes
- Fixed a bug that caused an object to be visible only in the sidebar, but not in the diagram.
- Fixed application window changing after starting Moon Modeler.
- Fixed adding diagrams by diagrams feature.
- Fixed import from SQLite.
- Other bug fixes.
Changes in version 4.5.1.
- Fixed an error caused by deleting a column.
- Improved loading of backup files.
- Added shorter interval for saving backups – 5 seconds.
- Fixed automatic resizing of objects when resizing another object.
- Fixed object resize.
- Fixed import from SQLite.
- Improved reverse engineering from PostgreSQL (empty schema).
- Fixed restrictions for modeling GraphQL structures.
- Modification of styles in modal forms.
- Improved Lock dimensions functionality.
Have a suggestion?
If you have a suggestion, an idea for improvement, or if you find a bug, feel free to email us at firstname.lastname@example.org.