Files
OrganonTweaks/README.md

3.1 KiB

OrganonTweaks -- umbrella plugin for small Kanboard tweaks

A home for small, unrelated Kanboard adjustments that are not big enough to deserve their own plugin. Each tweak is self-contained; more will be added over time. If a tweak grows into a real subsystem it graduates into its own plugin (see PLAN-organon-tweaks-plugin.md).

Tweaks

Remove an empty column

Adds a Remove this Column entry (trash icon) to a board column's header dropdown, next to the other column actions. It appears only when the column is completely empty -- no tasks, open or closed -- because Kanboard's column removal is a plain delete and a non-empty column would orphan its tasks. Clicking it asks for confirmation, then removes the column and returns to the board.

  • The menu entry is rendered by the template:board:column:dropdown hook (which sits outside the native menu list), then moved into the menu by Asset/js/relocate.js.
  • The empty check counts open and closed tasks via a helper (Helper/OrganonColumnHelper.php, taskFinderModel->countByColumnId(...)), since the board's own count is open-only.
  • Only users allowed to manage columns see it, and the controller re-checks both the permission and the emptiness before deleting.

Always show the comment icon

Kanboard shows the comment icon on a board card only once it has at least one comment, so adding the first comment means opening the card and finding the sidebar link. With this tweak on, a card with no comments shows a comment bubble with a "+" that opens the same comment modal, letting you add the first comment straight from the board. Cards that already have comments keep showing the count as before.

  • Rendered by the template:board:task:icons hook (Template/board/task_comment_icon.php), only when the card has no comments and the user may create one (so it does not show for read-only viewers).
  • On by default. Toggle it under "Settings -> Organon Tweaks".

Keep the board scroll position across refreshes

When you drop a card (or Kanboard auto-refreshes the board via polling), it rebuilds the board with $("#board-container").replaceWith(...), and the new element starts scrolled to the far left -- so the view jumps back to the first column. This tweak remembers the horizontal scroll position and restores it as soon as the rebuilt board appears, so the board stays where you were.

  • Implemented in Asset/js/keep-scroll.js: it observes the stable parent (the container itself is replaced), reads/writes scrollLeft on whichever #board-container is current.
  • On by default. Toggle it under "Settings -> Organon Tweaks".

Settings

Global (per Kanboard instance) and admin-only, under "Settings -> Organon Tweaks":

  • Always show the comment icon on board cards -- default on.
  • Keep the board scroll position across refreshes -- default on.

Requirements

  • Kanboard >= 1.2.0

Installation

Copy this folder into your Kanboard installation as plugins/OrganonTweaks/. The directory name must be exactly OrganonTweaks (Kanboard derives the plugin namespace from the folder name). No build step and no database migration.

License

AGPL-3.0. See LICENSE.