FileMaker 12 Compatible

360Works ScriptMaster

Make your own plugins


FileMaker plugin icon ScriptMaster 4 is a free, general-purpose plugin. It includes file manipulation, URL and network utilities, shell scripting, encryption, and much more.

Table of Contents

ScriptMaster 4
ScriptMaster 4 Advanced
Version comparison
Video tutorial
ScriptMaster 4 Advanced FAQ
FileMaker Community comments
System Requirements
Complete list of ScriptMaster functions
User-contributed ScriptMaster functions

ScriptMaster 4 is now available for free

ScriptMaster, a free plugin for FileMaker Pro, is 360Works' most popular product. Version 4.0 delivers speed increases of up to 10x version 3, the ability to load and share modules on the network, and now includes more than 80 modules, with new modules added for XPath parsing, iPhone push notifications, and file manipulation.

We've focused on making ScriptMaster 4 easier than ever. The new version includes updated documentation and a video tutorial which makes it faster than ever for developers to get started with ScriptMaster and enhance their FileMaker functionality.

ScriptMaster is a modular plugin, which means that instead of installing all 80+ plugin functions, you use a FileMaker file that comes with ScriptMaster to select which modules you wish to register. Once the modules are registered, they appear in your list of FileMaker functions.

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.

Also available - ScriptMaster 4 Advanced for $95

ScriptMaster 4 Advanced includes all of the features of ScriptMaster, with new features for developers:

  • Easily generate your own branded plugins. Making plugins with ScriptMaster 4 Advanced is easy! Just check which modules you want, click the "Make Plugin" button, and you've got a plugin with all of your favorite modules pre-compiled into it! You can distribute this generated plugin royalty-free with all of your custom solutions.
  • Direct access to the FileMaker clipboard, allowing you to read clipboard contents at runtime. You can even modify the clipboard items and then push the modified versions back onto the clipboard!
  • Direct access to the FileMaker SQL engine with ScriptMaster 4 Advanced, which allows you to execute SQL commands directly from any script.

Create Plugins with ScriptMaster 4 Advanced

ScriptMaster 4 Advanced lets you convert your favorite ScriptMaster modules into FileMaker plugins, ready for deployment on both Mac and Windows. It’s never been easier to make and distribute the custom functionality that your customers need.

Making plugins is easy!

ScriptMaster vs ScriptMaster Advanced comparison

ScriptMaster 4 ScriptMaster 4 Advanced
Over 80 Modules Built-In X X
Add your own modules X X
Royalty-free distribution X X
Access to the Clipboard X
Create your own Plugins X
Access to FileMaker SQL Engine X
Price Free $95 Per Year

Video tutorial - create your own plugin with ScriptMaster 4 Advanced

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 Matt Petrowsky is this 41 minute movie on Learning and Using ScriptMaster. Go Matt!!!

ScriptMaster Advanced FAQ

Is ScriptMaster still free?

Yes, ScriptMaster is still a free plugin for FileMaker. ScriptMaster 4 Advanced is a paid version of ScriptMaster 4 which adds additional features.

What is the pricing of ScriptMaster 4 Advanced?

ScriptMaster 4 Advanced is $95 per developer, per year. After one year you will need to renew your license in order to be able to continue to generate new plugins with ScriptMaster 4 Advanced. Purchase the Portfolio Bundle to obtain ScriptMaster 4 Advanced as part of the subscription. Click on the "Download/Buy" link near the top of this page to see more information about the different license type available.

What happens when my License of ScriptMaster 4 Advanced Expires? Do the plugins I created stop working?

No, any plugins already created with ScriptMaster 4 Advanced will continue to function forever. However you will not be able to use ScriptMaster Advanced to create new plugins. The SQL Execution and clipboard access features do not expire. You can renew for $95 per year to get a license key updates.

Do my users have to pay to use the plugins that I create?

No, plugins generated with ScriptMaster 4 Advanced can be distributed royalty-free with your FileMaker solution, meaning that neither you nor your clients need to pay anything to use them.

Can I buy one license of ScriptMaster 4 for my whole company?

Each developer who will be using the ScriptMaster plugin by itself with Advanced features (SQL execution, clipboard access, plugin generation) will need to buy a separate license. Plugins generated from ScriptMaster and bundled with your solution can be distributed free of charge with that solution, whether that solution is for your own company or for your clients.

