This section contains historical documentation for our modules prior to version 25.1. We advise you to migrate to the Llamachant.ExpressApp packages as soon as possible for continued improvements moving forward.
We are planning to support our legacy modules through 25.1 and 25.2 only. When 26.1 is released, these modules will no longer be updated.
This section contains historical documentation for our modules prior to version 25.1. We advise you to migrate to the Llamachant.ExpressApp packages as soon as possible for continued improvements moving forward.
We are planning to support our legacy modules through 25.1 and 25.2 only. When 26.1 is released, these modules will no longer be updated.
If you are migrating from our legacy modules to the new Llamachant.ExpressApp modules, this guide will help you along the way. While this may look overwhelming, most changes should be minor but look below for any impact items.
If you require assistance migrating to the new modules, please contact us and we can help.
Take note of which Llamachant Framework Modules you're using, then use NuGet Package Manager in Visual Studio to remove existing LlamachantFramework modules.
Add the new Llamachant.ExpressApp modules using the NuGet Package Manager in Visual Studio.
If you are utilizing the Audit Trail features of the LlamachantFramework.Module package, they have been moved to the Llamachant.ExpressApp.AuditTrail.Xpo or Llamachant.ExpressApp.AuditTrail.EF package.
| Old Package | New Package | Notes |
|---|---|---|
| ControllerManagement.Module | Llamachant.ExpressApp.Diagnostics | |
| Originally in LlamachantFramework.Module | Llamachant.ExpressApp.AuditTrail | Originally in core module |
| Originally in LlamachantFramework.Module | Llamachant.ExpressApp.AuditTrail.Xpo | Originally in core module |
| Newly Supported | Llamachant.Expressapp.AuditTrail.EF | Originally in core module |
| LlamachantFramework.AutoIncrementingID.Module | Llamachant.ExpressApp.AutoIncrementingID.Xpo | |
| LlamachantFramework.ConditionalAppearance.Module | Llamachant.ExpressApp.ConditionalAppearance.Xpo | |
| Newly Supported | Llamachant.ExpressApp.ConditionalAppearance.EF | |
| LlamachantFramework.DragDrop.Blazor | Llamachant.ExpressApp.DragDrop.Blazor | |
| LlamachantFramework.FileAttachments.AzureBlobStorage | Llamachant.ExpressApp.FileAttachments.AzureBlobStorage | |
| LlamachantFramework.LlamaLogger | Llamachant.ExpressApp.LlamaLogger | |
| LlamachantFramework.Module | Llamachant.ExpressApp.Module | Audit Trail Module Functionality Moved |
| LlamachantFramework.Module.Web | Llamachant.ExpressApp.Module.Web | |
| LlamachantFramework.Module.Win | Llamachant.ExpressApp.Module.Win | |
| LlamachantFramework.Performance.Module | Llamachant.ExpressApp.Diagnostics | |
| LlamachantFramework.UpdateScripts.Module | Llamachant.ExpressApp.UpdateScripts.Xpo | |
| LlamachantFramework.Validation.Module | Llamachant.ExpressApp.Validation.Xpo | |
| LlamachantFramework.Wizard.Win | Llamachant.ExpressApp.Wizard.Win | |
| LlamachantFramework.Workflow | Llamachant.ExpressApp.Workflow | |
| LlamachantFramework.Workflow.EFCore | Llamachant.ExpressApp.Workflow.EFCore | |
| LlamachantFramework.Workflow.Service | Llamachant.ExpressApp.Workflow.Service | |
| LlamachantFramework.Workflow.XPO | Llamachant.ExpressApp.Workflow.Xpo |
To maximize compatibility, namespaces and class types were maintained when possible. However, to create consistency within and between our modules, some namespace refactoring was necessary. Below is a list of some of the more common classes that were moved.
| Previous Name | New Name |
|---|---|
| LlamachantFrameworkWindowsFormsModule | LlamachantFrameworkModuleWin |
| LlamachantFrameworkAspNetModule | LlamachantFrameworkModuleWeb |
| ControllerManagementModule | LlamachantFrameworkDiagnosticsModule |
| Class | Previous Namespace | New Namespace |
|---|---|---|
| AuditTrailDetails | LlamachantFramework.Module.Controllers.AuditTrail | LlamachantFramework.AuditTrail.NonPersistent |
| RestoreDataParameters | LlamachantFramework.Module.Controllers.AuditTrail | LlamachantFramework.AuditTrail.NonPersistent |
| RestoredObjectDetails | LlamachantFramework.Module.Controllers.AuditTrail | LlamachantFramework.AuditTrail.NonPersistent |
| RestoredObjectsParameters | LlamachantFramework.Module.Controllers.AuditTrail | LlamachantFramework.AuditTrail.NonPersistent |
| RestoreItemDetails | LlamachantFramework.Module.Controllers.AuditTrail | LlamachantFramework.AuditTrail.NonPersistent |
| Class | Previous Namespace | New Namespace |
|---|---|---|
| ITrackedObject | LlamachantFramework.Module.Controllers.Utils | LlamachantFramework.Module.Interfaces |
| TrackedObjectHelper | LlamachantFramework.Module.Controllers.Utils | LlamachantFramework.Module.Utils |
There are several breaking changes that could have an affect on your existing applications. It's important to apply these fixes as they may have an impact on the capabilities available to your end users.
LlamachantFramework.Module / Llamachant.ExpressApp.AuditTrail
| Description | Fix |
|---|---|
| actionChooseFontSize renamed to ChooseFontSize | Reapply model changes if you have customized this action. Update security roles that hide this action |
| actionViewAuditTrail renamed to ViewAuditTrail | Reapply model changes if you have customized this action. Update security roles that hide this action |
| BaseObject.OidInitializationMode = OidInitializationMode.AfterConstruction; is no longer set by default | Set in the constructor of your Module.cs |
| CustomSplashScreen class removed | If you implemented this feature, remove it from your code and use a DevExpress Splash Screen option |
| Static AuditTrailEnabled removed | No longer required - remove |
LlamachantFramework.AutoIncrementingID / Llamachant.ExpressApp.AutoIncrementingID.Xpo
| Description | Fix |
|---|---|
| TriggerEventArgs removed Session and provided access to TriggerUpdater instead | Use ObjectSpace instead of XPO Session |
| XPO / EF Modules Added | Add reference to .Xpo or .EF Package |
| Default Generated Trigger Changed | Ensure newly created trigger continues to perform as expected |
LlamachantFramework.Validation.Module / Llamachant.ExpressApp.Validation.Xpo
| Description | Fix |
|---|---|
| ValidationRuleData is no longer IRuleSource | ValidationRuleCache was added and is available from the module |
LlamachantFramework.Wizard.Win / Llamachant.ExpressApp.Wizard.Win
| Description | Fix |
|---|---|
| Platform specific WizardControllers added | Inherit from WizardControllerWin instead of WizardController for existing applications |
LlamachantFramework.UpdateScripts.Module / Llamachant.ExpressApp.UpdateScripts.Xpo
| Description | Fix |
|---|---|
| UpdateScriptManager no longer has Instance property | Use Module.UpdateScriptManager or UpdateScriptManager.GetInstance(Modules) instead |
| Version handling changed | Update Script module will always force updates if the CheckCompatibilityMode is ModuleInfo (Version is date/time generated) |
LlamachantFramework.Workflow / Llamachant.ExpressApp.Workflow
| Description | Fix |
|---|---|
| DefaultTemplateFormatting is DoubleBrace by default | Update your templates or set to SingleBraceTemplateFormatter in code |
| Show Workflow Instances action is now model optional (AllowShowWorkflowInstances) | Ensure enabled in model (Enabled by default) |
| Removed instance check for Show Workflow Instances | Removed the query to look for instances for increased performance. If needed, implement your own controller to handle this check |
| XPO module was renamed | If using ModuleInfo, you must update the module name |
UPDATE ModuleInfo SET Name = 'LlamachantFrameworkWorkflowModuleXpo' WHERE Name = 'LlamachantFrameworkWorkflowModuleXPO'
If you are migrating from our legacy modules to the new Llamachant.ExpressApp modules, this guide will help you along the way. While this may look overwhelming, most changes should be minor but look below for any impact items.
If you require assistance migrating to the new modules, please contact us and we can help.
Take note of which Llamachant Framework Modules you're using, then use NuGet Package Manager in Visual Studio to remove existing LlamachantFramework modules.
Add the new Llamachant.ExpressApp modules using the NuGet Package Manager in Visual Studio.
If you are utilizing the Audit Trail features of the LlamachantFramework.Module package, they have been moved to the Llamachant.ExpressApp.AuditTrail.Xpo or Llamachant.ExpressApp.AuditTrail.EF package.
| Old Package | New Package | Notes |
|---|---|---|
| ControllerManagement.Module | Llamachant.ExpressApp.Diagnostics | |
| Originally in LlamachantFramework.Module | Llamachant.ExpressApp.AuditTrail | Originally in core module |
| Originally in LlamachantFramework.Module | Llamachant.ExpressApp.AuditTrail.Xpo | Originally in core module |
| Newly Supported | Llamachant.Expressapp.AuditTrail.EF | Originally in core module |
| LlamachantFramework.AutoIncrementingID.Module | Llamachant.ExpressApp.AutoIncrementingID.Xpo | |
| LlamachantFramework.ConditionalAppearance.Module | Llamachant.ExpressApp.ConditionalAppearance.Xpo | |
| Newly Supported | Llamachant.ExpressApp.ConditionalAppearance.EF | |
| LlamachantFramework.DragDrop.Blazor | Llamachant.ExpressApp.DragDrop.Blazor | |
| LlamachantFramework.FileAttachments.AzureBlobStorage | Llamachant.ExpressApp.FileAttachments.AzureBlobStorage | |
| LlamachantFramework.LlamaLogger | Llamachant.ExpressApp.LlamaLogger | |
| LlamachantFramework.Module | Llamachant.ExpressApp.Module | Audit Trail Module Functionality Moved |
| LlamachantFramework.Module.Web | Llamachant.ExpressApp.Module.Web | |
| LlamachantFramework.Module.Win | Llamachant.ExpressApp.Module.Win | |
| LlamachantFramework.Performance.Module | Llamachant.ExpressApp.Diagnostics | |
| LlamachantFramework.UpdateScripts.Module | Llamachant.ExpressApp.UpdateScripts.Xpo | |
| LlamachantFramework.Validation.Module | Llamachant.ExpressApp.Validation.Xpo | |
| LlamachantFramework.Wizard.Win | Llamachant.ExpressApp.Wizard.Win | |
| LlamachantFramework.Workflow | Llamachant.ExpressApp.Workflow | |
| LlamachantFramework.Workflow.EFCore | Llamachant.ExpressApp.Workflow.EFCore | |
| LlamachantFramework.Workflow.Service | Llamachant.ExpressApp.Workflow.Service | |
| LlamachantFramework.Workflow.XPO | Llamachant.ExpressApp.Workflow.Xpo |
To maximize compatibility, namespaces and class types were maintained when possible. However, to create consistency within and between our modules, some namespace refactoring was necessary. Below is a list of some of the more common classes that were moved.
| Previous Name | New Name |
|---|---|
| LlamachantFrameworkWindowsFormsModule | LlamachantFrameworkModuleWin |
| LlamachantFrameworkAspNetModule | LlamachantFrameworkModuleWeb |
| ControllerManagementModule | LlamachantFrameworkDiagnosticsModule |
| Class | Previous Namespace | New Namespace |
|---|---|---|
| AuditTrailDetails | LlamachantFramework.Module.Controllers.AuditTrail | LlamachantFramework.AuditTrail.NonPersistent |
| RestoreDataParameters | LlamachantFramework.Module.Controllers.AuditTrail | LlamachantFramework.AuditTrail.NonPersistent |
| RestoredObjectDetails | LlamachantFramework.Module.Controllers.AuditTrail | LlamachantFramework.AuditTrail.NonPersistent |
| RestoredObjectsParameters | LlamachantFramework.Module.Controllers.AuditTrail | LlamachantFramework.AuditTrail.NonPersistent |
| RestoreItemDetails | LlamachantFramework.Module.Controllers.AuditTrail | LlamachantFramework.AuditTrail.NonPersistent |
| Class | Previous Namespace | New Namespace |
|---|---|---|
| ITrackedObject | LlamachantFramework.Module.Controllers.Utils | LlamachantFramework.Module.Interfaces |
| TrackedObjectHelper | LlamachantFramework.Module.Controllers.Utils | LlamachantFramework.Module.Utils |
There are several breaking changes that could have an affect on your existing applications. It's important to apply these fixes as they may have an impact on the capabilities available to your end users.
LlamachantFramework.Module / Llamachant.ExpressApp.AuditTrail
| Description | Fix |
|---|---|
| actionChooseFontSize renamed to ChooseFontSize | Reapply model changes if you have customized this action. Update security roles that hide this action |
| actionViewAuditTrail renamed to ViewAuditTrail | Reapply model changes if you have customized this action. Update security roles that hide this action |
| BaseObject.OidInitializationMode = OidInitializationMode.AfterConstruction; is no longer set by default | Set in the constructor of your Module.cs |
| CustomSplashScreen class removed | If you implemented this feature, remove it from your code and use a DevExpress Splash Screen option |
| Static AuditTrailEnabled removed | No longer required - remove |
LlamachantFramework.AutoIncrementingID / Llamachant.ExpressApp.AutoIncrementingID.Xpo
| Description | Fix |
|---|---|
| TriggerEventArgs removed Session and provided access to TriggerUpdater instead | Use ObjectSpace instead of XPO Session |
| XPO / EF Modules Added | Add reference to .Xpo or .EF Package |
| Default Generated Trigger Changed | Ensure newly created trigger continues to perform as expected |
LlamachantFramework.Validation.Module / Llamachant.ExpressApp.Validation.Xpo
| Description | Fix |
|---|---|
| ValidationRuleData is no longer IRuleSource | ValidationRuleCache was added and is available from the module |
LlamachantFramework.Wizard.Win / Llamachant.ExpressApp.Wizard.Win
| Description | Fix |
|---|---|
| Platform specific WizardControllers added | Inherit from WizardControllerWin instead of WizardController for existing applications |
LlamachantFramework.UpdateScripts.Module / Llamachant.ExpressApp.UpdateScripts.Xpo
| Description | Fix |
|---|---|
| UpdateScriptManager no longer has Instance property | Use Module.UpdateScriptManager or UpdateScriptManager.GetInstance(Modules) instead |
| Version handling changed | Update Script module will always force updates if the CheckCompatibilityMode is ModuleInfo (Version is date/time generated) |
LlamachantFramework.Workflow / Llamachant.ExpressApp.Workflow
| Description | Fix |
|---|---|
| DefaultTemplateFormatting is DoubleBrace by default | Update your templates or set to SingleBraceTemplateFormatter in code |
| Show Workflow Instances action is now model optional (AllowShowWorkflowInstances) | Ensure enabled in model (Enabled by default) |
| Removed instance check for Show Workflow Instances | Removed the query to look for instances for increased performance. If needed, implement your own controller to handle this check |
| XPO module was renamed | If using ModuleInfo, you must update the module name |
UPDATE ModuleInfo SET Name = 'LlamachantFrameworkWorkflowModuleXpo' WHERE Name = 'LlamachantFrameworkWorkflowModuleXPO'