Software Ideas Modeler 14.20: Interactive HTML Diagram Export, Improved Custom Diagramming, Feature Model Diagrams, and Rust Support

This update unveils almost 50 innovative features,enhancements and fixes. The article explores significant improvements introduced in this version, highlighting advancements in diagram export, custom diagramming, element hierarchy creation, E-R diagramming, and programming language support, among others. Additionally, this release introduces a new diagram type – the Feature Model Diagram, further expanding the software's capabilities.

The latest release of Software Ideas Modeler 14.20 marks another significant leap forward. In addition to an emphasis on enhancing user experience and productivity, this update transitions the software's foundation from .NET 7 to .NET 8, ensuring users benefit from the latest advancements in performance, security, and development capabilities. This upgrade introduces 32 new features and improvements, alongside 17 critical fixes, addressing the diverse needs of professionals in software development, business process modeling, and system architecture. This article delves into the major enhancements brought by this update, with a special focus on key improvements in diagram export, custom diagramming, element hierarchy creation, E-R diagramming, programming languages support, and others. The software brings also a new diagram type in this version – Feature Model Diagram.

Interactive HTML Diagram Export

A notable feature in this release is the Interactive HTML Diagram Export, which allows users to export diagrams as interactive HTML pages. This feature enhances sharing and collaboration. Zooming and panning capabilities are supported in the exported diagrams. All exported content is in crisp vector format for optimal clarity at any zoom level.

Freehand Selection

The introduction of freehand selection to Software Ideas Modeler marks a significant improvement in the flexibility and precision with which users can interact with their diagrams. This feature, accessible through the Selection tool's context menu under Selection Settings and then Freehand, is designed to address the limitations of traditional rectangular selection methods by allowing for the selection of irregular, non-rectangular areas of elements.

Freehand Selection
Freehand Selection

Feature Model Diagram

The new Feature Model Diagram will help users who need to plan, analyze, and communicate the various features of software systems or products. Exclusive to the Premium edition and higher, this new diagram type enables users to visually represent and organize features, their relationships, and dependencies in a structured manner.

Feature Model Diagrams are particularly useful in the early stages of software development and product management, where understanding the system's scope, optional and mandatory features and potential configuration options is crucial.

Feature Model Diagram
Feature Model Diagram

Element Hierarchy Creation Using the Toolbox

The element hierarchy creation using the toolbox is an innovative way to quickly generate hierarchical structures within the diagram editor. This feature streamlines the process of creating complex diagrams that involve nested or hierarchical relationships, such as class hierarchies in object-oriented design, organizational charts, or any structure requiring a parent-child relationship representation.

Using a simple yet powerful drag-and-drop interface combined with text-based input, users can efficiently outline the desired hierarchy. The process involves selecting an element tool (e.g., class) and a connector tool (e.g., generalization) from the toolbox, specifying an area on the diagram editor, and then entering the hierarchy as plain text with indentation to denote different levels. This text-based approach to defining hierarchies not only speeds up the modeling process but also reduces the potential for errors that can occur when manually drawing and connecting elements.

Custom Diagramming Enhancements

The update significantly bolsters custom diagramming capabilities with several key features:

  • Batch Import of Icons: Standing out as a prominent feature, batch import allows users to efficiently import an entire folder of icons in PNG or SVG formats into the custom diagram editor. This capability is invaluable for users looking to personalize their diagrams with specific visuals or incorporate a large set of icons, enhancing the visual appeal and clarity of custom diagrams.
  • Element Groups: Following the batch import of icons in significance, the introduction of element groups enables users to organize elements within their custom diagrams into distinct groups. This organizational feature simplifies the management of complex diagrams and creates corresponding groups of tools for these elements, improving accessibility and efficiency during the modeling process.
  • New Default Label Position Setting for Custom Elements: This enhancement allows users to define a default label position for custom elements, contributing to even better customization.

Enhanced E-R Diagramming and Data Modeling

The update introduces a new context menu option for typed fields - Change Field Size in ER diagrams, which streamlines the data modeling process. This feature allows users to quickly adjust the size of fields, such as varchar types, making the process of defining and adjusting data models more intuitive and efficient.

