-
-
Notifications
You must be signed in to change notification settings - Fork 184
Description
Overview
A proposal for a visual workflow and plugin system that allows users to extend and customize Part-DB without needing PHP knowledge. Logic would be created through a graphical node-based editor (rete.js, vue flow ...).
Motivation
Part-DB is valuable because it is server-based and requires no additional software installation. A flexible plugin system would allow users to tailor Part-DB to their needs. For example, a user could generate a QR code that triggers an API endpoint to adjust stock levels (e.g., +x or −x) when scanning a part.
This avoids adding niche features directly into the core and empowers end users to build their own extensions.
Key Capabilities
- Creation of custom API endpoints, including dynamic parameters such as
/api/part/{id}/change/{value}. - Visual workflows triggered by:
- Page loads
- Button clicks
- API requests (GET/POST with URL parameters)
- Scheduled tasks
- Data changes within Part-DB
- Ability to inject UI elements (buttons, menu items) at defined locations, to trigger the plugin function.
- Support for building new distributor integrations as plugins without writing PHP.
Community Questions
- Would this system be useful to you?
- Which node types would you need?
- What use cases do you envision?
- Would a plugin repository or plugin store be beneficial?
Brief Objection
I myself also don’t know how much work that would be, since my PHP experience goes back several years. But from my point of view, it would make later adjustments easier. For example, one could move all info providers from the PHP system there. That way, if something changes with the APIs or a new distributor is needed, you can easily put it together yourself without having to update the PartDB itself. The plugins (which ultimately are JSON, XML, or whatever you want) can then be imported/exported and shared in that way.