Introduction
Dynamix is using modules for installing components into web sites.
Some of the things that the modules can do is:
Copy files
Create virtual directories
Execute upgrade code
Manage dependecies
Update web.config assembly bindings
Share modules between multiple sites
The modules are normally installed in the standard Program Files folder. Dynamix Manager is then used to install the modules into web sites. The modules are defined using a Module.xml-file in the project root folder.
Module.xml
Example Module.xml:
<?xml version="1.0" encoding="utf-8"?>
<modules schemaVersion="1.0" xmlns="http://initiva.se/Dynamix/Module1_0.xsd">
<module name="Module1" version="1.0.0" databaseName="Module1">
<assembly fullName="Module1, Version=1.0.0.0, Culture=neutral"
upgradeClass="Module1.Upgrades.ModuleUpgradeInstaller" />
<virtualDirectories>
<virtualDirectory diskPath="Module1" sitePath="Module1" isPublic="true" />
</virtualDirectories>
<files>
<file diskPath="bin\Module1.dll" sitePath="DynamixBin\Module1.dll"/>
<file diskPath="bin\sv\Module1.resources.dll"
sitePath="DynamixBin\sv\Module1.resources.dll"/>
<file diskPath="favicon.ico" sitePath="favicon.ico"/>
</files>
<dependencies>
<dependency name="Dynamix" databaseName="Dynamix"
minimumVersion="6.0.122" />
<dependency name="SlideShowModule" databaseName="SlideShowModule2"
minimumVersion="2.0.3" />
</dependencies>
<httpModules>
<httpModule name="Module1.HttpModule" type="Module1.HttpModule" />
</httpModules>
</module>
</modules>
Module element
name - the name of the module presented in Dynamix Manager
version - the module version
databaseName - The module internal name. This string must be the same as in the UpgradeInstaller property "ModuleName". This name is used for grouping the different versions of the same module.
<module name="Module1" version="1.0.0" databaseName="Module1">
Assembly element
Defines the main assembly in the module and the type used for upgrades. "assemblyBinding"-elements with upgrade information is added to web.config for this assembly.
<assembly fullName="Module1, Version=1.0.0.0, Culture=neutral"
upgradeClass="Module1.Upgrades.ModuleUpgradeInstaller" />
Virtual directory element
Creates a virtual directory in the web site.
diskPath - the relative disk folder path ({InstallFolder}\Module1 in the example)
sitePath - the virtual folder name. (http://website/Module1 in the example)
isPublic - not used, set to true
<virtualDirectory diskPath="Module1" sitePath="Module1" isPublic="true" />
File element
Copies the specified file to the web site
<file diskPath="bin\Module1.dll" sitePath="DynamixBin\Module1.dll"/>
Dependency element
Specifies that the module is dependant on another module.
name - the name of the required module (used for presentation in Dynamix Manager if the module is not installed)
databaseName - the databaseName of the required module
minimumVersion - the minimum version of the required module
<dependency name="Dynamix" databaseName="Dynamix"
minimumVersion="6.0.122" />
HttpModule element
Registers HttpModule-elements in web.config.
<httpModule name="Module1.HttpModule" type="Module1.HttpModule" />