I’m exploring NocoDB to create a shared view of a set of tasks some of them recurring, some of them unique. Previously I had used Taskwarrior for my own task management, but being this a shared view, I think that is the perfect opportunity to test NocoDB and a shared friendlier web editing experience, instead of the nice, solo and nerdy Taskwarrior.
Anyway, I have a column with recurrence of a task as a single select field with values like “once, daily, every other day, weekly, monthly” to choose from. So far, so good. But I would like to be able to have a detailed view of some of the tasks that recur monthly.
For example, let’s say I have a monthly task that is “collect the rent” and two date fields with the last time it was collected, and the next time it will be. I could change these two fields to indicate that the last month was collected at a particular date, and that the current one is still to be collected. But each time I change the dates, I will be losing historical info. There is any way to have such recurring tasks in another table where I can collect detailed information, but also see part of them in a general tasks overview table?
Yes, this can be achieved in NocoDB using a relational setup between two tables — one for the master recurring tasks and one for individual occurrences (log entries/history). Here’s how you can structure it:
Table 1: Tasks
This is your main tasks list, with both unique and recurring tasks.
Fields:
Task Name (Single line text)
Recurrence (Single select: once, daily, every other day, weekly, monthly)
Next Due Date (Date)
Last Completed Date (Date)
Occurrence Logs (Linked record → from Task Logs)
(Optional: Status, Assignee, Notes, etc.)
Table 2: Task Logs (or Task History)
This is the detailed log of each time the task is completed, allowing you to preserve historical data.
Fields:
Task (Linked record → to Tasks)
Date Completed (Date)
Notes (Long text, optional)
Performed By (User field, optional)
How It Works
When a recurring task (e.g., “collect the rent”) is completed, you add a new record in the Task Logs table, linked to the master task in the Tasks table.
This way, you preserve history of all completions.
In the Tasks table, you still maintain a high-level overview with Next Due Date, Last Completed, etc.
You can roll up the latest completed date using a Rollup field from the linked logs: