Internet ToolKit for 4D - FAQ
You can find the latest version of this document here:
specific FAQ is also available.
What is "Internet ToolKit for 4D" (ITK) ?
ITK is "4D's Internet Extension".
It is a complete set of routines that can be used in all
4D products (4D, 4D SDK, 4D Server/4D Client, 4D First)
that allows 4D developers to add internet functionnality
into their 4D developments without the need of other
What are the main features of ITK ?
ITK gives the developpers easy access to the following
- access to low-level
TCP/IP using MacTCP, OpenTransport or
- high-level TCP/IP
routines to send and receive files or pictures,
- secured connections using SSL
- access to low-level
- access to DNS (name
to IP and IP to name, with DNS load balancing),
- access to Internet
- utility features to convert text to or from
URL encoding and
- file encoding using MacBinary
- picture (JPEG
and GIF) support including GIF
encoding with interlace, transparency and
- some goodies like
StopWatch routines and inter process communication
- standard cryptography
algorithms to protect your data and interact with
cryptography secured servers or clients,
- data compression to optimize bandwidth use (like
- ready-to-use examples for SMTP, POP3, HTTP...
What can I do with ITK ?
Here are some things you can do with ITK:
- send and receive eMail using with SMTP/POP3
or make your own SMTP/POP3 server,
- listserv/majordomo-like mailing lists using
your ITK based eMail server or any email server,
- newsgroup client and server using
- file transfers client and server using
- fast and efficient WWW server with or
without using any other HTTP servers (see
our demo server):
- database access,
- dynamic hypertext document generation,
- realtime generated graphics (realtime generated
charts or pictures, etc), (see some demo)
- and much more...
- build your own non standard protocol to fit your
needs (for example: data synchronization).
You can also combine all this to create new kind of
Do I need to write my own web server myself ?
You don't have to write your own web server from scratch
because several Web (HTTP) implementations have already
been written using ITK.
Here is a small list of Web implementations based on
- ITK Example database (available with the
ITK evaluation disk)
This is a very basic HTTP implementation which can
help you understand own HTTP works.
- ITK ACME Demo database
This implementations shows how to add search and
add capabilities to a 4D database.
It contains an optimized HTTP engine, with keep-alive
support and user authentication.
- DataWave from Foresight
This commercial product allows you to add Web
capabilities to any 4D database in a couple of minutes
without any 4D coding.
DataWave comes as a 4D Insider library which you just
drop onto your existing 4D database.
- Web Server 4D Developer Edition from
This product is an open source implementation which
has a lot of features.
How do I use ITK in my 4D databases ?
Internet ToolKit is a 4D External Package that can be
directly used by your 4D database.
You need 4D v3.2.5 (or 4Dv5.5.2) or above to use
ITK (see below).
What is the pricing of ITK ?
See ITK's Pricing
for more details.
You can order ITK from your local distributor (see the
list of distributors)
or from AJAR
SA for all other countries .
You can also purchase
ITK online thru Kagi's online order service.You will
receive your license number by email (be sure to give a
valid email address) and by postal mail if requested.
Is ITK copy protected ?
No, there is no copy protection in ITK.
ITK is only protected by its license number.
Is there a demo version of ITK ?
ITK is an "auto-demo", which means that it runs in
demo mode until you enter its license number.
In demo mode, ITK is fully functionnal during 30 minutes.
Is there a Windows version of ITK ?
The Windows version of Internet ToolKit supports
Windows 95, Windows 98 and Windows NT. There is no plan
to support previous versions of Windows (like Windows
Most of ITK based applications can migrate to Windows
and vice-versa seamlessly.
What about ITK and multihoming ?
ITK support multihoming under Windows NT and MacOS 8.1
Some routines like ITK_TCPOpen, ITK_TCPListen and
ITK_TCPStrmInfo have been enhanced to take advantage of
What about Internet ToolKit and OpenTransport ?
OpenTransport users should upgrade to version 1.1.1
which fixes most bugs found in previous version of
Internet ToolKit (v1.0.4 and above) is OpenTransport
This version of ITK will allow you to test if your code
is running under MacTCP or OpenTransport (check ITK_TCPInfos
routine in ITK Programmer's Guide).
Internet ToolKit version 2 and above is
This provides better performances and removes limitations
due to MacTCP or OpenTransport's MacTCP compatibility
layer (like the number of streams). This also allows
ITKv2 to support multihoming under OpenTransport 1.3 and
What kind of support do I get with ITK ?
and so on are available through the Internet using our
WWW, Listserv, FTP and eMail servers.
What version of 4D do I need to use ITK ?
You must use 4D x.2.5 (3.2.5 international or 5.2.5
french) or above to use ITK because ITK is a new style 4D
external package that goes in the "MAC4DX" folder (see
4D/4D Server addendum for more informations about the
ITK is fully compatible with 4Dv6 since version 1.1.6.
How do I install ITK ? I've not been able to open it
with 4D External Mover !
As ITK is a new style 4D external package, you do not
need 4D External Mover to install ITK in your 4D
database. Just drag ITK icon or an alias of ITK icon in
the MAC4DX (or WIN4DX) folder used by 4D to store the new
Is there a mailing list related to ITK ?
You can get more info on
these mailing lists on ITK's web server.
Is there a more technical FAQ?
Yes, our Programmer's
FAQ is available.
Is Internet ToolKit year 2000 compliant ?
Yes, see ITK's Y2K Info
page for more details.
Is Internet ToolKit MacOS X compatible ?
Yes, ITK is compatible with MacOS X when
running in the "classic" mode.
A future version of ITK will run natively under MacOS
X (under "Carbon") shortly after a "carbon" version of
4th Dimension will be available.