Change Type Size in ERD Entity
Change Type Size in ERD Entity

Rust Programming Support

Software Ideas Modeler 14.20 extends robust support to the Rust programming language through Rust Source Code Generation, Rust Code Reverse Engineering, and the introduction of a Rust Type Set. These features empower Rust developers to visualize their code structures in diagrams and directly generate Rust code from models, streamlining the development process.

Programming Language Support and Miscellaneous Enhancements

Software Ideas Modeler 14.20 brings significant enhancements to its programming language support, particularly for TypeScript and C#. We've fine-tuned the parsing and syntax highlighting capabilities for these languages, ensuring a more accurate and visually coherent representation of your code. Furthermore, this update introduces new code generation capabilities that expand your ability to create detailed models from your codebase efficiently.

In a notable advancement for C# developers, Software Ideas Modeler now offers improved support for C# source code analysis and reverse engineering. This includes comprehensive support for modern C# features such as records, record structs, and primary constructors. These improvements make it easier to work with the latest C# language features.

Release Notes

New Features and Improvements

  • Improved performance due to moving to .NET 8.0
  • Added Feature Model diagram (Premium edition and higher)
  • Added Interactive HTML diagram export (full page, component)
  • Added support for Rust source code generation
  • Added support for Rust code reverse engineering to diagram
  • Added Rust type set
  • Freehand selection
  • Easy element hierarchy creation using the toolbox
  • Added new context menu option for typed fields - Change Field Size
  • Types in the Change Type context submenu are alphabetically ordered
  • Added batch import of icons to custom diagram editor
  • Names and types of the elements in the custom diagram editor can be edited in the grid
  • Added new columns to custom diagram elements grid: Icon, Is Container, Default Width, Default Height
  • Custom diagram element ID is automatically pre-filled in the dialog
  • Added support for element groups for custom diagrams
  • Added context menu to Custom Diagram editor
  • Added default label position setting for custom elements
  • Support for SVG format as an image for custom elements in custom diagrams
  • Improved block connector selection - the whole shape not only the control line reacts to the selection
  • Added support for WEBP and HEIF formats to diagram export
  • Improved work with floating entity data editor
  • Added navigation to types in generic template parameters using the 'Navigate to' context menu
  • Added common generic types to the Java type set
  • Added icons to the tree in the Source Code Import dialog
  • Improved TypeScript source code parser
  • Added support for getter and setter generation in TypeScript
  • Update TypeScript syntax highlight
  • Improved C# source code parser - added support for records, readonly structs, record structs and primary constructors
  • Improved C# code generation - added support for records, readonly structs, record structs and primary constructors
  • Added actions for adding a new data source and data binding to the ribbon and menu
  • Improved relationship processing in reverse engineering
  • Improved auto size for Image and Art Text elements

Fixed Bugs

  • Fixed unreliable tool locking in the toolbox
  • Fixed missing Data Sources sidebar in the Sidebars menu in the ribbon and classic menu
  • Fixed missing context menu in the quick action bar
  • Fixed adjusting view when navigating using the keyboard in tree views
  • Fixed direction of element auto flow
  • Fixed incorrect primary key self-referencing in some cases with auto-resolve relationships
  • Fixed layout of roadmap partitions and states with regions for some container layout scenarios
  • Fixed application crash when exporting to SVG in some cases
  • Fixed assigning resolved elements as type references in source code reverse engineering
  • Fixed undo for adding attribute relationships (the relationship was not removed from the model properly)
  • Fixed immediate hiding of drop-down with other sidebars (sidebar header)
  • Fixed incorrect layout when moving some dialog with tab controls between screens with different DPI
  • Fixed missing Body tab in the Operation dialog
  • Fixed incorrect undo for element moving in the diagram in a specific scenario
  • Fixed layout of attached relationships after collapsing or expanding a container
  • Fixed some issues in SVG export
  • Fixed moving connector control points after incorporating an element into a flow


New Comment