IDlogo_small_whiteback.jpg (10546 bytes)           Reference
Manual
splice text.gif (11130 bytes)
WebWiresGreen.gif WebWiresTwist.jpg (6587 bytes) WebWiresBlue.gif

 

    This purpose of this document is to inform the reader about the available settings and utilities of Splice and it's Modules. It is neither a tutorial nor an overview of this information. It is instead an in-depth view of specific components and configurations. Please read the User's Guide for a more general overview of Splice.

WebWiresGreen.gif WebWiresTwist.jpg (6587 bytes) WebWiresBlue.gif

Module Reference

    Splice is structured around three different kinds of modules. Each varies in its function and configuration, however all three share a single configuration setting called LocalManualOverride. This specifies whether or not to act in automatic mode for this module only. A non-automated mode may be achieved for all modules simultaneously by setting the ManualOverride Flag in the registry.

Transport Module
   The Transport Module type is composed of three layers each of which has a separate duty. The Protocol Layer is at the lowest level and is responsible for transferring data to and from the outside world. The Format Layer is the liaison between the first and the third layers and is responsible for to formatting the data passing through it, into the needed form of the other layers. The Caste Layer is the final layer, whose responsibility is to store data locally. All three of these must be defined in the configuration file as well as the Transmitter setting, which tells the module if its primary function is to send or receive data. After the standard Transport settings are defined, the individual settings must also be placed in the files. The only exception being the Caste settings, which must be placed in the registry as described below.

Conversion Module
   This module type is still being written and does not have any configuration settings as of yet.

AddOn Module
   The AddOn Module type is actually a freeform module that is built from the ground up to serve a specific purpose. Because of this, there is only one standard setting, AddOnType. All other configuration settings are specific to the particular AddOn Module.

WebWiresGreen.gif WebWiresTwist.jpg (6587 bytes) WebWiresBlue.gif

Configuration Reference

    The following is a listing of all the possible settings for each of the modules. Those that are to be placed in a configuration (INI) file must use the following format:

            [UniqueModuleName]
            VariableName=value
            VariableName=value
            VariableName=value
            VariableName=value

    The VariableNames are case sensitive and no spaces should be placed before or after the equal sign. Only one VariableName/Value pair per line and any repeated variables will use the last encountered value. 

General Registry Settings:

    These settings should be located in the registry at:
          /HKEY_LOCAL_MACHINE/Software/Interface Dynamics/Splice/

ClientName { up to 256 characters } //description or name of institution or department
ManualOverride { 1 | 0 } //disable automatic-mode for ALL the modules    default=0

Module Specific Registry Settings:

    These settings should be located in the registry at:
          /HKEY_LOCAL_MACHINE/Software/Interface Dynamics/Splice/History/UniqueModuleName/

ModuleType {1 - 3} *Required* // 1=Transport, 2=Conversion(Not yet Implemented), 3=AddOn
IniFile { valid path of the configuration file } *Required*
FileLoggingOn { 1 | 0 } //records EVENT information to the log file    default=0

Module Specific INI Settings:
LocalManualOverride { 1 | 0 } //disable automatic-mode for the current module    default=0

Transport Specific INI Settings:
Protocol { TcpipServer | TcpipClient | FtpClient | SmtpClient }
Format { StreamFormat | LengthBasedStreamFormat | File_xFormat | RFC822_Format }
CasteName { ADT_Caste.dll | Charge_Caste.dll | EuroSMS_Caste.dll | FileName_Caste.dll | eMail_Caste.dll }
Transmitter { 1 | 0 } //is the primary function of this transport to send or receive

Transport Protocols:

TcpipServer
PortNum {0 - 65535} *Required* //the port number to run the server on

TcpipClient
HostName { any reachable TCP/IP Server } *Required* // can be an IP address or a Server name
PortNum {0 - 65535} *Required* //the port number of the server to connect to

FtpClient
HostName { any reachable FTP Server } *Required* // can be an IP address or a Server name
PortNum {0 - 65535} //the port number of the server to connect to     default=21
PathName { initial path on FTP Server ) //the path will be set immediately after login
User { any FTP login } //default = anonymous
Password { matching password for login }
SiteCommand { any valid SITE command } //will be executed after every successful file uploaded
               // %f=name of file just transferred, %%=inline %
SendFileType { 0 } //Reserved for future use. MUST BE 0    default=0
IsAscii { 1 | 0 } // 0=Binary, 1=ASCII     default=1
IsPassive { 1 | 0 } // 0=Active Mode, 1=Passive Mode     default=0

SmtpClient
HostName { any reachable SMTP Server } *Required* // can be an IP address or a Server name
LocalDomain { your domain } *Required* // does not have to be your actual or even a real domain
LocalAddress { your return address } *Required* // does not have to be your actual or even a real email address


