Table of Contents
I Introduction (Back to Table of Contents)
Coresuite uses sip files to install/update standard and custom modules in existing Coresuite installations. In addition, sip files can also be used to efficiently import/update Coresuite Customize Optimizer Rules and Coresuite Designer Print-and Layoutdefinitions including their Datasources (Query based) and TextCodes.
The sip info file (sipinfo.xml) contains useful metadata of a sip. This data facilitates the sip installation.
Coresystems had recently extended the functionality of the sip info file (sipinfo.xml v2.0) as outlined in this FAQ.
A. Why is it helpful to have a sip info file (sipinfo.xml)? (Back to Table of Contents)
The sip info file (sipinfo.xml) contains useful metadata of a sip.
Including this metadata instead of having to analyse all files in a sip, results in the following advantages when importing, installing, updating and loading a module/sip:
- Speed up time required to load modules.
- Avoid unnecessary probing of files and loading of dlls (e.g. only load required dlls).
- Write accurate sip data to the database (e.g. version handling).
- Determine if dependencies exist and/or version requirements are met before installing a sip.
- Efficiently handle a distinction between module (standard or custom modules) and content (Coresuite Customize Rules, Coresuite Service Rules and Coresuite Designer Print-and Layoutdefinitions) sips.
- Provide additional (error/warning) message handling during import and installation of sips hence enabling the Support Team to speed up issue processing.
B. Is the sip info file (sipinfo.xml) mandatory? (Back to Table of Contents)
The sip info file (sipinfo.xml) is not yet mandatory, but this is subject to change in the future.
We are aware that a lot of sips already exist, and it would be a challenge for anybody to update all of them in order to conform with the new changes. Therefore, Coresuite will continue accommodating the import and installation of any sip no matter if they contain a (valid) sip info file or not.
C. What happens with sips that do not include a (valid) sip info file (sipinfo.xml)? (Back to Table of Contents)
You can continue using sips without a (valid) sip info file (sipinfo.xml); however, we have introduced a mechanism to detect such sips.
Whenever Coresuite detects a sip without a (valid) sip info file (sipinfo.xml), a warning will be shown reminding you to include, respectively to update the sip info file (sipinfo.xml) with its next release.
Coresuite will still install and load the sip. An internal procedure will ensure that the loading process will be improved upon the next start of the addon.
II Detailed Information about the sipinfo file (sipinfo.xml) schema (Back to Table of Contents)
The following picture displays the sipinfo file (sipinfo.xml) of Coresuite Customize:
This table lists and explains the elements of sipinfo file (sipinfo.xml):
|<?xml version="1.0"encoding="UTF-16"?>||The sip info file must always start with this tag to avoid parsing issues.|
This is the main element containing all of the xml data.
The version attribute must be set to "2.0" so that the most recent features can be identified.
This tag should contain a unique identifier for your module.
The value must not conflict with other modules.
This tag should contain the friendly name of your sip.
If left blank, the filename of the sip is used instead.
This tag identifies the full version of a sip and together with the <guid> tag facilitates the upgrade of a sip to higher versions.
The following must be used for this flag: X.XXYYZZA where:
By using this format
This completely optional tag can be used to provide a link to the Changelog.
This link is then available in Coresuite Administration->Sip management for any downloaded but not yet installed sip version.
This completely optional tag be used to provide a link to product information.
This link is then available in Coresuite Administration->Global module configuration for the installed sip.
If a sip contains a module, this tag is used to indicate which assembly/dll contains the IModule implementation.
If left blank, Coresuite will try to determine the correct assembly/dll and save its name for future use. You will be prompted to restart Coresuite to complete this process.
This tag is used to indicate the class of the assembly/dll which implements the IModule.
The name should be the fully qualified name of the class: namespace + class name.
This tag is used to identify the type of sip:
If left blank, Coresuite will try to determine if the sip contains a module or not and save this information for future use. You will be prompted to restart Coresuite to complete this process.
This completely optional tag and its children tags can be used to set dependencies to other sips.
If used, the sip can only be installed when the dependencies are fulfilled.
All items marked* were introduced with sip info file (sipinfo.xml v2.0).
III How to include a sip info file in your custom sips (Back to Table of Contents)
This example shows how to create a sip of type content to distribute Coresuite Customize Optimizer Rules across Databases.
- Create a folder (named e.g. My Customize Rules sip) with a subfolder named COR_Customize (mandatory) and another with a subfolder named COCU (mandatory) within the COR_Customize folder.
- Export your required Coresuite Customize Optimizer Rule(s) to the COCU folder.
- Open and modify the exported COCU file by increasing the version number and apply small modifications.
- Create your sipinfo.xml and save it to your folder (here: My Customize Rules sip).
- Compress the content of your folder (here: My Customize Rules sip).
- Change the extension of the compressed file from zip to sip.
- Import and install your newly created sip into the same Database.
- Go to the Coresuite Customize Optimizer Rules that you previously modified in the COCU file and verify that the rule(s) in the Database is now updated.
- Import and install your newly created sip into any Database.
- Go to Coresuite Customize Optimizer and verify that the rule(s) are imported successfully.