Version 36 of Tcl/Tk Tclet Plugin

Updated 2004-03-08 07:28:10

Scott Gamon - The Tcl Plugin is a browser plugin that allows you to run Tcl/TK scripts in a browser window, similar to Java applets and Flash. Work on the plugin was funded by Sun, and later Scriptics, during the 1990s. The last official version was 2.0, released in 1999, which supports Tcl 8.0.

By 2002, Microsoft had officially withdrawn support for the Netscape Plugin API, and the Tcl Plugin was languishing without updates. However, rumors of the plugin's death were greatly exagerated. The plugin continues to work with both Mozilla 1.x and IE 5.5+ on Windows.

Plugin v3.0a1

ActiveState's Jeff Hobbes revived work on the plug-in in 2003, revving it to Tcl 8.4. Sadly, this is not part of ActiveState Tcl, so binaries are not readily available. However, the source is available at Sourceforge[L1 ], under the usual Tcl license.

Binaries of the plugin are distributed with ActiveState's Tcl Dev Kit. For the many without that, Keiichi Takahashi maintains free binaries[L2 ] and nice installers for Windows and Linux.

Plugin v3.0a1 works with all versions of Mozilla on Windows and Linux, and all versions of IE on Windows. Reportedly, it does not work with Mozilla 1.5 on SPARC Solaris.

Samples

After installing the plugin, try the many examples at http://www.tcl.tk/software/plugin/applets.html .

More examples are listed on this wiki page of Tclet demos.

Other examples may be found in the Tclet List.

Documentation

Chris Baron wrote an introductory article on the plugin for WebTechniques in 1997[L3 ].

A complete manual is maintained at http://purl.org/tcl/home/software/plugin/man/ .

From BOOK Tcl/Tk For Programmers, find chapters on the Browser Plugin at http://www.Mapfree.com/sbf/tcl/book/select/Html/21.html .

BOOK Practical Programming in Tcl and Tk, devotes a chapter to the plugin.

For all its faults, BOOK Tcl/Tk for Dummies focuses on using the plugin as a programming environment.

BOOK Web TCL Complete has a long, detailed chapter on the plugin.

BOOK Web Development with TCL/TK 8.1 also writes about writing tclets for the plugin.

At this time, you should definitely use v3.0a1. The remainder of this page is mostly of historical interest.


What impact on the Tcl plugin will the Eolas patent have?

Scott Gamon - IMO, none. It will be years more before a final legal decision is reached. In the event that Eolas actually does prevail, there may be a simple hack to route around the patent.

The initial jury decision went against Microsoft, but as we all know by now, that is just the opening round in a long line of appeals. Meanwhile, the web community snapped to attention, suddenly realizing how crappy this patent could make life in the browser. Ray Ozzie and Tim Berners-Lee suddenly discovered their own prior art. The Patent Office suddenly decided to re-review the patent. Last week, they rejected it, but that is just the start of a separate endless legal process.

Shortly after the jury decision, Microsoft posted a page of instructions for how to work-around the patent. Essentially, the idea was to call in an external javascript file that used the document.write command to write the plug-in object tag. Microsoft has subsequently removed that page, which might or might not mean something, given the general state of the Microsoft site.


The Tcl/Tk Plugin was designed during the early rage of browser plugins. Jeff Hobbs did the original Tcl plugin implementation following a visit to the Tcl group that was then at SunLabs, and Jacob Levy (part of that group) was the original implementer of the Tcl/Tk plugin. It has been maintained up through v8.0 of Tcl/Tk, for Netscape v3 and up, and Internet Explorer.

JH: This page requires updating. There is an updated version of the plugin that comes with ActiveState Tcl Dev Kit, with the sources at http://tclplugin.sf.net/ . It works with IE 4+ (including IE 6) and any Netscape Plugin API compatible browser (Mozilla, Opera, ...).


New work is going on with the code at the http://tclplugin.sf.net/ - if you make use of the CVS repository there you can track developments. A mailing list at that site is available for people who want to participate in development and testing.

IE 5.5 SP2 has removed support for Netscape plugins altogether, meaning that from this version on, plugin authors are going to need to devise a separate delivery mechanism for IE than for all the rest of the web browsers which support the Netscape model.

(Apparently the removal was not one that really "removed support...altogether." See this page [L4 ] for help in re-enabling support for specific MIME types, which might be helpful for tclets. 10-10-2002 escargo)

An ActiveX plugin was develeoped by Gary Lee and is at http://www.ecosine.com.tw/~garylee/ . Unfortunately, this is very platform specific (Windows only).

After installing the Tcl/Tk plugin, one could then write what became known as tclets, or small tcl/tk programs, in their html page and these would be passed on and interpreted by the plugin.

