1. All item templates that previously resided under the "DevExpress XAF" group of the "Add New Item" dialog were moved to the DevExpress v16.1 Template Gallery.
Why was this change done?
These changes were required to improve developer experience when searching within numerous templates, multiple XAF versions were installed on the same machine. Previously, it was difficult to locate and distinguish a required template that often led to accidental version mistakes. Currently, the templates are logically grouped, provide cleaner descriptions, images and even MRU shortcuts, which greatly improves the overall UX.
You can now find this gallery container in the "Add New Item" dialog:
Additionally, we've provided shortcuts for the most recently used (MRU) item templates to the Add DevExpress Item... menu invoked for XAF projects under the Solution Explorer:
2. The ORM Persistent Object (XAF UI Model & Code) item template (aka BO Designer) is no longer available for creating new business objects.
Why was this change done?
Since the BO Designer was primarily supposed to be a fast prototyping tool from the very beginning, all layout designer customization features and Application Model options were not supposed to be supported in this tool. Similarly, we had no goal of duplicating all the features of much more powerful Model Editor and Visual Studio Code Editor. This tool was also in CTP, which meant that it was still under consideration and contained issues, which we might not be able to solve in a reasonable time frame or address at all.
Eventually, the great user feedback we received over the last few years after the preview of this experimental UI Model & Code designer confirmed that it was only possible to use that tool for a limited number of prototyping scenarios, e.g., when evaluating the product. Real production development scenarios typically require greater control over your data model code (writing properties and logic) and UI construction, which was difficult to combine within the same hybrid tool preserving the same old good UX, a high features coverage and extensibility its base parts provide individually, not to mention keeping a low maintenance cost, which is important for future evolution.
Having said that, we recommend you use other data modeling means and UI customization approaches for creating production apps from the very beginning, without the inevitable need to learn these important tools later. Another reason for this template removal, of course, is that we want to present to the majority of our customers (including prospective ones) only full framework features, which do not impose any limitations and guarantee the best experience.
Your existing *.BO.* files will continue to work for many years to come and we have just disabled the capability to create new *.BO.* files in this release. Technically, the designer registration for this file type in Visual Studio has NOT been removed to allow you to continue your work with existing files or migrate your code and model settings later in an unhurried manner. So, we are not forcing you to migrate to other tools immediately or there is no need to convert your Application Model settings right away.
For the future, if you want to migrate an existing prototype created using the BO Designer (CTP) towards creating a real production app OR just want to continue your work with our framework without the aforementioned prototyping tool limitations, consider these instructions below for the two main design areas:
1. Code-First, which implies the following steps: 1. Copying the contents of the existing *.bo.designer.xx files into a newly created code file for manual modification, as usual; 2. Removing the *.bo and related files from your project. Take special note that you can greatly speed up adding XPO business class properties and associations via the built-in CodeRush templates: CodeRush Classic > Concepts > Coding Assistance > Code Templates > XPO and XAF Templates.
2. Model-First or Database-First with the XPO Data Model wizard and designer, which implies the following steps: 1. Removing the *.bo and related files from your project; 2. either designing a new data model visually or generating persistent classes automatically based on your previously created database schema (learn more...).
See the eXpressApp Framework > Concepts > Business Model Design > Business Model Design with XPO > Ways to Add a Business Class documentation to learn more on this.
Since the application model settings for designed Views in the BO Designer are physically stored in the *.bo files, you can consider the following options:
1. Removing the *.bo and related files from your project and starting all View layout customizations from scratch in the Model Editor or at runtime as described in the View Items Layout Customization and List View Column Generation articles.
2. Opening the existing *.bo files in a text editor, copying required XML contents and pasting them into a required XAFML file of your project. This approach is manual and error prone, so it is better to consider the previous option.
What if I cannot migrate to the recommended approaches right away, but still need to create new *.BO.* files in the interim period?
You can download the attached BusinessObjectEditorTemplates.v1X.X.XXX.vsix files and install it in Visual Studio manually (e.g., by double-clicking). Note that the files with "VS17" in name are supposed to be used for Visual Studio 2017 only due to differences in the extensions mechanism.
These files will work for all 16.1 minor updates going forward. We will also consider providing a similar VSIX file for future XAF 16.2, 17.1, etc. versions based on real customer demand. Continue to bear in mind, however, the aforementioned reasons for this change and act accordingly.
3. The "ORM Domain Component for XAF" item template (DC) is no longer available for creating new business objects
Why was this change done?
The Domain Components (DC) technology is an extension for eXpress Persistent Objects (XPO), which was designed for a limited set of advanced scenarios of reusing persistent objects (learn more...) and, thus, targets XPO developers who already know ORM approaches and its internals perfectly. Taking into account that DC also involves one more abstraction level above ORM (e.g., working with interfaces instead of classes) as well as other considerations, this technology has proved to be difficult for beginners, who often accidentally chose this template and got confused. For a better experience with our framework at this stage, we removed this advanced item template and I suggest users who are new to our framework take a look at regular Entity Framework and XPO persistent classes first (learn more...).
There is no migration path for existing DC users, because existing and new domain components should continue to operate as expected with this release and going forward. There is no change to the DC technology itself, but rather a visual change to the designers that no longer provide this template. The template itself was pretty simple and it should not be a problem for existing DC users to create and register interfaces as described in the corresponding documentation. If you wish, you can create custom code templates using the built-in capabilities of Visual Studio (learn more from Visual Studio IDE User’s Guide | Writing Code | Code Snippets | Walkthrough: Creating a Code Snippet) and third-party extensions like CodeRush (learn more from CodeRush Classic > CodeRush Options > Editor > Templates).
Show all comments