|
Customer Login |
|
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 3 no longer requires you to install a plugin! Using 360Works' Auto Update server, the plugin will be automatically installed upon launch, making it even easier to integrate ScriptMaster and its modules into your own solution.
Version 3 includes the following new modules:
We've focused on making ScriptMaster 3 easier to use than previous version. The new version includes re-written documentation and a video tutorial which makes it faster than ever for developers to get started with ScriptMaster and enhance their FileMaker functionality. We have also completely redesigned the user interface with help from Matt Petrowsky for a cleaner look and better navigation.
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.
Check out Matt Petrowsky's video article, Combining PDFs - The Blazing Fast Method, at FileMakerMagazine.com. The video demonstrates 360Works ScriptMaster plugin being used with iText to combine PDF files.
Also from Mett Petrowsky is this 41 minute movie on Learning and Using ScriptMaster. Go Matt!!!
"It’s hard to believe that it’s FREE! This plugin, removes the need for dozens of other plugins. Go to the web page and watch
the 10 minute video to get your mind blown....
Read the full article here!
David Wheelock had this to say: "I just started to use ScriptMaster to produce 'slugs' for an advertising client. The slugs are small .png files,
with client/project info, which get dropped onto project artwork. The client was super impressed.
"Guys, I'm a registered user of FTPeek and love it. I just downloaded ScriptMaster and wanted to say my mind is officially blown.
Thank you all for such great work. You know, you guys are one of the only companies who seem to have precisely the same tech support ethos that we do...
"Installation couldn't have been easier. Just drop the plugin into Filemaker's "Extensions" folder and it's ready to go! The
Scriptmaster Examples database is well designed and easy to use.
"I'm also liking the fact that I no longer need to have the ScriptMaster database register functions, and that you have a server already configured to AutoUpdate the plugin for users - great idea!" —Karstyn McCoy, The Support Group
"As I said, this works really great! I just discovered the ScriptMaster plug-in, and I must say it's a very seducing little plug-in. Though I'm mostly
minimalist when it comes to using plug-ins, and probably will continue being so, ScriptMaster does provide a very nice and
"I specified that I don't want to use a plugin,
"Fantastic plugin. Use it all the time!" —Christiaan L. van Minnen, INDEX Books
"Terrific app" —Robert Moran, Digital Constructs, Inc.
"Thanks so very, very much...this is awesome!" —Richard Lesyk
"ScriptMaster is freaking awesome... I just had to say it." —Jonathan Mickelson, Thought Development
"Thanks for the quick fix and AMAZING plugin." —Salvador Sandoval
"Great plug-in; thanks for this gift to the FM community." —Ken Newell, Hamilton Glaucoma Center
"Are you sure this valuable plug in is free to deploy with my program? I feel like I am stealing something." —Jennifer Shook
"What a sensational product!" —Bob Stuart
"I Was looking into SuperContainer and read about ScriptMaster on your website. This is fantastic. You are amazing. Thanks a lot. I really look forward to putting it to use. I Will be back on for the rest of your portfolio." —Jesper Søholm
"Outstanding product with exceptional client support. A real winner." —Donald P. Moore
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.
Our plugins take advantage of the
plugin features of FileMaker 7 and later,
such as attaching styles to text, and are compatible with the most recent version, FileMaker 10. In addition, the Mac versions of all of our plugins ship as
universal binaries, and will run at full speed on both PowerPC and 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 Pro 10 | 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 10 | X | X | X |
| FileMaker Server Advanced 10 | 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 7 or 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 or later, our plugins are compatible with the FileMaker Server scheduled script feature.
Can I use this plugin with my FileMaker runtime solution?
Yes, all of our plugins work in FileMaker runtimes solutions, just copy the plugin to the runtime's Extensions folder.
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.
The following is a list of the utility functions which are included with ScriptMaster.
Containers | |
| Crop Image | Crop an image starting from the x, y coordinates resulting in an image which is width x height pixels. imageLocation can be a file location or a URL |
| 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. |
| Watermark Image | Apply a text watermark to an image. imageLocation can be a file location or a URL. |
| 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. |
| Choose Folder | This prompts the user to select a folder on their hard drive. You can optionally specify a startingPath if you want the user to start in a certain location, and you can specify an optional 'prompt' message which will be used as the dialog title. If the user cancels, an empty result is returned. |
| Get File Modification Date | Returns a date (actually text in the FileMaker date format) of when a file was modified. |
| Get File Size | Returns the size, in bytes, of a file |
| 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. |
| List All Files Recursively | 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. This version is recursive, which means it also scans all subdirectories inside the initial directory. |
| 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. |
| Zip File | Zips up a source file to a destination zipfile, returning the zipped file as a container. 'src' is the path to a single file (not a directory), or the name of a container field (if referencing a container field, it must include the TO name followed by ::, e.g. "Demo::result_container") 'destination' is where the zip file should be written to. If 'destination' is a directory, the zip file is given the same name as 'src', but with a '.zip' extension added. If destination is empty, a temporary zip file is created as the destination. |
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 | |
| QuickTime Frame Capture | This displays a QuickTime video capture preview and grabs a picture snapshot from any connected QuickTime-compatible camera, such as an iSight webcam. It returns the image as a container field. |
| 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. |
| Better Random | Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0. Returned values are chosen pseudorandomly with (approximately) uniform distribution from that range. This gets around a limitation in the FileMaker random() function which often returns duplicate values. |
| Create AES Secret Key | This generates an AES 128 bit secret key, BASE64 encoded. You should call this function once and store the secret key in your FileMaker solution. This secret key can then be passed to the EncryptAES and DecryptAES functions. |
| 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. |
| DecryptAES | |
| EncryptAES | |
| 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. |
| Regex Match | Determin whether a given string matches a regular expression pattern. |
| Remove HTML Tags | Remove all HTML tags contained in a block of text (html) |
| Text Similarity | This calculates how similar two pieces of text are to each other, using the Levenshtein distance method ( http://en.wikipedia.org/wiki/Levenshtein_distance ). The lower the number returned, the more similar the text is. |
| URLDecode | Decodes a x-www-form-urlencoded string. See also FileMaker's GetAsURLEncoded function. |
| Validate XML | |
WebServices | |
| Fedex Get Rates | This queries FedEx using SOAP Web Services to get a list of shipping choices for a package. |
| Fedex Ship | |
| Post XML Data | This POSTs XML data to a URL. This is ideal for manually sending XML data to simple Web Services. The URL contents are returned. |
| StockQuotePrice | Gets the current price for a stock symbol. |
| 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-2009 Prometheus Systems Consulting d/b/a 360Works. All rights reserved.
Toll Free (866) 662-9185