Are there any usage restrictions on generated plugins?

Yes. Plugins created with ScriptMaster Advanced cannot be distributed by themselves, for free or commercially. They can only be distributed with a FileMaker Solution that utilizes the plugin. The FileMaker Solution cannot be just a wrapper or demo of the plugin functionality, it must be a full-fledged solution in its own right that uses the plugin for additional functionality.

Does this mean I can't sell solutions that use a generated plugin?

No, it's fine to sell solutions with plugins generated by ScriptMaster, as long as the solution is a full-fledge solution in its own right, not just a wrapper or demo for the plugin functions.

Can the plugins that I generate use the ScriptMaster Advanced functions, like SQL execution?

Yes.

What does the FileMaker community think of ScriptMaster?

FileMaker Talk highlighted the latest version of ScriptMaster and Groovy 1.8, including JSON support, in their podcast.

"I truly can't even think of running a FileMaker solution without using ScriptMaster. What you've done with the ability to create a one-click plug-in is simply amazing and I totally LOVE it!"—Matt Petrowsky, ISO Productions

"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.... The awesomeness of this is almost impossible for me to describe."—Jeremiah Small, Soliant Consulting
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. It was really a simple task with the help of ScriptMaster!"

"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... I got you guys on the phone once and was as impressed with service as I was with the product, and that's rare, so thank you for that as well." —Joshua Beckett

"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. Many useful commands are demonstrated, and with some programming skills, there seems to be limitless possibilities. I'm currently not very familiar with Java, but that didn't matter. I'm working on converting a FMP database that uses Applescripts into an IWP-compatible solution. This was just the trick! ...Thanks 360Works!!!" —Don Aehl, Quad Graphics

"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 enormously vast toolbox that allows you to give an extra little touch to make your work stand out from most other FileMaker databases." —David Wikström, CamelCase Data

"I specified that I don't want to use a plugin, but I've changed my mind after seeing how the 360Works ScripMaster plugin achieves a "Select Folder" routine elegantly, even allowing me to specify the Navigation Dialog's window title, e.g. "Select a folder where you want to store backups," so I'm going to adopt that method." —Bob Stuart, Think Data

"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

"I'm getting the feeling that Groovy is going to become my new language for advanced custom functions in FileMaker. Time to learn it!" —Donovan Chandler

"This is an amazing extension - thanks so much for making it available (for free)." —Timothy Hall, Beeswax Datatools

"Best plugin of the decade in my opinion. The only one I've decided to actually use in my production application - it just works, Mac OS, Windows, Citrix, whatever. Love it!" —Perren Smith

"Just made my first plugin with 360Works Scriptmaster plugin. Wow. That could not have been easier." — Mark Cyrulik

"I'm sure you must hear this all the time, but FANTASTIC product. Thanks so much : )" — Brian Schick

"For us, as heavy Java users, the plugin is arguably the only plugin we will need for FileMaker going forwards because it unleashes the power of Java for us with FileMaker!" —Dr. Alistair Lane, Onto-it Key Farm Solutions

"You guys are awesome! ... After hearing about your ScriptMaster from FileMaker Success Tips, I downloaded and installed it today. I was up and running almost immediately. Thanks for sharing your talents with the world." —Dr. Bill Miller, HighPower Resources

"Played around with this for a few days. Amazing addition to any developers library. I was able to quickly piggie back off your Java Drawing example and create cutlists with drawings for our manufacturing process and at $95.00 I almost feel like I am stealing it from you!" —Craig Stowell, Crown Point Cabinetry

Subscribe to our If you're a FileMaker developer or FileMaker consultant, subscribe to our RSS feed for informative articles and product updates. RSS feed for product update news!


Questions and Answers

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!

Runs in FileMaker as a Universal Binary applicationOur 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 13. 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.5 or
later on PPC
Mac OS X 10.5 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 Pro 11 X X X
FileMaker Pro 12 X X X
FileMaker Pro 13 X X X
FileMaker Server 7 Advanced X X X
FileMaker Server 8.0v4 Advanced See note below See note below X
FileMaker Server 9 Advanced X X X
FileMaker Server 9 X X X
FileMaker Server 10 X X X
FileMaker Server 10 Advanced X X X
FileMaker Server 11 X X X
FileMaker Server 11 Advanced X X X
FileMaker Server 12 X X X
FileMaker Server 12 Advanced X X X
FileMaker Server 13 X X See note below

