Template:Plugin Basics

From 360Works Product Documentation Wiki
Revision as of 16:51, 8 November 2013 by Sarah (Talk | contribs)

Jump to: navigation, search

Contents

Requirements

FileMaker 7 or higher, Java Virtual Machine (JVM) 1.5 or higher, Windows or Mac OS X 10.4. Rosetta on Intel Macs not supported.

Installation

To install the plug-in, copy the plug-in to the correct directory:

FileMaker Pro: FileMaker / Extensions
Web Publishing Engine: FileMaker Server/Web Publishing/publishing-engine/wpc/Plugins *
Custom Web Publishing: FileMaker Server/Web Publishing/publishing-engine/cwpc/Plugins *
Mac FileMaker Server Scheduled Scripts: /Library/FileMaker Server/Database Server/Extensions *
Windows FileMaker Server Scheduled Scripts: C:\Program Files\FileMaker\FileMaker Server\Database Server\Extensions *
* (Requires Enterprise license)

Create the "Plugins" folder if it doesn't exits. Make sure to restart FileMaker Pro / Server / WPE. Enable the plug-in in FileMaker Server Admin console for scheduled scripts on the server. For users running 64-bit versions of Windows and FileMaker Server 12.02 and later, use the 64 bit version of the plug-in in the custom web publishing location only. The 64 bit plug-in is marked with .fmx64

Uninstalling the plug-in

Uninstall the plug-in by quitting FileMaker Pro or stopping FileMaker Server and removing the plug-in file from your Extensions directory.

Demo mode and registering the plug-in

Plug-ins will run in a fully featured demo mode until they are registered. While running in demo mode, the product will run for 2 hours every time you launch FileMaker / FileMaker Server / FileMaker Web Publishing Engine until restarted. Enter the license information in FileMaker Preferences, or by using a script and calling CCRegister.

Set Variable [ $register Value:
CCRegister ( licenseKey, registeredTo)

Returns: a 1 on success or a 0 on failure.

Error Handling/Reporting

When something unexpected happens, the plug-in will pop up a dialog showing what the error message is. This makes it easy to see what went wrong. However, in some cases, you (the developer) may prefer to show your own message to the user, or possibly not show a message at all. In that case, you can call CCSetErrorCapture with a parameter of true. That will suppress the error dialog from appearing to the user.

Whether or not you suppress the error dialogs, a plugin function will return the word ERROR if something goes wrong. It's a good idea to put your plugin functions in an 'If' statement so that you don't execute a bunch of script steps after something has gone wrong. If you'd like for your script to get the error message, you can get that by calling the CCLastErrror function. For example:

Set Variable [ $result = MyPluginFunction("x" ; "y" ; "z") ]
If [ $result = "ERROR" ]
Show Custom Dialog [ "An error occurred: " & CCLastError ]
End If

If a plug-in is not installed correctly, calls to a plug-in function will return "?"

To check if a transaction succeeded

The simplest way to check to see if money has changed hands in a payment processing function call is to check the result of the function itself. This is extremely useful when calling CCProcessPayment, CCVoid, CCRefund, and others. The result of the transaction will give a transaction ID or the word ERROR. Using the CCLastError like in the example above will give further information about the error, such as if there is no network connectivity, or the card was declined.

Set Variable[$result ; CCProcessPayment(...)]
If[$result = "ERROR"]
	#Transaction is unsuccessful. Below is an example of how you might handle the error. 
	Set Field[Transaction::Error Message ; CCLastError]
Else
	#Transaction is successful.
	Set Field[Transaction::Transaction ID ; $result]
End If

More Information

For more information on how to correctly install and work with plug-ins, check out the Plugins 101 documentation.

Personal tools
Namespaces

Variants
Actions
Plug-in Products
Other Products
Navigation
Toolbox