DesiGen v1.16.0 now released

Published
24 February 2022
Category
Releases
Author
Andrew H

The latest beta version of DesiGen is now released, containing the latest improvements and bugfixes.

User feedback is most welcome.

Details on how to install this version can be found on the installation page of the documentation.

New in this release:

  1. New Feature: Added support for applying validation rules to artefact template properties and artefact set template properties. This support is only for built-in templates at this stage; a future enhancement will extend this support to include custom templates in external code gen template sources.

  2. Enhancement: Added support for recognising when templates are registered to categories that are no longer included in a code gen template source. This ensures that any categories that are retired trigger appropriate warnings during re-registration, so that issues can be identified more quickly.

  3. Enhancement: Added a textual description for any validation failures that are triggered during code gen template registration, so that people who create their own templates can understand why registration of their custom templates was unsuccessful.

  4. Enhancement: Display the everyday connection string dialog at startup in the event that the connection has been configured but the data store cannot be accessed. This ensures that people can correct any error in their connection information through the UI if their connection details change (such as if the data store is renamed or moved to a different server, or the credentials become invalid.)

  5. Enhancement: Replaced the 'magic number' used to represent an unlimited field length on a Field with a checkbox and an associated backing field into which this setting is stored. This ensures that new users will more easily be able to understand how to mark a field as unlimited in length (such as nvarchar(MAX) in SQL Server.)

  6. Enhancement: Applied the change to replace the 'magic number' mentioned in the previous item to the FieldTemplate entity, so that field templates gain the same ease of use.

  7. Enhancement: Added a missing foreign key constraint between the FieldTemplate and DataType tables.

Known issues/limitations in this release:

  1. The application will not run if installed inside of the "Program Files" or "Program Files (x86)" folders. This is a permissions problem that is out of my control. Please workaround this by installing it outside of these folders. The default location is C:\DotNotStandard\DesiGen.

  2. Clicking on a link in the design menu causes unsaved changes made on the current page to be lost. The workaround is to click either the Next or Back button before navigating away from the design section.

  3. There are a limited set of templates at the moment. We do not intend that we deliver all of the templates you will ever need; instead you are able to create your own. However, there are a number of solution quickstarts that we do intend to add, such as a template for a hybrid MAUI solution.

  4. There is limited functionality to assist with collaboration between team members, including design reviews. We will assess what extra work is required in this area as part of a future development phase. The workaround for the moment is to interact via other channels. If you wish to do offline collaboration, we suggest generating a Word document, which you could print and review by hand, or use the notation features in built into Word to enable collaboration upon it.

  5. There is no data management in place, such as the scheduled deletion or archiving of old designs, or log entries. The failure to clean up old log entries may cause your database to grow beyond your expection; please be mindful and allow sufficient space in your database for this slow growth.

  6. All child CSLA objects are code generated to have async data access code. However, a limitation in CSLA currently makes async inserts and updates unreliable in some UI technologies, especially WPF applications built using Mobile Blazor Bindings. It is recommended that repository interfaces and classes for child CSLA objects are changed to use synchronous methods for Insert, Update and Delete if any application hangs are encountered with generated code. This issue does not affect Fetch methods/operations, which can still benefit from async data access for maximum scalability.

  7. Whilst custom artefact templates can make use of artefact template helper types, at this stage only built-in helper types can be used. This is an intentional limitation because importing user-defined helper types needs careful consideration; importing external code could represent a security vulnerability if not handled correctly. This limitation will be removed in a future release, once the code to mitigate the security risk has been completed.