PM Architecture Andy Keller Director of Engineering Dave Shepperton Senior Software Engineer
Two main parts Data model Implementation 2
Data Model: 3 entry types Projects Milestones Tasks
Data Model: Spaces vs. Projects In Traction 4.x, we referred to Spaces as Projects The term Project is now used for a set of Tasks and Milestones In the SDK and SDL: Project is still used for Space Goal is used for Project – to avoid confusion  ;-)
Data model: Projects Normal Entry Title, Body, Author, Tags, Attachments, Comments, etc. Additional Metadata Due Date Owners Members Status Associated Entries Has Milestones Has Tasks
Data model: Milestones Normal Entry Title, Body, Author, Tags, Attachments, Comments, etc. Additional Metadata Due Date Status Associated Entries Has Tasks May belong to a Project
Data model: Tasks Normal Entry Title, Body, Author, Tags, Attachments, Comments, etc. Additional Metadata Due Date, Start Date Status, Priority Assignees Estimate, Duration Associated Entries May belong to a Project May be associated with a Milestone, which provides a default Due Date
Entry Labels: used for PM Task Project Milestone Milestones have Project Tasks have Project and Milestone
Data model: Task associations Task Task associated with a Milestone Task in a Project Task in a Project and Milestone
Data model: Relationships Tasks can belong to a project and assigned a milestone (optional) Milestones can belong to a project (optional) Tasks, milestones, and projects can all have a due date and other metadata
Implementation Indexes task metadata in a database Uses new features of the Traction SDK Custom entry types Entry decorators Entry labels XML Forms
JavaDB for the index Content is stored in Traction as Entries Title and description Labels Entry properties Indexed in the DB Simple SQL queries Sorting, totals, etc.
Pipeline Custom forms Content stored in the journal Event listener indexes metadata in database db.query tag to query the database db.entries tag turns query results into entries
XML Forms Covered this morning in customizing profiles 5 forms taskinline, taskitem, taskdialog milestone goal
XML Forms: triggering renders a form inline in the page creates a button to add or edit a form in a dialog fqid= attribute will trigger an edit
XML Forms: HTML rendering taskinline and taskdialog use HTML rendering offers more customization of layout, but still using XML controls
XML Forms: HTML rendering < gwt.rpc.form > < gwt.rpc.field > Turns an HTML block into a form, replacing fields. Replaced with a control from the schema.

PM Architecture

  • 1.
    PM Architecture AndyKeller Director of Engineering Dave Shepperton Senior Software Engineer
  • 2.
    Two main partsData model Implementation 2
  • 3.
    Data Model: 3entry types Projects Milestones Tasks
  • 4.
    Data Model: Spacesvs. Projects In Traction 4.x, we referred to Spaces as Projects The term Project is now used for a set of Tasks and Milestones In the SDK and SDL: Project is still used for Space Goal is used for Project – to avoid confusion ;-)
  • 5.
    Data model: ProjectsNormal Entry Title, Body, Author, Tags, Attachments, Comments, etc. Additional Metadata Due Date Owners Members Status Associated Entries Has Milestones Has Tasks
  • 6.
    Data model: MilestonesNormal Entry Title, Body, Author, Tags, Attachments, Comments, etc. Additional Metadata Due Date Status Associated Entries Has Tasks May belong to a Project
  • 7.
    Data model: TasksNormal Entry Title, Body, Author, Tags, Attachments, Comments, etc. Additional Metadata Due Date, Start Date Status, Priority Assignees Estimate, Duration Associated Entries May belong to a Project May be associated with a Milestone, which provides a default Due Date
  • 8.
    Entry Labels: usedfor PM Task Project Milestone Milestones have Project Tasks have Project and Milestone
  • 9.
    Data model: Taskassociations Task Task associated with a Milestone Task in a Project Task in a Project and Milestone
  • 10.
    Data model: RelationshipsTasks can belong to a project and assigned a milestone (optional) Milestones can belong to a project (optional) Tasks, milestones, and projects can all have a due date and other metadata
  • 11.
    Implementation Indexes taskmetadata in a database Uses new features of the Traction SDK Custom entry types Entry decorators Entry labels XML Forms
  • 12.
    JavaDB for theindex Content is stored in Traction as Entries Title and description Labels Entry properties Indexed in the DB Simple SQL queries Sorting, totals, etc.
  • 13.
    Pipeline Custom formsContent stored in the journal Event listener indexes metadata in database db.query tag to query the database db.entries tag turns query results into entries
  • 14.
    XML Forms Coveredthis morning in customizing profiles 5 forms taskinline, taskitem, taskdialog milestone goal
  • 15.
    XML Forms: triggeringrenders a form inline in the page creates a button to add or edit a form in a dialog fqid= attribute will trigger an edit
  • 16.
    XML Forms: HTMLrendering taskinline and taskdialog use HTML rendering offers more customization of layout, but still using XML controls
  • 17.
    XML Forms: HTMLrendering < gwt.rpc.form > < gwt.rpc.field > Turns an HTML block into a form, replacing fields. Replaced with a control from the schema.