TaskAlot 3.2 - Technical specification

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

Task

  • Start with database table task, as this is the central entity
  • Implement databases as standalone databases. I can always incorporate them later as inline databases, when so desired.

Properties

Property Type Remarks
Name Name Just the name of the task
Category Multi-select A locally populated multi-select dropdown box - Seems overkill to define a database table just for categories
Project Relation
  • A task could be associated with multiple projects or none at all. That works fine through this kind of relation
  • Currently, the choice here is not limited to the selected category - I'm not sure if it's really worth the complications of implementing it
People Relation
  • Refers to one or more items from database table People
  • See chapter People for details
Kanban Status Select Locally-populated dropdown box where only 1 item can be selected → See separate section for details
CreatedTimestamp Created time
  • This property is needed, as DoWeek is only a weeknumber without a year. When in doubt to which year a weeknumber refers, this field can be used. Also at the turn of the year, the old weeklnumbers could be upgraded to e.g., year.wk, as I used to do manually in Trello
  • Keep this property at the end of the list of properties, for it isn't needed often.

Properties not implemented

Property Type Remarks
Project kanban status Rollup
  • Tasks usually are associated with projects. This property contains the kanban status of the project: This is needed in order to be able to have changes of project status propagate to the associated tasks. One potential problem: When a task is associated with multiple projects, and one projects gets closed but the other stays active. What will happen to this task (it should stay open)?
  • Is this worth the complications?
DoWeek Number - Integer
  • The number of the week for when this task is planned
  • For now, I include this figure in the title of the task - Not as a separate field
Est. duration (h) Number - Integer
  • How many hours is this task estimated to take?
  • In Notion, there is no difference between property name and title → I used a human-readable property name
  • For now, I include this number in the title of the task - Not as a separate field

Kanban Status

  • Kanban Status is the 'global status' that is used for all tasks for grouping. 'Global status' means here, that it is used for grouping in views that bring tasks together from multiple projects
  • Currently, it is implemented as a local dropdown box at the task database table - Prettier and simpler
  • It hasn't been implemented yet for projects → See elsewhere
  • I think the correct English term is status, not state, although the differences are subtle [1].

Entries:

Entry Colour Remarks
Backlog Grey
  • This is the default value for newly created tasks (not implemented yet)
  • This can be anything. Including things that might never get done, because plans change along the way. It's therefore important, that I'm not too much hindered by these things and that I don't get nervous by them. That's what Next is rather for
Next Red I like this extra status: These are the tasks that are sufficiently well-described to be actionable. E.g.:
  • When someone is about to be finished with a task, that he/she already has several tasks to choose from
  • These might be the tasks that are already planned-in. Like in which week they are expected to be delivered
Doing Orange I'm often struggling to find a term that accurately describes what I mean by this status:
  • Doing
  • Active
  • Current
  • In progress.
Done Green This is the status for everything that is not active anymore and not likely to be active again (otherwise, I would move it back to Next or Backlog). Again, I'm struggling to find a accurate label, as it should include abandoned items. E.g.:
  • Completed
  • Concluded
  • Done
  • Finished
  • Non-active

Tasks belonging to multiple categories & projects

It seems to be problematic to associate a task in Notion to multiple categories/projects: An example:

  • Task shopping wk02 belongs to category/project Private/renovation and to category/project Overhead/ImproveInternetConnection
  • This implies that at Categories, there are two values: Private and Overhead and at Project, there are also two values: Renovation and ImproveInternetConnection. But it's not clear which project belongs to which category

I suspect this will be problematic, although I can't pinpoint why.

Ideas for solutions:

  • Only use one hierarchical ordering, and beyond that, just tags or so
  • Don't use hierarchical objects in ordering. E.g., project ImproveInternetConnection would become Overhead - ImproveInternetConnection.

Project

Properties:

Property Type Remarks
Name Name Just the name of the project
Category Multi-select
  • A locally populated multi-select dropdown box. Categories rarely change (maybe once every couple of years)
  • There is no database table for Categories - S. didn't create one for TaskAlot 3.0 and I can probably adopt that approach

It doesn't yet have a Kanban Status field - That will come by the time projects are getting finished.

People

People is a database table for people with whom I work together, both in business and privately. Suprisingly, it really has only one property:

Property Type Remarks
Name Name Just the name of the person + logo (which seems only possible in peek view)

Implement it as a database table or as a locally populated dropdown-box? → Database table:

  • S. did so as well
  • I don't want to have to recreate this for projects
  • It might be nice-to-have that I can go to a person's record and see where his/her name else appears.

How this was implemented in earlier versions of TaskAlot:

  • TaskAlot 1.0: With a separate field Picture - Appearantly, I didn't know you can add a picture to a row without defining it as a property
  • TaskAlot 2.0: Same as here
  • TaskAlot 3.0: Same as here + Gallery view - I haven't used gallery view myself yet.

See also

Sources