|
|
ScriptMaster is a free, general-purpose, modular plugin. It comes out of the box with modules for file
manipulation, URL and network utilities, Web Services, shell scripting, event/script triggering, and many
others.
ScriptMaster integrates tightly with your FileMaker solution. You can pass in any number of inputs, receive any number of outputs, call FileMaker scripts, and access your FileMaker fields and calculations from any module.
In addition to the many existing modules that come free with ScriptMaster, 360Works is available to create custom modules suited to your specific needs. In addition, if you are familiar with Java, you can create your own expansion modules, although you do not need to know Java in order to use the many free modules that come with ScriptMaster.
There is a support forum dedicated to ScriptMaster at FmForums.com - that is the place to go to post any questions, tips, or new modules that you create with ScriptMaster.
The possibilities are truly limitless with what you can accomplish with this plugin.
Subscribe to our
RSS feed for product update news!
Will it run on Windows/Mac? What version of FileMaker is required?
Yes, all of our plugins are designed to run on Mac OS X (PowerPC and Intel) as well as on Windows.
We never charge for switching / cross-grading, because the plugin package that we give you includes both Windows and Mac versions, and the same license keys work on both. One less thing to worry about!
Our plugins take advantage of the
new plugin features of version 7,
such as attaching styles to text. In addition, the Mac versions of all of our plugins ship as
universal binaries, and will run wonderfully on the new Intel Macs.
| Mac OS X 10.4 or later on PPC |
Mac OS X 10.4 or later on Intel |
Windows XP or later | |
|---|---|---|---|
| FileMaker 4-6 | FileMaker Pro 7 or later required | ||
| FileMaker Pro 7 | X | Won't run in Rosetta | X |
| FileMaker Pro 8 | X | Won't run in Rosetta | X |
| FileMaker Pro 8.5 | X | X | X |
| FileMaker Pro 9 | X | X | X |
| FileMaker Server Advanced 7 | X | X | X |
| FileMaker Server Advanced 8.0v4 | See note below | See note below | X |
| FileMaker Server Advanced 9 | X | X | X |
| FileMaker Server 9 | X | X | X |
FileMaker Server Advanced 8.0v4: Unfortunately, a bug in FileMaker Server Advanced 8.0v4 disables all plugins in the Web Publishing Engine on OS X. This affects all plugins, not just ones from 360Works. FileMaker, Inc. is aware of this bug.
Rosetta: Rosetta is not supported. If you are running FileMaker 8 on an Intel Macintosh, we strongly recommend upgrading to FileMaker 8.5 or later; the speed and stability improvements are very significant.
What about Web Publishing and FileMaker Server?
If you purchase the Enterprise License (see below), then you will be able to use the plugin with the FileMaker Web Publishing Engine. This means that when you use our plugins in your FileMaker scripts, they will work the same way with Instant Web Publishing (IWP). It also means that your Custom Web Publishing applications (with XSLT, PHP, or any other web technology) can call FileMaker scripts that use our plugins.
If you're using FileMaker Server 9, our plugins are compatible with the new FileMaker Server 9 scheduled script feature.
What kind of licenses are there?
Most of our plugins are available in 3 licenses: a Demo version which works for 2 hours every time you launch FileMaker, a "WorkGroup License" for 10 or fewer users, and an "Enterprise License" for unlimited users within a single organization.
There are more Questions and Answers on our product support site.
Download a free demo, or buy now on our online store |
|
Already have a license? Download the newest version |
View the plugin documentation |
The following is a list of the utility functions which are included with ScriptMaster.
Containers | |
| Get File As Container | This reads the contents of a file (pathToFile) into a container field. If the file does not exist, the path of the file is returned. Change the path to an existing image on your hard drive and run again. Whenever your script returns a File object, it is converted to container data. Since the File object is the last evaluated expression, it is returned as the result of the plugin function call. |
| Gradient Image | Draws a diagonal gradient of the specified width & height. The colors should be entered as hex values. To change the direction of the gradient, change the parameters to the GradientPaint constructor. |
| Rotate Image | Loads an image from a url and rotates it, applying an optional background color. If a background color is specified, or the background is not visible (the image is turned in 90 degree increments) then the resulting image will be a JPG. Otherwise, the resulting image will be a PNG with a transparent background |
| Screen Capture | A simple way to grab a screen shot of a specified rectangle of your screen. Pass in the coordinates (left, top, right, bottom) of the area that you want to take a picture of. You can use the FileMaker Get(ScreenWidth) and Get(ScreenHeight) to get the entire screen area. |
| Send Email | Here is a minimal script for sending email via an SMTP server. Check the "input variables" section for various message parameters, including "smtpHost". Change this to your usual SMTP host, e.g. "mail.bellsouth.net" or "mail.earthlink.net", etc. Additional possibilities include sending to multiple recipients, SMTP authentication, multi-part emails, attachments, and much more. |
| Send Email (HTML-Formatted) | Here is a minimal script for sending email via an SMTP server. Check the "input variables" section for various message parameters, including "smtpHost". Change this to your usual SMTP host, e.g. "mail.bellsouth.net" or "mail.earthlink.net", etc. Additional possibilities include sending to multiple recipients, SMTP authentication, multi-part emails, attachments, and much more. |
| Send Email With Attachments | Here is a more advanced script for sending email with attachments. It's important to configure the "smtpHost" and "attachmentPath" input variables. |
| Send Email With Authentication | Here is an all-in-one script for sending HTML email with attachments, and adding support for authentication. It's important to configure the "smtpHost" and "attachmentPath" input variables. |
File System | |
| Append To File | Appends a message (textToWrite) to a text file (filePath). Returns 1 if successful, and ERROR if unsuccessful. |
| Check Whether File Exists | Returns 1 if the file (pathToFile) exists, 0 if it does not. This example will return 1 on OS X, false on Windows. |
| List All Files In Directory | This uses the listFiles method to return all the files in a directory as a return-separated list. Files whose names begin with a dot will be omitted. |
| Read File Contents | Reads a file (pathToFile) and returns the contents as the result. This example reads the file created by the 'Write to file' example, so be sure to run that script first. |
| Write To File | Writes a message (textToWrite) to a text file (filePath). You can change the character encoding parameter to write in ASCII or international character sets. Returns 1 if successful, and ERROR if unsuccessful. |
fmpro Helper | |
| Call Script At Scheduled Time | This calls a FileMaker script (scriptToRun) in the current file at a certain point in time (scheduledTime). This returns 1 if the script was successfully queued to return, 0 otherwise (such as if the date was in the past). |
| Call Script Immediately | This immediately calls a FileMaker script (scriptName) in the current file. You can use this to trigger scripts when field values change, when a tooltip is displayed, or any other time that FileMaker evaluates something in the calculation engine. The first parameter to performScript is the name of the database to run the script - passing in a null tells ScriptMaster to run the script in the current database. '1' is returned if the script call was successful, ERROR if something goes wrong. |
| Call Script With Delay | This calls a FileMaker script in the current file after a certain delay (delaySeconds). For example, to run a script after 1 hour, pass in 3600. After the delay, this calls the FileMaker Script (scriptToRun), halting any currently running script. This script returns a 1 if no errors occur. This uses the "runAfter" method specific to Groovy |
GUI | |
| Color Chooser Dialog | This uses groovy's SwingBuilder to display a color chooser dialog. The selected color is returned as the result. There are also named output variables containing the r, g, and b values. |
| Formatted Dialog With Dynamic Buttons | |
| Select File | Ask the user to select a file. Returns the path of the selected file. Returns a 0 if a user clicks cancel. |
Networking | |
| Get URL as Container | This retrieves the contents of a URL (theUrl) and stores it into a container field. ScriptMaster automatically converts any URL returned by a script into container data. |
| Get URL As Container, part 2 | This retrieves the contents of a URL (theUrl) and stores it into a container field. ScriptMaster automatically converts any URL returned by a script into container data, adding a custom file extension if necessary. This example grabs a dynamic chart from Google's charting service. |
| Get URL as Text | Retrieves the contents of a URL (url) as a text field. |
| Post Data To URL | This sends a POST request to a URL. The POST data contains a single key and value. The URL contents are returned. |
Number crunching | |
| Base64 Encode | This takes a text parameter (textToEncode) and returns a Base64 Encoded version of that text. |
| Base64 Decode to Binary | This takes a text parameter with Base64 Encoding (encodedText) and returns a container field with the contents of the binary data. |
| Base64 Decode to Text | This takes a text parameter with Base64 Encoding (encodedText) and returns a decoded version of that text. |
| Cryptography - Decryption | This converts BASE64 encoded text to raw bytes, and then uses the DES algorithm to decrypt them. This script runs somewhat slowly when using the 'evaluate script' button, but it is very fast when compiled and registered as a FileMaker function. |
| Cryptography - Encryption | This uses the DES algorithm to encrypt some text with a password. It then BASE 64 encodes the resulting bytes. This script runs somewhat slowly when using the 'evaluate script' button, but it is very fast when compiled and registered as a FileMaker function. |
| Cryptography - MD5 Hash | This computes an MD5 hashcode for some text. The MD5 hash is a one-way cryptographic algorithm, meaning that you cannot get the value back once it has been hashed. It is useful for verifying that the contents of some text have not been changed. It is also good for spotting duplicates. |
| Hashcode | Generating the hashcode for some text can be useful for quickly determining if two large blocks of text are different. |
| UUID | This generates a UUID (Universally Unique Identifier). You could use UUIDs instead of auto-increment primary keys to ensure that primary keys are universally unique. This example requires Java 5 or higher. Read more about UUIDs at http://en.wikipedia.org/wiki/Uuid |
QuickTime | |
| Video Thumbnail (Requires QuickTime) | Uses the prosc_qt jar to generate a thumbnail of a specific frame in a quicktime movie. Change the "timeUnit" input variables to the timeUnit number to extract. Typically movie files have 600 time units per second. |
| Video Thumbnail Grid (Requires QuickTime) | Uses the prosc_qt jar to generate a grid of frames from various points in a movie. Change the "columns" and "rows" parameters. Keep the values small (less than 12 or so). |
Shell | |
| Run Shell Script | This executes a shell script (shellScript) in the underlying OS. On Windows, the shell script should be a DOS script; on Unix it would be a UNIX shell script. The output of the shell process is returned. This example will return the list of logged in users in OS X. |
Sorting | |
| Sort Value List (Case Sensitive) | This sorts a list of text, in a case-sensitive fashion. |
| Sort Value List (Ignoring Case) | This sorts a list of text, in a case-insensitive fashion. This uses a custom comparator to convert the strings to lowercase. You could use a similar technique to convert strings to numeric values. |
Text | |
| Convert URLs to Hyperlinks | Converts URLs in text (inputText) to hyperlink tags. |
| Create Ranges | This takes a starting value (start) and an ending value (end) as parameters. They must be the same length as ech other. It then returns all values whose last character is between the inputs. This is useful for doing fuzzy String index matching. |
| Remove HTML Tags | Remove all HTML tags contained in a block of text (html) |
WebServices | |
| Fedex Get Rates | This queries FedEx using SOAP Web Services to get a list of shipping choices for a package. |
| Fedex Ship | |
| Terraserver Web Service | This uses a lightweight SOAP web services jar (prosc_webservices.jar) to query the TerraServer web service for information about any named place. The output returned is the raw data. You can also reference the named output variables using the SMGetVariable plugin function. |
Copyright © 2006 Prometheus Systems Consulting. All rights reserved.
Toll Free (866) 662-9185
