Developing Action Plugins¶
kigadgets was developed with action plugins (and batch processing) in mind. It can give cross-version compatibility, code that is easier to understand, and the possibility for triple CLI/API/GUI entry points.
Anyone can make action plugins! They don’t all need to be deployed through Package and Content Manager, and they don’t need to follow software enginering good practice whatsoever. It is likely that you have some kind of task that you do repetitively but not many others do. You’ll want to automate that task, then bestow upon it a proper menu button (explained here).
Start with the examples¶
An example is included in “examples/action_plugins/mousebite_kigadget”. All of the mousebite logic is in “mousebite_script.py” (<200 lines). Other files do registration and GUI dialog stuff. See Mousebite Readme here. Follow its instructions to use the plugin.
To make your own plugin, use this example as a template. Most of the work happens in “mousebite_script.py”. This will contain your automation. The other “.py” files can be very similar for other action plugins, just renamed for your action plugin. Go through them and rename files, imports, and classes appropriately (Mousebite –> MyPlugin and so on).
Mousebite gives examples of dialog creation with wxformbuilder (see the included .fbp file) and also simple dialogs like kigadgets.notify and kigadgets.query_user. Mousebite illustrates dual-entry point pattern and a basic automated testing setup (see example/action_plugins/tests).