Skip to content

Add Drawio plugin - #586

Open
youssefboutaleb wants to merge 1 commit into
kanboard:mainfrom
youssefboutaleb:add-drawio
Open

Add Drawio plugin#586
youssefboutaleb wants to merge 1 commit into
kanboard:mainfrom
youssefboutaleb:add-drawio

Conversation

@youssefboutaleb

Copy link
Copy Markdown

Adds Drawio to the plugin directory.

Draw.io diagrams inside Kanboard Markdown. A fenced ```diagram block renders as the diagram it describes, with a View full size action for every reader and an Edit action wherever Kanboard already offers one, and the Markdown toolbar gains an Insert diagram button that opens the draw.io editor.

Notes for reviewers:

  • The download URL is a purpose-built release asset, not a GitHub source archive, so it extracts to Drawio/ as the installer expects. remote_install is true; the packaged archive was installed into a clean 1.2.53 and lists as Drawio 0.2.0 under Extensions.
  • No database schema, no migrations, no routes, no controllers, and no Kanboard core files are modified. The Markdown field is the only storage, so disabling the plugin leaves existing content untouched.
  • The plugin adds exactly one CSP directive, frame-src 'self' https://embed.diagrams.net, merged into the existing rules rather than replacing them. DRAWIO_EMBED_URL points it at a self-hosted draw.io instead, and a relative URL adds no third-party origin at all.
  • Diagrams render as <img src="data:image/svg+xml;base64,…">, never as inline SVG, so a hostile payload cannot execute script.
  • No third-party code is bundled. CI runs the test suite and php -l.
  • Entry inserted case-insensitively between DiscordNotifier and duedate; plugins.json validates as strict JSON.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant