This page is a Draft, its content is not complete and might contain errors.
To use customization items on the server and deploy these to the CWR Mobile Client a customization package must be uploaded to the server. This file consists of a manifest file, the customization assembly(or assemblies) and any resources or dependencies.
EditManifest
The manifest is an XML file using the following XML Schema:
CustomizationManifest.xsd. The manifest file must be placed in the root of the customization zip file and must be named manifest.xml
Manifest file example:
<Manifest xmlns="http://cwr.mscrm.mobile/CustomizationManifest" MinVersion="4.1.0.0" Name="Set Defaults Control Sample">
<Files>
<File Filename="SetDefaultsControl.dll" Version="1.0.0.0"/>
</Files>
<Items>
<CustomControl Class="CWR.MSCRM.Mobile.Client.Sdk.CustomControls.SetDefaultsControl">
<Name>Set Defaults Control</Name>
<Description>This control sets default values on a form</Description>
<Author>CWR Mobility BV</Author>
<ConfigurationDescription>The name value pairs are the schema name of the field and the corresponding value</ConfigurationDescription>
<ConfigurationParameters>
<Configuration>
<Attributes>
<Attribute Name="field1">
<Value>value1</Value>
</Attribute>
<Attribute Name="field2">
<Value>value2</Value>
</Attribute>
</Attributes>
</Configuration>
</ConfigurationParameters>
</CustomControl>
</Items>
</Manifest>
| Node | Attribute | Description |
|---|
| Manifest | | Root node of the file |
| xmlns | Namespace for the manifest xml file |
| MinVersion | (Optional) Minimal version of the CWR Mobile CRM installation on which this package can run |
| Name | A display name for the packages. Used in the customization files list on the server. |
| Files | | Root node for the package files |
| File | | A file contained in the package |
| Filename | Name of the file including the directory. If the path includes a directory the file must be placed inside that directory inside the package. |
| Version | (Optional) Version number of the file. If a version number is given and a file with the same name and version number is included in a different package the file is used by both packages, if the same file with a different version number allready exists the package cannot be uploaded. |
| Items | | Container for the customization item definition. |
Callout, CustomControl, SitemapExtension, ViewExtension | | Definition of a class containing the specified type of customizations. |
| Class | Class name including the namespace. A single class name can be specified multiple times for different customization types. |
| Name | | Display name for the customization item. This is used in the editor UI. |
| Description | | (Optional) Description of the customization item. |
| Author | | (Optional) Name of the creator of the customization item. |
| ConfigurationDescription | | (Optional) Description of how to use the configuration. This is specifically usefull if the attributes are dynamic. (Not applicable for Callout) |
| ConfigurationParameters | | (Optional) Sample or default configuration section for the control. Specifying this section will prefill the attributes of the custom control with these values allowing the administrator to easily configure this control. (Not applicable for Callout) |
| Configuration | | Root element of the configuration parameters. This is the root of the configuration passed to custom controls. |
| Attributes | | |
| Attribute | | A single configuration parameter |
| Name | Name of the parameter |
| Value | | This element contains the literal value of the parameter |
EditCustomization File
The customization file itself is a zip file which contains the manifest and all required files. The customization file may only contain the manifest file and the files which are described in the Files section of the manifest. If additional files are present in the file or files are missing the customization file will be rejected by the server when it is uploaded.
The customization file may contain folders, files located in folders must specify their relative path in the manifest. Folders are automatically created on the client if required.
Customization assemblies and their dependencies must be placed in the root folder otherwise these cannot be loaded by the client. For other files it is recommended to place these in a solution/author specific folder, this will avoid naming conflicts.
System files are protected from overwrite by customizations. If a package contains a file which is part of the client application the package cannot be uploaded.
EditSpecial Locations
Images which can be used by the client as icons for (custom)entities can be uploaded using the special Icons file type or may be contained inside a customization file.
To ensure icons will be used by the client these icons must be placed inside the images folder, be a valid GIF-file and name using the following format:
ico_16_[entityname].gif.
See Also