ITK Programmer's Guide


 

Table of contents | Intro | General | TCP Low Level | TCP High Level | UDP | DNS | PPP
Encoding/Decoding | Internet Config | Goodies | Cryptography & SSL | Appendix

 

Chapter 1 : Installing ITK

   

   

Chapter contents:


About this chapter...

This chapter describes the installation of Internet ToolKit, some tips and registration information.


Installing ITK


ITK v3.5 requires 4D v11 SQL or higher. 
This single Bundle version will work with MacOS and Windows deployments (you don’t need a separate MacOS and Windows version).
ITK 3.5 is compatible with MacOS X 10.9 Mavericks.
1 — Locate the folder where ITK has been installed on your computer.
2 — Locate the 4th Dimension structure where you wish to install the ITK plug-in.
3 — If you don’t already have a directory labeled “Plugins”, create one now.
4 — Copy the following plug-in to your applications Plugins folder: itk.bundle.

Tips for using ITK


Asynchronous vs. synchronous

In order to get the best performances with ITK, here are the rules we followed while implementing ITK:
- ITK routines tries to let 4D's multiprocessing work as fast as possible by calling 4D's Idle entry point when needed,
- all TCP/IP layers are called asynchronously to get the best performances.

Default values

Any missing parameter is considered equal to 0 for numeric data or empty string for string or text data (this is automatically handled by 4D and its Compiler).

Ex: ITK_TCPSend($c) equals ITK_TCPSend($c;"";0)

Multihoming

Multihoming is supported in ITK on MacOS.

Some routines like ITK_TCPOpen, ITK_TCPListen and ITK_TCPStrmInfo have some parameters to support multihoming.

ITK_TCPOpen has a parameter used to specify the local IP address of the stream.

ITK_TCPListen has a parameter to restrict listening on a specific local IP address.
By default, ITK_TCPListen listens on all local IP addresses.

ITK_TCPStrmInfo returns the local IP address of a connected stream.


Registration


Demonstration mode

ITK requires a registration number to “unlock” the product making it a full working version.
Without the serial number, ITK will operate in demonstration mode during 20 minutes.
The demonstration mode dialog includes "Copy" and "eMail" buttons. Use either one to send us the serialization information that we need to generate your license.

Registration (programming)

Call  ITK_Init command in the On Startup method.

Registration (end user)

Alternately to ITK_Init you can register ITK without modifying your database code.
The demonstration mode dialog also includes a "Register" button. Once you receive your license, click on this button and enter / paste it. You're all set. The "ITK3.license4Dplugin" license document will be created or updated in your 4D license folder with your registration key and ITK will be registered.
This feature is not available for unlimited and e-Node Partner license types.

License types


Like all e-Node plug-ins, ITK offers several license types. There are no such things as MacOS vs Windows or Development vs Deployment

Single user license

This license allows development (interpreted mode) or deployment (interpreted or compiled mode, except merged) on 4D Standalone or 4D SQL Desktop.
Since the registration key is linked to a specific 4D license, you need to provide the number returned by the "Copy" or "eMail" buttons from the plugin demonstration mode alert (this number is actually the 4D command GET SERIAL INFORMATION first parameter).
A new license will be supplied for free at any time if you change your 4D version and / or get a new 4D registration key, provided that your previous licenses match the current public version at the exchange time.

Server licenses

These licenses allow development (interpreted mode) or deployment (interpreted or compiled mode, except merged servers) on 4D Server with up to 10 users ("small server"), 11 to 20 users ("medium server") or more ("large server").
The registration key is linked to your 4D Server license just as above.
The Server upsize item means switching from a Small server to a Medium server, or from a Medium server to a Large server.

Merged licenses

These licenses are designed for single user compiled/merged applications built with 4D Volume Desktop (one license per workstation) or for merged server and related client applications (one license per server).
They are linked to the machine ID (server or single user workstation), not the 4D serial number.

Unlimited Single User

This license allows development (interpreted mode) or deployment (interpreted or compiled mode, including merged) on any number of single user 4D application(s). This is a yearly license, which expires after the date when it is to be renewed.
The expiration only affects interpreted mode. Compiled applications using an obsolete license will never expire.

Unlimited OEM

This license allows development (interpreted mode) or deployment (interpreted or compiled mode, including merged) on any number of 4D Servers (any number of users), 4D Standalone, 4D SQL Desktop or merged copies that run your 4D application(s). This is a yearly license, which expires after the date when it is to be renewed.
The expiration only affects interpreted mode. Compiled applications using an obsolete license will never expire.

e-Node Partner License

This license matches 4D's annual Partner subscription and covers AreaList Pro, SuperReport Pro, PrintList Pro, CalendarSet and Internet Toolkit.
For each product, a single registration key allows development (interpreted mode) or deployment (interpreted or compiled mode, except merged) on all 4D Standalones and 4D Servers (2 users) provided by your 4D Partner license. No merged applications.
This is a yearly license, which expires on February 1st (same date as your 4D Partner licenses).
The expiration only affects interpreted mode. Compiled applications using an obsolete license will never expire.


e-Node/19 February 2014