How to create a SIP Info file for your own modules

Introduction

The sip info file is a "manifest" that includes information about a SIP/Module. This information is used at the time of installation and ensures the correct installation of the sip.

While it was not mandatory in the past to include this file with your SIP, it is now required to be included.

How to guide

The name of the file must be "sipinfo.xml" and it needs to be placed in the root folder of a sip file. 

Version 1

Example of "sipinfo.xml" version 1 file:

<?xml version="1.0" encoding="UTF-16"?>
<sip>
  <guid>SWA_CT</guid>
  <name>coresuite time</name>
  <version>6.9011071</version>
  <changeloglink>http://coresystems.ch/en/support/releasenotes/</changeloglink>
  <web>http://time.coresuite.ch/</web>
  <dependencies>
    <dependency>
      <guid>coresuiteFramework</guid>
      <minversion>6.80</minversion>
  </dependency>
<dependency>
      <guid>SWA_LD</guid>
      <minversion>4.000000</minversion>
    </dependency>
  </dependencies>
</sip>


Description of parameters in xml file:

Sip Tag

The sip tag is the root tag of the sip info file. It should contain all other tags and there should only be one sip tag in the sip info file.

Guid

The guid tag should contain an unique identifier for your module. The value should not conflict with other modules.

Name

The name tag should contain the friendly name of your module.

Version

The version tag should contain the version of the module in a decimal format.

The change log link should contain the address of the change log.

 

Version 2

Extends the version 1 to accommodate some changes in the loading mechanism we require some changes to the SIP info file provided with a given SIP.
Namely the sip info file will now specify its version and will include two new tags.

Version Attribute

The version attribute is used to specify which is the version the sip info file. The absence of this attribute will be considered as version 1.

For a version 2 sip info file your sip tag should look like this:

<sip version="2.0"></sip>

AssemblyName

Within this tag you should indicate which assembly contains the IModule implementation of your module.
As an example if your module creates a DLL named MyModule.dll, the tag should look like this:

<assemblyName>MyModule</assemblyName>

TypeName

Within this tag you should indicate which class implements IModule.
The name provided should be the fully qualified name of the class: namespace + class name.

e.g.:

namespace MyCompany
{
public class MyModule : IModule
{
// your implementation
}
}


Your type name tag should look like this:

<typeName>MyCompany.MyModule</typeName>

 

Example of "sipinfo.xml" version 2 file:

<?xml version="1.0" encoding="UTF-16"?>
<sip version="2.0">
  <guid>SWA_CT</guid>
  <name>coresuite time</name>
  <version>6.9011071</version>
  <changeloglink>http://coresystems.ch/en/support/releasenotes/</changeloglink>
  <web>http://time.coresuite.ch/</web>
  <assemblyName>SWA_CT_SAP</assemblyName>
  <typeName>SWA_CT_SAP.SWA_CT_Start</typeName>
  <dependencies>
    <dependency>
      <guid>coresuiteFramework</guid>
     <minversion>6.80</minversion>
  </dependency>
<dependency>
      <guid>SWA_LD</guid>
      <minversion>4.000000</minversion>
    </dependency>
  </dependencies>
</sip>

 

Sample file
Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request

Comments

0 comments

Article is closed for comments.