FileMaker Server 13 and Windows: Windows 8 and Server 2012 are not compatible at this time with server side scheduled scripts and the Perform Script on Server feature of FileMaker 13.

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?

Our free plugins will work with both Web Publishing and Filemaker server. 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?

This product is free. You may distribute it with your solutions at no charge.

What about FileMaker Go?

If you'd like to add plug-in functionality to a mobile solution, there are a number of options available. Plug-ins cannot be installed directly on a iPhone or iPad, but you can trigger a script on a machine that does have the plug-in installed. Using FileMaker Server, you can have routine scripts that will process all the outstanding function calls. For an example on how to do this, see this article on accomplishing this with Plastic. Alternatively you could integrate RemoteScripter to trigger server side scripts. Finally, FMRPC is a separate product developed as a collaboration between Skeleton Key and 360Works.

There are more Questions and Answers on our product support site.

Functions which are included with ScriptMaster

Containers

Crop ImageCrop 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 ContainerThis 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 ImageDraws 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 ImageLoads 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 CaptureA simple way to grab a screen shot of a specified rectangle of your screen. Pass in the coordinates (left, top, width, height) 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 ImageApply a text watermark to an image.

imageLocation can be a file location or a URL.

Email

Send EmailHere 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 AttachmentsHere is a more advanced script for sending email with attachments.

It's important to configure the "smtpHost" and "attachmentPath" input variables.
Send Email With AuthenticationHere 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 FileAppends a message (textToWrite) to a text file (filePath).

Returns 1 if successful, and ERROR if unsuccessful.
Check Whether File ExistsReturns 1 if the file (pathToFile) exists, 0 if it does not. This example will return 1 on OS X, false on Windows.
Choose FolderThis 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.
Copy FileCopies a file from src to dest
CreateFolderThis takes an operating system path as a parameter (for example, /Users/Shared/newFolder or C:\Documents and Settings\MyAccount\newFolder) and creates that folder. It returns a 1 if the folder was created, 0 if it already exists, and an error if the folder does not exist and could not be created. It will create nested subdirectories, so if /Users/Shared existed and you use /Users/Shared/a/b/c as the path, it will create folders a, b, and c.
DeleteFileOrFolderThis takes an operating system path as a parameter (for example, /Users/Shared/newFolder or C:\Documents and Settings\MyAccount\newFolder) and deletes that folder or file. It returns a 1 if the folder or file was deleted, 0 if it does not exist, and an error if the folder or any of its contents could not be deleted. It will recursively delete subdirectories, so be careful!
Get File Modification DateReturns a date (actually text in the FileMaker date format) of when a file was modified.
Get File SizeReturns the size, in bytes, of a file
Get Folder SizeGets the size of all items contained in a folder, recursively descending into subdirectories.
List All Files In DirectoryThis 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 RecursivelyThis 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.
Move Or Rename FileThis renames and/or moves a source file or folder to a destination file or folder. This returns a 1 if it is successful and a 0 otherwise. This will fail if the destination parent folder does not exist, or if you try to move between two volumes.

The example paths with this module do not exist, you'll need to create an example file or folder yourself and set the paths to point to it.
Read File ContentsReads 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 FileWrites 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 FileZips 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 TimeThis 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 ImmediatelyThis 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 DelayThis 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
Execute SQLExecutes an SQL statement in FileMaker. This feature requires the Professional Edition of ScriptMaster.
Get All Clipboard FormatsThis returns an array of all of the available clipboard formats. When data is copied onto the clipboard, it is stored in multiple formats, such as a plain text version and a styled text version. You must select which format you want to retrieve and pass that to the 'Get Clipboard Data' or 'Set Clipboard Data' functions. This feature requires the Professional Edition of ScriptMaster.
Get Best Clipboard FormatThis returns the clipboard format string which represents the FileMaker data currently stored on the clipboard. This format string is necessary for calls to read and write from the clipboard. This feature requires the Professional Edition of ScriptMaster.
Get Clipboard DataThis gets the contents of the clipboard. For the 'format' parameter, call the 'Get Best Clipboard Format' module or the 'Get All Clipboard Formats'. This feature requires the Professional Edition of ScriptMaster.
Set Clipboard DataThis sets the clipboard to the specified data and format. This example shows how you can write a custom function definition to the clipboard (pasting custom functions requires FileMaker 11). This feature requires the Professional Edition of ScriptMaster.

