Skip to content
BryanHunt edited this page Sep 14, 2012 · 33 revisions

Artifact

{
  "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//Artifact",
  "name" : "String",
  "createdOn" : "Date"
}

AssignableItem

Defined in the Entity Domain

Attachment

An Attachment is a representation of arbitrary data (screenshot, text, spreadsheet, etc) that is associated with a task. The attachment contains the metadata describing the attachment data but not the data itself. This allows a client to display attachment information to the user without having to fetch the (possibly large) attachment data.

{
  "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//Attachment",
  "name" : "String",
  "createdOn" : "Date",
  "description" : "String",
  "sizeInBytes" : "int",
  "dataContainer" : { "$ref" : "AttachmentData URI" }
}

AttachmentData

{
  "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//AttachmentData",
  "data" : ["byte"]
}

AuditableItem

Defined in the Audit Domain

Comment

A Comment is a representation of arbitrary text attached to a task by a person.

{
  "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//Comment",
  "text" : "String",
  "createdOn" : "Date",
  "owner" : { "$ref" : "Person URI" }
}

Linkable

Defined in the Data Domain

Person

Defined in the Entity Domain

RelatedTasksMapping

{
  "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//RelatedTasksMapping",
  "key" : { "$ref" : "TaskRelationship URI" },
  "value" : [{ "$ref" : "Task URI" }]
}

State

Defined in the State Domain

StateGroup

Defined in the State Domain

StateTransition

Defined in the State Domain

StateTransitionMapping

Defined in the State Domain

Task

A Task represents a unit of work that has an owner and a current state. A task may also have subscribers, attachments, and comments. Subscribers are notified when a task changes. Comments are stored in chronological order.

{
  "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//Task",
  "summary" : "String",
  "description" : "String",
  "category" : "String",
  "createdOn" : "Date",
  "createdBy" : { "$ref" : "Person URI" },
  "attachments" : [{ "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//Attachment" }],
  "comments" : [{ "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//Comment" }],
  "currentState" : { "$ref", "State URI" },
  "subscribers" : [{ "$ref" : "Person URI" }],
  "type" : { "$ref" : "Type URI" },
  "project" : { "$ref" : "Project URI" },
  "relatedTasks" : [{ "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//RelatedTasksMapping" }],
  "resolution" : { "$ref" : "TaskResolution URI" },
  "resolvedOn" : "Date",
  "resolvedBy" : { "$ref" : "Person URI" },
  "dueOn" : "Date",
  "startedOn" : "Date",
  "estimate" : { "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//Duration" },
  "correctedEstimate" : { "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//Duration" },
  "owner" : { "$ref" : "Person URI" },
  "history" : [{ "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//TaskAttributeChange" }],
  "linksByName" : [{ "eClass" : "http://www.eclipselabs.org/etrack/domain/data#//LinkMapping" }]
}

TaskAttributeChange

{
  "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//TaskAttributeChange",
  "oldValue" : "String",
  "attributeName" : "String",
  "initiatedOn" : "Date",
  "initiatedBy" : { "$ref" : "Entity URI" }
}

TaskDomain

A TaskDomain is a collection of states and transitions that form a state machine for a specific task type. This allows users to customize the states and transitions for their workflow.

{
  "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//TaskDomain",
  "name" : "String",
  "states" : [{ "eClass" : "http://www.eclipselabs.org/etrack/domain/state#//State" }],
  "transitions" : [{ "eClass" : "http://www.eclipselabs.org/etrack/domain/state#//StateTransition" }],
  "taskTypes" : [{ "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//TaskType" }],
  "stateGroups" : [{ "eClass" : "http://www.eclipselabs.org/etrack/domain/state#//StateGroup" }],
  "relationships" : [{ "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//TaskRelationship" }]
}

TaskDomainLink

{
  "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//TaskDomainLink",
  "name" : "String",
  "description" : "String",
  "taskDomain" : { "$ref" : "TaskDomain URI" }
}

TaskGroup

{
  "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//TaskGroup",
  "name" : "String",
  "project" : { "$ref" : "Project URI" }
}

TaskQuery

{
  "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//TaskQuery",
  "query" : "String",
  "owner" : { "$ref" : "Person URI" }
}

TaskRelationship

{
  "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//TaskRelationship",
  "name" : "String"
}

TaskType

A TaskType defines the metadata for a task such as the states and transitions available for all tasks of a given type. A TaskType also contains a reference to an EMF EPackage which allows for the Task to be dynamically extended at runtime. This allows a user to define something like a Defect or Story that has additional attributes without having to write code.

{
  "eClass" : "http://www.eclipselabs.org/etrack/domain/task#//TaskType",
  "name" : "String",
  "states" : [{ "eClass" : "http://www.eclipselabs.org/etrack/domain/state#//StateTransitionMapping" }],
  "extension" : { "$ref" : "EPackage URI" },
  "startingState" : { "$ref" : "State URI" },
  "relationships" : [{ "$ref" : "TaskRelationship URI" }]
}

Clone this wiki locally