Transport Formats:

StreamFormat
AckMode {0 - 3} *Required* // 0=no ack, 1=file ack w/control file, 2=file ack w/o control file 3=skeleton ack
AckData { depends on AckMode } //if AckMode={0} Not Used,
            //if AckMode={1,2} the path and filename of the ack file,
            //if AckMode={3} the ack to send

NakData { depends on AckMode } //if AckMode={0} Not Used,
            //if AckMode={1,2} the path and filename of the nak file,
            //if AckMode={3} the nak to send

StartCharacter { any single character } //the character that is used to denote a StartOfMessage
EndCharacter = { any single character } //the character that is used to denote a EndOfMessage
Delimiter = { any single character } //the character that is used to denote a EndOfRecord
AppendDelimiterToEnd { 1 | 0 } //adds a Delimiter to the message after receiving or sending an EndCharacter

LengthBasedStreamFormat
AckMode {0 - 3} *Required* // 0=no ack, 1=file ack w/control file, 2=file ack w/o control file 3=skeleton ack
AckData { depends on AckMode } //if AckMode={0} Not Used,
            //if AckMode={1,2} the path and filename of the ack file,
            //if AckMode={3} the ack to send

NakData { depends on AckMode } //if AckMode={0} Not Used,
            //if AckMode={1,2} the path and filename of the nak file,
            //if AckMode={3} the nak to send

StartCharacter { any single character } //the character that is used to denote a StartOfMessage
LengthPosition { PositionStart - PositionEnd } *Required* //denotes where in the message the length indicator is located
Delimiter = { any single character }  //the character that is used to denote a EndOfRecord
AppendDelimiterToEnd { 1 | 0 }  //adds a Delimiter to the message after receiving or sending an EndCharacter     default=1
MessageTimeOut { number of seconds } // time in seconds before an incomplete message is considered bad    default=10

File_xFormat
//No Settings

RFC822_Format
RequeueOnFailedSend { 1 | 0 } // 1=try to resend message if it fails, 0=don't try a resend    default=1

AddOn Specific INI Settings:
AddOnType {AppControllerAppMonitor }

AppController
ExeDirectory { path of executable } *Required* //must include drive letter and NO ending '\'
ExeFileName { name of executable } *Required*
CheckFileDirectory { path of status file } *Required* //must include drive letter and NO ending '\'
CheckFileName { name of executable } *Required* //plain text single line file to display information inside of splice
CommandLine { command line string }
WorkingDirectory { path the app will run in } //must include drive letter and NO ending '\'
StartState { Min, Max, Normal, Hidden } //default=Normal
TitleBar { 256 characters required to match the app's title bar } //case sensitive exact matching
MenuCommand { menu command to execute in app once its started } //case sensitive exact matching, separate submenu's with a '\'
Xpos { position of left of app window in pixels } // -1=application default    default=-1
Ypos { position of top of app window in pixels } // -1=application default    default=-1
Width { width of app window in pixels } // -1=application default    default=-1
Height { height of app window in pixels } // -1=application default    default=-1
IconIndex { zero-based index of icon to display }
CloseOnExit { 1 | 0 } //close the application when the module is closed     default=1
CloseMDIChildren { 1 | 0 } //close the applications child MDI widows when the app is closed     default=0
LocalEnviromentSize { size of local environment }
BEGIN_LOCAL_ENVIROMENT //start block for local environment settings
END_LOCAL_ENVIROMENT //end block for local environment settings

AppMonitor
FileDirectory { path of executable } //must include drive letter and NO ending '\'
File { name of executable } *Required*

AppTitle { 256 characters required to match the app's title bar } *Required* //case sensitive exact matching

Caste Specific Module Nested Registry Settings:

Since a single  Caste can be run on multiple Transports, the settings must be nested under a specific module in the registry. The location of these settings after the module has been created and destroyed once is:
          /HKEY_LOCAL_MACHINE/Software/Interface Dynamics/Splice/History/UniqueModuleName/CasteName/

ADT_Caste.dll
MessageDir { path to recv messages in } //default=C:\SOCKMSG

Charge_Caste.dll
MessageDir { path to send messages from } //default=C:\SOCKMSG

EuroSMS_Caste.dll
MessageDir { path to recv messages in } //default=C:\SOCKMSG

FileName_Caste.dll
MessageDir { path to send files from } //default=C:\FTmsg

eMail_Caste.dll
MessageDir { path to send emails from } //default=C:\MAILmsg

WebWiresGreen.gif WebWiresTwist.jpg (6587 bytes) WebWiresBlue.gif

Copyright 2000 © Interface Dynamics, Inc.  -  All Rights Reserved.
The InterfaceDynamics Logo, Splice™, and it's Logo are trademarks of Interface Dynamics, Inc.