GUI

Color Chooser DialogThis uses the Swing JColorChooser class 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 FileAsk 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 ContainerThis 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 2This 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 TextRetrieves the contents of a URL (url) as a text field.
Notify ProwlThis uses Prowl (http://prowl.weks.net) to send push notifications to your iPhone, iPad, desktop, or any other Prowl-compatible device.

This module is based on Todd Geist's blog at http://www.geistinteractive.com/content/teaching-filemaker-send-alerts-iphone. To get an API key, sign up at http://prowl.weks.net
Post Data To URLThis sends a POST request to a URL. The POST data contains a single key and value. The URL contents are returned.

Number crunching

Base64 EncodeThis takes a text parameter (textToEncode) and returns a Base64 Encoded version of that text.
Base64 Decode to BinaryThis takes a text parameter with Base64 Encoding (encodedText) and returns a container field with the contents of the binary data.
Base64 Decode to TextThis takes a text parameter with Base64 Encoding (encodedText) and returns a decoded version of that text.
Better RandomReturns 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 KeyThis 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 - MD5 HashThis 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
DecryptDESThis 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.
EncryptAES
EncryptDESThis 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.
HashcodeGenerating the hashcode for some text can be useful for quickly determining if two large blocks of text are different.
UUIDThis 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 ScriptThis 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 HyperlinksConverts URLs in text (inputText) to hyperlink tags, using Regular Expressions.
Create RangesThis 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.
Find Image URLsThis uses Regular Expression processing to find all URLs in an HTML page that end with gif, png, or jpg.
Remove HTML TagsRemove all HTML tags contained in a block of text (html)
Text SimilarityThis 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.
URLDecodeDecodes a x-www-form-urlencoded string. See also FileMaker's GetAsURLEncoded function.
Validate XMLValidates an XML document against the schema referenced in the file. Note that the XML must reference a valid XML schema URL in order to be valid.

The example XML is valid, and running the function will return the word "valid". Try changing one of the XML tags on xmlInput and running it again.
XPath ParseThis will apply an XPath query to XML data and return the result.

This example returns a value list of every book title. The sample data is based on the books.xml document from Microsoft: http://msdn.microsoft.com/en-us/library/ms762271(VS.85).aspx

WebServices

Fedex Get RatesThis queries FedEx using SOAP Web Services to get a list of shipping choices for a package. Since this module uses a test account on Fedex test servers, which are not as reliable as actual Fedex production servers with a real account, you may need to run this module more than once to produce a result. To use the real FedEx server, switch the testMode parameter from 'true' to 'false'

You will need to sign up for a FedEx developer account to get the values for parameters like 'meterNumber', 'accountKey', and 'accountPassword'. The signup page is at http://www.fedex.com/us/pckgenvlp/fcl/bussol/drc/index.html
Fedex ShipThis queries FedEx using SOAP Web Services to get a shipping cost for a package of specified weight between two addresses. Since this module uses a test account on Fedex test servers, which are not as reliable as actual Fedex production servers with a real account, you may need to run this module more than once to produce a result. To use the real FedEx server, switch the testMode parameter from 'true' to 'false'

You will need to sign up for a FedEx developer account to get the values for parameters like 'meterNumber', 'accountKey', and 'accountPassword'. The signup page is at http://www.fedex.com/us/pckgenvlp/fcl/bussol/drc/index.html
Post XML DataThis POSTs XML data to a URL. This is ideal for manually sending XML data to simple Web Services. The URL contents are returned.

This example shows a SOAP XML call to CDyn's weather service.
StockQuotePriceGets the current price for a stock symbol.
Terraserver Web ServiceThis 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.

User-contributed ScriptMaster modules

  • Barcode generation, from Benjamin Brittain
  • QR Code Generator, from Matthew Greger uses Google's Charts API for QR Codes and ScriptMaster to create QR codes in container or web viewers.


Copyright © 2006-2014 Prometheus Systems Consulting d/b/a 360Works. All rights reserved.
Toll Free (866) 662-9185

Platinum member of the FileMaker Business Alliance