pm architecture

16
PM Architecture Andy Keller Director of Engineering Dave Shepperton Senior Software Engineer

Upload: traction-software-inc

Post on 30-Nov-2014

811 views

Category:

Technology


0 download

DESCRIPTION

Andy Keller and Dave Shepperton, Traction Software. Traction User Group, Oct 14 2010, Newport RI. TUG 2010 Newport slides, agenda and more see www.TractionSoftware.com

TRANSCRIPT

Page 1: PM Architecture

PM Architecture

Andy KellerDirector of Engineering

Dave SheppertonSenior Software Engineer

Page 2: PM Architecture

Two main parts

• Data model

• Implementation

22

Page 3: PM Architecture

Data Model: 3 entry types

• Projects

• Milestones

• Tasks

3

Page 4: PM Architecture

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 ;-)

4

Page 5: PM Architecture

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

5

Page 6: PM Architecture

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

6

Page 7: PM Architecture

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

7

Page 8: PM Architecture

8

Entry Labels: used for PM

TaskTask

ProjecProjectt

MilestMilestoneone

Milestoneshave

Project

Tasks haveProject andMilestone

Page 9: PM Architecture

Data model: Task associations

• Task

• Task associated with a Milestone

• Task in a Project

• Task in a Project and Milestone

9

Page 10: PM Architecture

Implementation

• Indexes task metadata in a database

• Uses new features of the Traction SDK

• Custom entry types

• Entry decorators

• Entry labels

• XML Forms

11

Page 11: PM Architecture

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.

12

Page 12: PM Architecture

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

13

Page 13: PM Architecture

XML Forms

• Covered this morning in customizing profiles

• 5 forms

• taskinline, taskitem, taskdialog

• milestone

• goal

14

Page 14: PM Architecture

XML Forms: triggering

15

• 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

Page 15: PM Architecture

XML Forms: HTML rendering

• taskinline and taskdialog use HTML rendering

• offers more customization of layout, but still using XML controls

16

Page 16: PM Architecture

XML Forms: HTML rendering

17

<gwt.rpc.form>

<gwt.rpc.field>

Turns an HTML block into a form, replacing fields.

Replaced with a control from the schema.