Legacy Modules

Overview

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.

IMPORTANT

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.

Access Legacy Documentation
To view our legacy documentation, click here.

Legacy Module Migration Guide

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.

TIP

If you require assistance migrating to the new modules, please contact us and we can help.

General Process

  1. Removing existing packages
  2. Adding new packages
  3. Adjusting namespaces and classes if needed
  4. Fix breaking changes if needed

Removing Existing Packages

Take note of which Llamachant Framework Modules you're using, then use NuGet Package Manager in Visual Studio to remove existing LlamachantFramework modules.

Adding New Packages

Add the new Llamachant.ExpressApp modules using the NuGet Package Manager in Visual Studio.

NOTE

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

Adjusting Namespaces and Classes

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.

Module Names

Previous Name New Name
LlamachantFrameworkWindowsFormsModule LlamachantFrameworkModuleWin
LlamachantFrameworkAspNetModule LlamachantFrameworkModuleWeb
ControllerManagementModule LlamachantFrameworkDiagnosticsModule

Business Objects

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

Utility Classes / Other Objects

Class Previous Namespace New Namespace
ITrackedObject LlamachantFramework.Module.Controllers.Utils LlamachantFramework.Module.Interfaces
TrackedObjectHelper LlamachantFramework.Module.Controllers.Utils LlamachantFramework.Module.Utils

Fix Breaking Changes

There are several breaking changes that could have an effect 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'