CompiledDomainModel Releases
You can install the module using NuGet with the following command: Install-Package CompiledDomainModel
Dowload CompiledDomainModel Release 1.0.0.0
Release 1.0.0.0 containing the following features:
-
Added "Platform Mode", that can be used if generated code needs to be in separate files (e.g. when there are multiple DLL's where generated code is needed)
-
NuGet support added
Dowload CompiledDomainModel Release 0.5.5.0
Dowload CompiledDomainModel Demo FeedReader release 0.5.5.0
Release 0.5.5.0 containing the following features:
-
Added "FromParent(...)" static method to create relative fixed paths by resolving the child item by itself
-
Added the option to the global settings to remove dependencies with the CDM module
-
Added IItemWrapperCore, to allow dependencies with generated code to be removed.
-
Better way of determining template and contributing template hierarchy.
-
Fixed a bug that deals with a rather exotic NullReferenceException in the ConfigurationUtil class.
Dowload CompiledDomainModel Release 0.5.0.0
Dowload CompiledDomainModel Demo FeedReader release 0.5.0.0
Release 0.5.0.0 containing the following features:
-
Added support for relative fixed paths. So you can use a similar syntax as with fixed paths for paths within the content tree that have a fixed structure, but can be available in different locations.
-
The names of the DomainObjectSets are now included in the namespaces of the generated code. This allows for a better separation of projects/sites.
-
Items are now created by matching them by Sitecore ID, instead of template name
-
Some members made virtual
-
Compatibility with automatic databinding by turning it off during code generation
-
Fieldtype support added for
- ImageField
- FileField
-
Generated code no longer uses XPath to get the descendants of a specific type; uses a 'safer' way now
-
Added a GutterRenderer that displays the fixed paths and configured templates in the bar next to the content tree (more info)
-
Generated code now starts with a prefix that can be used by external tools (like this one) to refresh the generated code.
Dowload CompiledDomainModel Release 0.4.0.0
Dowload CompiledDomainModel Demo FeedReader release 0.4.0.0
Release 0.4.0.0 containing the following features:
-
Some fixes
- Possible nullreference exception in generated code prevented (ItemWrapper.Parent)
- Exception after generating code prevented when nothing is configured
- Databinding issue fixed that caused error messages not to be displayed after generating code
-
Fieldtype support added for
- ReferenceField
- LookupField
- Numeric fields (long)
- Decimal fields (double)
- Improved support for LinkFields
-
Generation template added for making a typed WCF Service to be consumed by other applications such as Silverlight (experimental)
- Includes a demo Silverlight application
-
The user who generated the domain model is mentioned in the comments of the generated code
Dowload CompiledDomainModel Release 0.3.1.0
Dowload CompiledDomainModel Demo FeedReader release 0.3.1.0
Release 0.3.1.0 (initial release) containing the following features:
-
A code generator Sitecore application
- Different code generation templates can be selected
- A button for copying the generated code to the clipboard
- A button for reloading
- A button for downloading the generated file
- A link to the module documentation
- The default template generates a domain model
- There is a template that generates a SQL script for creating template specific views (Sitecore fields as columns)
- Easy to extend by placing .ascx files for generating code in the '/sitecore modules/Shell/CompiledDomainModel/CustomGenerators' folder
-
A validator Sitecore application
- Uses the ValidateDomainModel pipeline to check if the loaded domain model is consistent with the templates and fixed paths in the Sitecore databases
- A button for reloading
- A link to the module documentation
- Displays any errors and warnings if applicable
- A link to a report that gives a quick overview of the structure for the loaded domain model
- A link to a report that displays all the fixed paths for each database and shows what domain classes can be used at specific locations
-
A template for generating the domain model
- The generated code has a wrapper class with several methods for navigating and creating typed wrapper classes
- The generated code implements INotifyPropertyChanging and INotifyPropertyChanged so that events can be fired if anything changes in the domain model
- The generated code contains classes for configured templates and implements properties for the fields of those templates
- The generated code contains interfaces and static classes for contributing templates, as a way of dealing with Sitecore multiple inheritance (regular domain model classes implement these interfaces)
- The generated code contains a class for each fixed path in the content tree (and has methods for accessing the item wrappers, typed if possible)
-
A template for generating SQL views
- Creates or replaces a schema to contain the views
- Creates a view for each configured template and each configured contributing template, using the field names as columns
-
A validation processor that is configured to call the ValidateDomainModel pipeline at startup and log the result (and throw an exception if configured that way)
-
A validation pipeline that checks if the loaded domain model is consistent with the templates and fixed paths in the Sitecore databases
- The validation result is stored in the cache, so that any future code can check the results at a later stage
- A validation error is added if the domain model is generated with a version of the CompiledDomainModel module that is different from the one that is loaded
- A validation warning is added if a domain model cannot be found
- A validation error is added for each template that is referenced from the loaded domain model, but is not present in the configured databases
- A validation error is added for each template if the inheritance of the domain model is inconsistent with the inheritance of the templates in the configured databases
- A validation error is added for each template field that is referenced from the loaded domain model, but is not present in the configured databases
- A validation error is added for each template field that is referenced from the loaded domain model, but has a different type in the configured databases
- A validation warning is added for each template that is configured to have generated code, but the domain model does not contain a class for it
- A validation warning is added for each template field of templates in the loaded domain model that don't have generated code
- A validation warning is added for each fixed template path that is configured, but has no generated code
- A validation error is added if no databases are configured for a fixed path in the loaded domain model
- A validation error is added if a fixed path is not available in a configured database
- A validation warning is added if a fixed path is available in a configured database at the configured path, but if it does not have the correct item ID
- A validation warning is added if a fixed path is available in a configured database with the correct ID, but if it is not at the right path in Sitecore