RecoReco -- calendar-scheduled recurring cards

Kanboard's built-in recurrence is event-triggered (a card recurs when you move or close it). RecoReco adds calendar-triggered recurrence: a card fires on a date, on its own, via cron -- made for bills, rent, and subscriptions.

A card marked recurring stays as a template; on schedule, RecoReco spawns a plain (non-recurring) copy into a column you choose. The template advances to the next date; the copy keeps the fired date.

RecoReco is opt-in per card and inert until you mark a card, so it needs no per-board setting. It leaves native recurrence untouched (the two are mutually exclusive per card).

The idea

  • The due date is the anchor. All timing (day, month, weekday, time) is read from the card's due date -- there are no separate date inputs. A card without a due date cannot be made recurring.
  • Frequencies: yearly, monthly by day, monthly by weekday, weekly, daily.
  • Last day of the month: an explicit checkbox (honored only when the due date is the last day, or the last such weekday, of its month).
  • Lead time: "create the copy N days before the due date", so the card shows up early enough to act on; the copy is still due on the real day.

Status

Early development. This version adds the Recurring schedule modal (a task sidebar action) and stores the settings in task metadata. The scheduling engine and the cron command arrive in the following versions.

Requirements

  • Kanboard >= 1.2.0

Installation

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

License

AGPL-3.0. See LICENSE.

Description
No description provided
Readme AGPL-3.0 220 KiB
Languages
PHP 90.2%
JavaScript 9.8%