Plugin development help

Hi guys,

I am still struggling with creating and deploying a simple plugin in Indico :frowning:

I kind of know what some of the pieces of the puzzle look like, but don’t know how to put them together yet :frowning:

My main task is to create an Invoices thingy in Indico, that will have some way to choose a specific user and then generate an Invoice based on their payment for an even, etc.

Another aspect of this Invoices thingy, is to create a datagrid-like page that will show all the Invoices in the system and allow for filtering by several criteria (user name, payment date, invoice #, etc.) to get some subset of Invoices to export to excel, or just view, etc.

Can anyone please help me by just posting a skeleton of a “real-life” plugin that has a very rough and basic functionality similar to the one above? I can then analyze it and grasp what I need to structure around it and get going from there…

I will likely need to add a new Table in Indico, so any pointers on how to properly design for and take care of that (SQLAlchemy migration?) will be greatly appreciated as well.

I don’t need help with the templates (for now), as I have some familiarity with Jinja and stuff (from Django).

Thank you!

Hi,

for adding custom tables and adding menus to event management, see e.g. https://github.com/bpedersen2/indico-checkin-webhook-plugin

Other great sources of inspiration are the CERN plugins: https://github.com/indico/indico-plugins-cern

1 Like

Hey,

maybe this presentation will be of help to you https://indico.cern.ch/event/614422/contributions/2703410/attachments/1544441/2425376/plugin_development_.pdf

Regards,
Michal

1 Like

So, Indico uses the Flask plugin system behind the scenes or does it build on top of it?

It is just another module (developed by us) that allows to extend any Flask application with custom plugins.

1 Like