Kiwi TCMS pluginsΒΆ
You can design your own plugins which will be automatically discovered and loaded by Kiwi TCMS. There is an example in tcms/telemetry/tests/plugin but these are not limited to telemetry! They can be anything!
Your plugin should be packaged as a stand-alone Django application that
can be installed inside Kiwi TCMS! This means to produce a pip package
containing your views.py, urls.py, templates/, static/,
etc files which are standard for Django applications.
There are 2 special pieces:
a
menu.pyfile defining theMENU_ITEMSvariable. The format is the same astcms.settings.common.MENU_ITEMSinside
setup.pyyou need to define anentry_point:setup( ... entry_points={"kiwitcms.plugins": ["your_plugin_name = your_plugin_module"]}, )
Kiwi TCMS will auto-discover plugins with the kiwitcms.plugins
entry point and:
append them to
INSTALLED_APPSso that templates, static files and everything else can be discovered. This means models and migrations too;append their menu to
MENU_ITEMSunder the MORE navigation item so that users can access the plugin via the web interface;include their URL config in
urlpatterns, using the plugin name as the URL path for inclusion!
After you have tested your plugin and packaged it as a pip package the only thing you have to do is install the tarball inside the Docker image!