InfoMatters, Inc. Cool Web Building Tools

Products & Services Prev Top Next Steps to Creating a Website

Except where noted otherwise, these tools are all copyright 1996-2006 by InfoMatters, Inc. (

We hope to facilitate other's dynamic website creations and the free flow of information! Most are "Freeware": use them as you see fit, as long as our copyright notices remain. Some have other restrictions or include work by others. Please see each file's comments for particulars.

We have a bunch of other cool tools and apps that we'll try to post as we get time to document them to a point where they could be of use to others. For now, dig your teeth into:

iView MultiMedia Pro
...Hierarchical Catalogs to Keywords Converter
...Set IPTC Annotations from User Input and EXIFs
...Create Category List for Mambo/Joomla and PHP Shop/VirtueMart eCommerce

Tango 2000

Tango 3
...Variable Inspector
...Generate Static Page
...Dynamic Multi-Column Tables
...Bulk Emailer
...Text Cleaner
..."My Snippets"
..."Builder Snippets"
...Windows Datasourcer (added 10/30/99)
...Other Sources of Cool Tango Developer Utilities

Tango 2
...Convert @COLUMN's ->@COL's
...Tango 2 Tips & Tricks
...Tango 2 Intermediate Training Examples

FileMaker Specific
...Hide All But Web Server
...Popups and Files
...Queue and Execute FMP Scripts
...Tango Log Analyzer
...Serving Images DIRECTLY out of FMP Databases
...Tango 2 Tips & Tricks Too

Mac Specific:
...BBEdit Formatting Scripts
...TangoRestart & TangoRestartRemote
...Netcloak AutoCount and Alias



iView Logo Go Top

...Hierarchical Catalogs to Keywords Converter v.91 - February 17, 2006
This script traverses iView's hierarchical "Catalog Sets" to create corresponding keywords. These can then be used in web galleries and eCommerce applications to allow "keyword linking" between images on the Internet. Note: because of iView's scripted behavior, only "visible" media items' properties can be accessed. As a result, only the currently showing images will be set.

...Set IPTC Annotations from User Input and EXIFs v1.01 - February 17, 2006
This script sets selected media item's IPTC Annotations from User Input and EXIFs.


...Create Category List for Mambo/Joomla and PHP Shop/VirtueMart eCommerce v.9 - February 17, 2006
This script traverses iView's hierarchical "Catalog Sets" and creates a flat list of categories that have images directly under them.



Tango 3 Tango 2000 Go Top

Coming Soon...
Custom Tags
More Tidbits (Login+, File Parser, Server Stats-both passive and auto-logging, etc.)
StdLibs (oft-used, and branched to, routines)
Fun Tango Games
Multi-line Editing (ie, Creating/Updating Multiple Records as a Group)
Advanced User Searches via Array Manipulation & Custom Variable Scoping
Portable, Modular, Leveraged Code
Powerful, User-Driven Interfaces ╨ a Framework
Stretching a Buck: Easy Performance Enhancements (esp. with single threaded databases such as FileMaker and Access)
Ensuring Smooth Sailing (eg, automatic error notification, reducing the threat of hacking/breaking)
Development Aids and Un-Documented Features (@MAP anyone?)


Tango 3 Tango 3 Go Top

Tango Tidbits+
...Variable Inspector v1.01 - June 28, 1998
Show and/or Purge all variables for a desired scope. It was originally developed to show custom scoped variables, but it can be also used for quick debugging of any scope (except 'system' which requires a password). As an aside, it uses the dynamically configured multi-column table builder (see below).
Windows [10K] - Mac [38K]

...Generate Static Page v1.0 - June 19, 1999
Pass in the staticFilename, the Module, and the TAF's Name/ARGs (the Site and UserRef will automatically be appended to it) and this routine will use @URL to get the page in question and save it out as a "static" file. The production routine does some fancier stuff such as not including current UserRefs in links, not showing any user logged in information, etc.

Windows [4K] - Mac [5K]

...Dynamic Multi-Column Tables v1.0 - June 23, 1998
Pass in the number of columns and this routine will correctly distribute an array's contents into a multi-columned table. Given an unevenly divisible number of rows for the columns, extras will be allocated one at a time, from left to right. See it in action.

Windows [10K] - Mac [38K]

...Bulk Emailer v1.0 - August 2, 1998
This allows you to send bulk emails with Tango. We developed it to easily send messages to groups of registered users on our websites. For instance, we track user's browsers when they login (along with a bunch of other stuff) to help us determine when we can safely employ the next generation of web technology (eg, JavaScript, DHTML, Java, etc.). With Bulk Emailer, we can now easily send emails to those users using old browsers, suggesting that they upgrade to take advantage of the latest website features, etc. We also use Bulk Emailer to automatically send articles/what's new info to registered, interested users. Calling this TAF brings up an email server test form which first ensures you can send emails and second tests the maximum number of emails your server can accept at one time. It is also a good example of better web application coding - it has things such as an "all-in-one validation message" that saves the user's previous values, lists the invalid fields at the top of the form, and highlights the missing fields' labels in red so the user can easily see what's wrong. It uses "push" technology to show ongoing status, etc. The production version shows the list of users about to be emailed, allows prev/next navigation all through an array in memory (ie, no database access), etc. It's pretty well commented; we hope you find it useful!

Windows [10K] - Mac [45K]

...Text Cleaner v1.1 - October 12, 1998
Here's one of many data validation and "cleaning" functions we use routinely.

Windows [10K] - Mac [45K]

Tango Snippets
Some have seen the snippets I use in Tango development and have asked for them. While I don't know that they'll be of tremendous value to others, you can download them and decide for yourself.

..."My Snippets"
the current list.
Windows [33K] - Mac [91K]

..."Builder Snippets"
These were edited to make all background colors white, add a search button between next/prev buttons in lists, and making a cleaner list header (x through y of z items), etc.
Windows [3K] - Mac [41K]

To install the snippets, make sure the Tango editor is not running. Move the snippets folders into the following path:
Windows: "WinNT:Profiles:yourNameHere:"
Mac: "SystemFolder:Preferences:Tango3:"
Note: if you have made any snippets yourself, you'll want to copy just the files so you don't delete your snippets.

Standalone Tools and Utils
...Windows Datasourcer
Change datasources en masse (great from moving from FileMaker to Oracle, etc.). It's an unsupported utility that only runs on windows back from the EveryWare days.

Windows [77K]

...Other Sources of Cool Tango Developer Utilities

Pervasive's Component Zone
Pervasive's Tango Forums
Pervasive's Tango Knowledge Base
Searchable Tango Talk Archives (sort of works - often misses posts)
Tango Zone
Yahoo Tango Club


Tango 2 Go Top

...Convert @COLUMN's ->@COL's
Converter utility in AppleScript which allows the use of External HTML that contains field references.
Mac Only [48K]

...Tango 2 Tips & Tricks
A trip down memory lane (circa 1996 - boy we've been Tango'ing for a while). Here's a bunch of Tips & Tricks that pertain mostly to Tango 1 and 2. You might get a kick out of Tango Code Names and Easter Eggs though!

...Tango 2 Intermediate Training Examples
InfoMatters helped write (and deliver) significant portions of EveryWare's Tango 2 training offerings. These examples come from the Tango 2 vaults and include tutorials on how to allow reasonable user entry/choice of: the number of items per page (HowMany), sort fields (multiple fields, including ascending and descending[!]), and multi-line editing (a single form to do finds, edits, deletions, and insertions!).

Mac Only [637K]


FileMaker Specific Go Top

Remember: third party apps must use AppleEvents to communicate with FileMaker (until it supports ODBC <grin>). Thus, FileMaker must be run on Macintosh with Tango.

...Hide All But Web Server
To ensure acceptable performance, Filemaker MUST either run on a separate server in the foreground partition or it MUST run in the background. When this little AppleScript is be put in the startup items folder, when the server reboots, the Webserver (Webstar is the default) is brought to the foreground and all other applications are hidden. This approach minimizes screen redraws and reduces Filemaker's processor hogging, thereby maximizing performance.

Hide and Webstar in Front [38K] - Hide and FileMaker in Front [38K] (for multiple server configs)

...Popups and Files

CreateValueListFromDbase [38K] - use FMP's built-in "choices" to do a "Select Distinct" and save out to a file
DynamicPopupsQuickly [38K] - generalize the above routine and add the "SELECT" HTML to make a popup and save in a text editor
CreateStaticFile [38K] - called from FMP to create a static file for "what's new" excerpts, etc. Combine with the above to save out popups, etc..

...Queue and Execute FMP Scripts
Filemaker's Apple Events structure does not accommodate externally passed in parameters when executing FMP Scripts. Unfortunately, in a multi-user environment, one can't just set a global and execute a script because there is no way to tell which global value goes with which user and which script (ie, what if multiple people simultaneously set a global and trigger different scripts?). This combination Tango 2 Query Document and FMP database shows you how to create a queue of parameters and corresponding scripts for proper execution, in batch.

Queue and Execute FMP Scripts [38K]

...Tango Log Analyzer
A quickie utility to analyze Tango level 1 log files ("Query document calls and arguments passed").

* See the highest number of concurrent users (crucial in calculating Tango's needed memory partition, in conjunction with sys$itemBufferSize).
* Sort and view entries by any field (date/time, time, IP, query, post args, search args, entry type & Startup message).
* Show just the desired log entry types (ie, omit all those "Warning" entries for missing post args created when a user doesn't search using all the possible fields available) by choosing one of the options under the "script" menu.
* Show the most often called query documents and the number of times they've been called ("Summarize Queries").
If there's interest, at some point maybe we'll make it handle all Tango logging levels, summarize more (errors, warnings, startups, etc.), check duplicate (in case of incorrect imports), add better navigation, make it fit on smaller monitors better, make it prettier, etc.
Tango Log Analyzer [67K]

...Serving Images DIRECTLY out of FMP Databases
While we think this is a really bad idea, many seem to get excited about the concept. We STRONGLY recommend storing graphics' FILENAMES in a database (whether FileMaker or Oracle). Remember: binaries require a different http header. Consider this... if you return a summary list of 50 items, each with a thumbnail image, you must do a text request for the list's contents and then a binary request for each image. You end up with 51 database hits! Since the key to using FMP for web work is to minimize database hits, this is a bad thing. However, if you store the image names, you only create one database hit, the rest being handled by the webserver, most likely out of cache. Anyway, if we haven't deterred you yet, you may still be interested in this long-lost EveryWare archive on how to pull images directly from FMP.

EDC's Directly Serving Images Demo [105K]

...Tango 2 Tips & Tricks Too
There's some FMP-specific stuff in our trip down memory lane (circa 1996 - boy we've been Tango'ing for a while).


Macintosh Mac Specific: Go Top

...BBEdit Formatting Scripts
For the experienced developer, we still feel that BBEdit is THE best HTML editing environment regardless of platform (except for fancy DHTML- then Dreamweaver's probably tops). We've tried soooo many editors under Windows NT (SlickEdit looks pretty good) - but try to do a multi-line search/replace in any of them! Anyway, we have a bunch of quickie AppleScripts that are but a QuickKeys away. They consist of a series of BBEdit grep searches enhanced to include syntax sensitive Tango tags (especially "IF" statements which break if not correctly formatted).
  A QuickKeys sequence runs:
    1. Zap Gremlins
2. HTML Cleaner Pre-Process (strip out editor advertisements)
3. Format HTML (BBEdit extension, modified for Tango tags)
4. Pagemill Cleaner (BBEdit extension to zap junk from WYSIWYG editors)
5. HTML Formatting Greps (a BUNCH of grep searches to nicely format dynamic HTML)
  Other scripts include:
    Clean HTML Stories (turn HTML page input into nicely flowing text for editing/posting)
FMP Field Defs (use PrintToPict to document FileMaker databases)
HTML Batch Clean (dialog to clean a chosen file, a folder of files, or the current BBEdit doc)
Nuke Hard Paragraphs (zap hard returns from emails, etc.)
  BBEdit Scripts [86K]

...TangoRestart & TangoRestartRemote
Occasionally, during Query development with old versions of Tango, the Tango CGI's variable space could become corrupted, leading to spurious errors. This AppleScript utility allows one to remotely quit and restart Tango, fixing the corruption. This is a boon for those developing/deploying on a remote server.

Restart Tango Remotely [38K]

...Netcloak AutoCount and Alias
This FaceSpan application scans a given directory (and all subdirectories) for HTML files and creates Netcloak tags for a single Macro that can be included as a default footer to correctly show page counters. It also creates a "NetCloak.config" file to cache the desired HTML files.

Netcloak Auto Count and Alias [124K] - FaceSpan Extension [599K]

...JavaScript Table of Contents Generator
This is pretty dated, but it uses AppleScript against the scriptable outliner InfoDepot from Chena SW (out of biz?) to make a dynamic site outline JavaScript navigation window.

JavaScript TOC [87K]


Feedback Go Top
While we have to provide these tools "as is" (no warranties nor any support), we welcome and appreciate any feedback that you might have in making these better or helping create some cool utility that could really help the developer community.
We'd love to hear from you!


Products & Services Prev Top Next Steps to Creating a Website

If you'd like... you can be automatically notified when this page changes, rate this page by casting your vote, Join Our Mailing List, or Give Us Feedback! This page was last modified Wednesday, March 8, 2006.

Corporate Background | Our Approach | Our Products & Services | Our Team
Our Team's Client Portfolio | What's New | Your Investment | Get More Info | Jobs | Search This Site | About This Site

portions of this website copyright 1997, InfoMatters,Inc.