A Reactor BlackBox is a package of goodies wrapped up in a single file that provides you with fantastic new features for your FileMaker solution. Generally a BlackBox will give you a powerful new user interface control, like a slider or a list sorter. Some BlackBoxes will even provide multiple controls, e.g. CalPack2 contains 4 separate calendar controls.
How do I get them?
The free version of Reactor comes with the 'Lite' BlackBox, which has many useful functions built in. If you purchase Reactor, you immediately get access to all the advanced BlackBoxes in addition to the 'Lite' BlackBox.
Not only that, but if you're feeling especially adventurous, you can even create your own.
Adding a BlackBox
BlackBoxes are added simply by using the BlackBoxAdd function to tell the Reactor plugin where to find them. You can either supply a URL to download a BlackBox from, or a container field in your own solution where the BlackBox file is stored.
Our recommended approach involves the use of a Reactor Resources table. You can copy the 'Reactor Resources' table and the 'Reactor Startup' script from the Reactor Core (demo) file into your own solution. See Deploying Reactor with a Database for details.
The BlackBoxAdd function in a script:
Go to Record [ First ] Go to Record [ Next ] // skip the installer record for now Loop <SetVariable( $$com.reactorize.log ; $$com.reactorize.log & BlackBoxAdd( Reactor Resources::Resource ) & "¶" ) Next Record [ Exit on Last ]/> End Loop
Note that the global variable $$com.reactorize.log is appended to with each BlackBox addition, aiding debugging. By viewing $$com.reactorize.log in the Data Viewer after Startup, it is possible to see if any problems arose from loading the BlackBoxes, and if so, which one was the problem.
Removing a BlackBox
If you need to remove a BlackBox, you can achieve this by using the BlackBoxRemove function.
You could do this in a script, using the Set Variable script step:
Set Variable[$result = BlackBoxRemove("CalPack2")]
Debugging
When your database is opened with a development license of Reactor, debugging is turned on by default. See our documentation for more about debugging.