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:
Enhancement: The output name of an Artefact is now editable, so that people are not forced to use a hierarchical structure if they do not want to. It is not yet very user-friendly to work this way, but it now at least possible to edit the formula used to calculate the output name used for an Artefact during code generation, so that the default reference to an inherited property from a parent can be removed if there is no parent from which to inherit it.
Enhancement: Use the built-in Audit Fields Data Structure Template as the source of fields and indexes when adding audit fields to Data Structures during code generation. This is beneficial because it allows users to change the definitions of the audit fields if they see fit, such as using different names, adding indexes, or adding additional columns to the set that are used by default.
Enhancement: Renaming of TemplateId field to ArtefactTemplateId in the Artefact table to better describe the purpose of this important field.
Bugfix: Remove the built-in Audit Fields Data Structure Template from the dropdown of available Data Structure Templates on the Create Data Structure screen.
Bugfix: Exclude inactive custom properties from Artefact Template exports, and inactive batches and batch members from Artefact Set Template exports.
Known issues/limitations in this release:
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.
Clicking on a link in the design menu causes unsaved changes made on the current page to be lost. This will be fixed when the application is upgraded to .NET 6; this will take place later in the year. The workaround is to click either the Next or Back button before navigating away from the design section.
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.
The navigation between the design section and the rest of the application is still somewhat incomplete, such as how you close designs. We are currently seeking feedback on how navigation should be enabled. For the moment, you should either use the small 'X' in the top-right corner of the design section. Alternatively you can click on the application name at the top of the design menu to return to the main menu, although you risk losing changes if you use this approach.
There are still some limits to the ability to change settings at the moment. In the future it will be possible to modify more behaviours, but this currently remains on the backlog for prioritisation.
There is no 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.
There is no status change functionality at this point in time; we are still deciding on what functionality is required as part of this feature. This will probably be tackled as part of the collaboration featureset.
There is no data management in place, such as the scheduled deletion or archiving of old designs.
Additional styling and UI tidy up is on the backlog for prioritisation.
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 are changed to use synchronous methods for Insert, Update and Delete if any application hands are encountered with generated code. This issue does not affect Fetch methods/operations, which can still benefit from async data access for maximum scalability.
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.