Customization Manager Usage
Tuesday, December 29, 2009

Customization Manager Usage

Explains the features of the customization manager and how to use these.

Arguments

The customization manager is a command line application which can operate in two modes: Split or Assemble.

Split a file

This will explode the customization XML file into separate versionable files.

CustomizationManager.exe -s -f [filename] -d [folder]

Required arguments:

  • filename: path to the customization file, this can be the xml or zip file.
  • folder: path to the destination folder.

Optional Arguments:

Excluding files/folders from deletion

  • -xd [patern] [patern] ...
    Excludes the specified folders from deletion.
  • -xf [patern] [patern] ...
    Excludes the specified files from deletion.
  • -dm [Mode]
    Specified the method to use when deleting folders:
    • Delete (default): Recursivly deletes the directory and all files.
    • Leave: takes no action.
    • Files: deletes all files in the (sub)directories.
    • Mark: as files but also adds a file ".delete" to the deleted directory.

The specified paterns are .NET regular expression, multiple paterns can be specified. Each file or folder which is matched against the specified paterns and deleted if no match is found.
Deleting directories depends on the specified mode. Delete does not check the exclusion and will delete all subordinate files and diretories. Mark and Files will only delete files not matching the excluded files and for exclude directories no subordinate files or directories are deleted.

Example:

  • To exactly match a filename specify -xf "^MyFile.txt$"
  • For use with subversion use: -xd "^\.svn" -dm Mark. This will leave the .svn folders intact and place a marker file in deleted directories.
    Note that if a .svn folder is detected in the root of the destionation folder the mode will automatically be switched to Mark and .svn folders will be excluded.

Re-assembling a file:

This will package an exploded folder back to a single customization XML file.

Changes in files or adding new files to the exploded folder structure may impact the assembly process. It is not recomended to do this. For example adding a new Attribute.*.xml file will cause this attribute to be included in the resulting customization file, adding an icon will not automatically include it.

CustomizationManager.exe -a -f [filename] -d [folder]

Required arguments:

  • filename: path to the target customization xml file
  • folder: path to the source folder

Split items

The following file structure will be generated

FileDescription
/CustomizationsHeader.xmlContains the headers for the customization File.
/ISV.ConfigThe ISV.config file.
/Sitemap.config.xmlThe Sitemap.
/Languages.xmlContains the languages included in the customization file.
/OrganizationSettings.xmlContains all organization settings.
/Entities/[Entity]/Entity.xmlContains the EntityInfo Header for the entity and stubs for some elements.
/Entities/[Entity]/Attribute.[Attribute].xmlContains the definition of an attribute.
/Entities/[Entity]/Form.Preview.xmlContains the preview form.
/Entities/[Entity]/Form.Main.xmlContains the main form excluding the javascripts.
/Entities/[Entity]/
Form.Script.onchange.[field].js
Contains the javascript for the onchange event of the specified field.
/Entities/[Entity]/Form.Script.[event].jsContains the onload/onsave scripts for the form.
/Entities/[Entity]/View.[Name].xmlContains the a view. The name can be AdvancedFind, Associated, Lookup, QuickFind or the GUID of the view.
/Entities/[Entity]/Strings.xmlContains the strings (used by standard entities).
/Entities/[Entity]/
Icon.OutlookShortcutIcon.ico
Icon used by the outlook client.
/Entities/[Entity]/Icon.[Type].gifThe large and small icons used in the CRM forms.
/Roles/[Role].xmlA single CRM role. NB: the privileges in this file are allways sorted alphabetically.
/Workflows/[Workflow].xmlA workflow.
/Templates/KBArticleTemplates/[KBArticleTemplate].xmlTemplate for a knowledge base article.
/Templates/EmailTemplates/[EmailTemplate].xmlTemplate for an email.
/Templates/ContractTemplates/[ContractTemplate].xmlTemplate for a contract.
/Templates/MailMergeTemplates/[MailMergeTemplate].xmlTemplate for a word mail merge.
/EntityMaps/[source].[target].xmlContains the mapping between the source and target entities.
/RelationShips/[Relation].xmlContains a relation between two entities.
/RelationshipRoles/[Role].xmlContains a relationship role definition

News

Customization Manager Usage
Tuesday, December 29, 2009
Explains the features of the customization manager and how to use these