Precompiled binaries of the plugin are distributed with ActiveState's Tcl Dev Kit.


A complete manual is maintained at http://purl.org/tcl/home/software/plugin/man/ , and there is continuing community interest in this strong alternative to Java for embedded programming.

http://purl.org/tcl/home/software/plugin/ is an older site that gives download and other links, but the sourceforge address is the preferred location. Bruce Gingery has a tclet for which the primary purpose is displaying its own content in pseudo- multiple menu'd windows, which, in turn, is written dynamically with its embedding web page from a TCL CGI script at http://gtcs.com/cgi-bin/tclet2 .

http://heasarc.gsfc.nasa.gov/Tools/maki/plugin/ is an updated version of the Tcl plugin. Unfortunately, HEASARC has abandoned the plugin because it has gone so long without updates and had a number of instabilities.

http://www.Lehigh.EDU/~sol0/ptk/ppl/ppl.html is a plugin for perl/tk .


David Gravereaux has written on comp.lang.tcl that the original plugin thread model differs from the threading model in Tcl and that the plugin's model results in some problems with IE.


Scott Gamon - Plugin v2.0 works with both Mozilla 1.x and IE 5.5+ on Windows. I prepared a zip file to make installation easy on today's systems [L5 ].

Essentially, there are five dll's:

 nptcl32.dll
 tcl80.dll
 tclpip80.dll
 tclreg80.dll
 tk80.dll

If you copy them to the Mozilla plugins directory, Mozilla will autodetect the plugin.

MS supposedly removed plugin support starting with IE 5.5 sp2. Actually, all they removed was autodetection. You will still find a plugin folder in the IE directory, and the plugin.ocx control is still in the Windows directory. So, to enable the plugin for IE, you only have to copy the dll's to the plugin directory, then add the appropriate Registry entries by hand.

Jason Summers describes the Registry edits at http://entropymine.com/jason/replug/pluginocx.html

The dll's can be obtained by downloading and running the old plugin installer for Windows.

My zip file above includes the dlls. The zip file also includes an installer script that copies the dll's to the plugin directories, and adds the appropriate Registry entries.

After installing the plugin, try it out at http://www.tcl.tk/software/plugin/applets.html .

Update - install.tcl changed as suggested by MRS below.

MRS Just a suggestion for non-english users, because the Program Files dir is different in other languages (Arquivos de programas in Portuguese, Programme in German, etc...)

So, change the install script line 31 from:

        set IEPluginDir "C:/Program Files/Internet Explorer/PLUGINS"

to:

        package require registry
        set ProgDir [registry get {HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\SFC} ProgramFilesDir]
        set IEPluginDir "$ProgDir/Internet Explorer/PLUGINS"

and the script will get the right name.


Michael Schlenker With Mozilla 1.2a on Windows 2000 i needed no restart, it simply worked after copying the bin dir of the plugin installation. I really like the frogger game. (Hmm, when i have time, i just have to program an EGO-Frogger, in 3D, with frog eye worldview.)


http://www.tcl.tk/ has various pieces of info about the plugin.

The article "Using Active Server Pages with Microsoft Internet Information Server 3.0", located at http://www.microsoft.com/iis/Evaluating/Guides/Whitepapers/aspwp.exe , implies that Microsoft will be supporting Tcl plugins for their server.

The WebTechniques http://www.webtechniques.com magazine published an article in 1997 on the Tcl Plugin http://www.webtechniques.com/archives/1997/12/junk/

Jeff Gosnell mailto:[email protected] has announced a number of Tcl related items at http://members.xoom.com/Machtyn/ , including a Tclet, a chat room at http://members.xoom.com/Machtyn/chats/2.html , etc. However, I've not been able to get thru to the site (I suspect it is very busy).


CL would like to see the previous thirty pages of software descriptions moved to a separate page--but not enough to do so himself, now.

In any case, here are a few notes as summer 2003 opens: Keiichi Takahashi has made an installer for 3.0a1 available at http://2.csx.jp/users/bitwalk/tcltk_plugin_download.html This apparently works well for IE5 under Win2000. Mac Cody reports that for Netscape 7, "Note that I first downloaded and installed TclDevKit 2.5 for MS Windows solely for the purpose of getting binaries of the plugin.

1. Make sure that all instances of Netscape Navigator have been shut down. This is not strictly necessary, but is done as a safety precaution. 2. Copy nptcl30.dll from the nptcl3.0 directory into the C:\Program Files\Netscape\PLUGINS directory. 3. This completes the installation of the Tcl/Tk Plugin. The next time Netscape Navigator is started, it will load the Tcl/Tk Plugin whenever a tclet is received."


Category Internet