Skip to content

GTD Models

m3wolf edited this page May 17, 2013 · 5 revisions

Node Object

In OrgWolf, the main data object is the Node. It gets passed around between the various platforms as well as the javascript and python code. Nodes are stored in hierarchy trees. Each tree is treated as an independent project. See Storing Hierarchical Data in a Database for a nice summary.

Node Fields

It has the following attributes, saved as columns in the database:

  • pk - Primary key, currently the same as the id field
  • title - Human readable title for this Node
  • slug - URL friendly title. This should stay the same even if the title attribute changes.
  • todo_state - Foreign Key to a TodoState object that is associated with this Node.
  • archived - If false, this Node does not show up unless the "Show All" button has been clicked.
  • tree_id - The project (tree) that this node belongs too.
  • lft - Used for determining the structure of a given project (tree)
  • rght - Opposite edge to lft.
  • parent - The Node directly above this one in the tree.
  • level - How far down in its tree this Node is. Root nodes -> 0.
  • text - HTML text holds details associated with the Node.
  • tag_string - A ':' seperated list of tags. Tags associate this Node with a gtd.models.Tag object.
  • scope - What area of responsibility this falls under (eg. work, family). Foreign key to a Scope object.
  • owner - A foreign key to an OrgWolfUser object listing who owns this Node.
  • assigned - A foreign key to a Contact object that represents who this Node is assigned to. If None, then associated with owner field.
  • users - Other people that can see all of this tree (for multi-person projects).
  • opened - Date-time of when the Node was created. Usually set at creation and not changed.
  • closed - Date-time of when the Node was changed to a completed todo_state field reference.
  • deadline - Date-time of when the Node is flagged as overdue.
  • deadline_time_specific - Whether time should be considered, or just date, in the deadline field.
  • scheduled - Date-time of when this Node is scheduled. Only relevant with certain `
  • scheduled_time_specific - Whether time should be considered, or just date, in the scheduled field.
  • time_needed - 'Hi' or 'Lo'
  • priority - 'A', 'B', or 'C'.
  • energy -
  • repeats - True or False whether this node will automatically update the scheduled date when todo_state field is changed to a TodoState that is closed.
  • repeating_unit - 'D'ays, 'W'eeks, 'M'onths or 'Y'ears.
  • repeating_number - How many of repeating_unit field to use for automatic rescheduling.
  • repeats_from_completion- Whether the entry reschedules based on when it's completed or when it was scheduled. False means repeat from when it was scheduled.
  • related_projects - Foreign Key to other Node instances. Allows for cross-tree linking.
Clone this wiki locally