Image CWR Mobility Wiki
This page is a Draft, its content is not complete and might contain errors.

This article applies to:
  • CWR Mobile CRM 4.1/4.2

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.

Edit

Manifest

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>

NodeAttributeDescription
ManifestRoot node of the file
xmlnsNamespace for the manifest xml file
MinVersion(Optional) Minimal version of the CWR Mobile CRM installation on which this package can run
NameA display name for the packages. Used in the customization files list on the server.
FilesRoot node for the package files
FileA file contained in the package
FilenameName 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.
ItemsContainer for the customization item definition.
Callout,
CustomControl,
SitemapExtension,
ViewExtension
Definition of a class containing the specified type of customizations.
ClassClass name including the namespace. A single class name can be specified multiple times for different customization types.
NameDisplay 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)
ConfigurationRoot element of the configuration parameters. This is the root of the configuration passed to custom controls.
Attributes
AttributeA single configuration parameter
NameName of the parameter
ValueThis element contains the literal value of the parameter

Edit

Customization 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.

Edit

Special 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

ScrewTurn Wiki version 2.0.35. This Wiki contains 64 pages.