Except where noted otherwise, these tools are all copyright 1996-2006 by InfoMatters, Inc. (sales@infomatters.com).
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:
...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
...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.
...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.
...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!
...Text Cleaner v1.1 - October 12, 1998
Here's one of many data validation and "cleaning" functions we use routinely.
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.
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.
...Other Sources of Cool Tango Developer Utilities
...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!).
...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.
...Popups and Files
...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.
...Tango Log Analyzer
A quickie utility to analyze Tango level 1 log files ("Query
document calls and arguments passed").
...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.
...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).
Mac Specific:
...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.
...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.
...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.
Feedback
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.