Welcome to Your Interests.
You can choose interests in the categories below. Also, within our site, when you click a we will add an Interest.
All interests you select during this session can be submitted together on our contact form. This is a way of letting us know that these are topics you’d like to discuss with us.
was were added to Your Interests Panel.
Within our site, when you click a that item is added as an Interest.
You can open "Your Interests Panel" with below. Also, from the gray panel on the right (“Your Interests Panel”) you can select interests from drop-down lists, among several categories.
All interests you select can be submitted together on our contact form. This lets us know these are topics you’d like to discuss with us.
Offering dozens of powerful functions, bBox extends the reach of FileMaker’s existing commands. This makes it easier to get your projects done, and without the need for ugly workarounds to provide functionality that should be simple.
Some common uses are:
See the function documentation page for detailed usage information.
These work much like their function counterparts, and may even call the exact same code internally. However, some simplification may be required for them to work as script steps, so for more complex scenarios also check for an equivalent function.
FileMaker has several conventions that are very likely to cause issues with functions expecting New Line (ASCII 10) line breaks.
First and foremost, FileMaker will strip out line breaks completely with string literals. Because of this, always store scripts or other line delimited text in database text fields, use the Insert Text script step, or possible store it in a container field.
Even in cases where line endings are preserved by FileMaker, it defaults to using a Carriage Return for all line breaks. Any text going to or from a bBox function expecting POSIX formatted text will often not handle this correctly. Here however bBox typically defaults to translating the line endings for you. If needed, you may be able to override this translation by setting the necessary flag in a function’s mode parameter. See the function documentation page for details.
Finally, many POSIX commands expect UTF-8 encoded text. If you are using text that requires 16 or 32 bit Unicode characters they may not translate into a UTF-8 equivalent, and will be stripped out of the text when it is converted.
The functions are:
evaluate function may seem to be mainly about pulling data out of FileMaker into Python, but you can also push data out by setting FileMaker variables within the evaluate statement.
executesql can naturally work in both directions using a SELECT statement to pull data in, or an UPDATE or INSERT to push data out to FileMaker. Rows and columns are returned as a non-mutable Python list (tuple), so there is no need to specify characters to delimit these like you would with FileMaker’s ExecuteSQL function.
It is possible with re-entrant calls or with server-side scripts that two calls to a function (or set of related functions) could occur at the same time.
We will use the term “session safe” if multiple PSOS or server script schedules can use the same function. If a function can (for instance) be used re-entrantly, then we will say that it is “thread safe”.
Most functions are thread-safe, but there are some exceptions to be aware of:
bBox_LastError: result is session safe for most cases; for SQLite it is also thread safe
bBox_ShellExitStatus: Not session or thread safe; use bBox_LastError instead
bBox_Python: these functions are not thread safe (use the bBox Python3 Run script step instead)
bBox_SQLite: SQLite functions are session and thread-safe
bBox_XPath: session safe
The bBox Plug-in Demo file has 200 examples of the various functions, and is included with the bBox disk image.
As of October 27, 2020 the current version is 0.97.