Anatomy of a Module
- Updated on 18 Apr 2019
- 2 minutes to read
For reference on Building a Module, please refer to: Building A Module (Advanced)
The folllowing are the only necessary elements:
Module Anatomy - These are the folders that are unpacked from any module that gets installed. Not all of these folders need to be used and usually the only two that are actually used are: ImportedObjects and ServicesDlls.
AgentDlls - Extra dll files for adding capability to the Decisions Cloud to Site Agent.
ImportedObjects - One of the most important folders. This should have Flows, Pages, Reports, Rules, and Folders that have been built IN the Decisions designers and exported from Decisions using the Import/Export function. These should be .decObj files.
JSClients - IF your ServicesDlls folder contains dll files that declare new Web Services (IServiceContract) that also have [AutoRegister] attributes then you will get JSClients created when you run CreateModule.exe while building your module.
MvcViews - These are additional MVC Views that are hosted in the Decisions.Web.Host which is the primary user interface. MvcViews can be used to add additional view controls for pages and forms. These files go to Web Host/HUI virtual directory in the installation. HUI is the virtual directory that serves the HTML portal to users.
ServiceClientDlls - See note on ServicesDlls. This folder does not usually contain any custom assemblies, only those generated during module build.
ServicesDlls - This is probably the most used and most important folder in a module. This contains a dll or multiple dlls that define your project's flow steps, rule parts, customizations, behaviors, initializer code for setup. If these files have any Web Services that are registered in this folder then you will get corresponding ServiceClient dlls in the ServiceClientDlls folder. These are created by the CreateModule.exe tool.
SilverlightDlls - Custom Silverlight UI Controls.
SQL - Database configuration and data scripts that are run on module installation.
WebHostFiles - WebHostFiles are dlls that need to put put in the Bin Folder of the Web Application. These are usually files that are in support of the WebPages listed below.
WebPages - HTML or ASPX pages that go in the root directory of the Web Host itself. This folder MUST CONTAIN ZIP files that are unpacked on module installation. The unpacked files become peers to the Login.aspx page. This folder may contain folders and those folders will be maintained.
Module.xml - is a file created by the module build tool or by our build scripts for built-in modules. It contains some basic info about where the module was built, at what time, for which version, and whether it depends on any other modules.
*Optional: it is possible to supply your own Module.xml file but optional.