Black Knight

Chameleon





Developing for Chameleon

Developing Chameleon plug-ins is intended to be quick and simple. However, a basic grasp of software concepts is required and will be assumed for the purpose of this discussion. Elsewhere in this site are examples in C++/CLR, C#, JScript .NET, Python, and VB.net.

Chameleon plug-ins must implement 8 required functions:

  1. Author: Must return the name of the person who wrote this plug-in.
  2. Description: Must return a description of this plug-in.
  3. Category: Must return the category this plug-in should be placed in. For Python plug-ins, the period-delimited string is used to place this plug-in appropriately in the checkbox tree.
  4. ExpectedInput: Must return a description of the expected input for this plug-in.
  5. Output: Must return a description of the output for this plug-in.
  6. Initialize: Must return a boolean, indicating whether execution should proceed (should verify all input is valid). This function also accepts parameters containing the array of data files to be processed, and a pointer for providing feedback to the client. Python plug-ins also receive the 'commandLineArgs' property through the Initialize function.
  7. Execute: Must contain core plug-in logic and return a boolean indicating whether it was successfully executed.
  8. Clean: Must clean up any dynamically allocated objects.

.Net Chameleon plug-ins must also implement:

  1. Save: Must return any custom property settings in string format for saving by the client.
  2. Load: Must accept a string of saved property settings to be loaded. Must return a boolean indicating whether load was successful.