diff options
Diffstat (limited to 'rt/docs/design_docs')
-rw-r--r-- | rt/docs/design_docs/3.3-schema-redesign.txt | 57 | ||||
-rw-r--r-- | rt/docs/design_docs/cvs_integration | 4 | ||||
-rw-r--r-- | rt/docs/design_docs/link-definitions.txt | 2 | ||||
-rw-r--r-- | rt/docs/design_docs/realflow.txt | 191 | ||||
-rw-r--r-- | rt/docs/design_docs/rt-mvc | 32 |
5 files changed, 3 insertions, 283 deletions
diff --git a/rt/docs/design_docs/3.3-schema-redesign.txt b/rt/docs/design_docs/3.3-schema-redesign.txt deleted file mode 100644 index 518eccd..0000000 --- a/rt/docs/design_docs/3.3-schema-redesign.txt +++ /dev/null @@ -1,57 +0,0 @@ --- --------------------------------------- -- --- RT 3.3 Schema redesign v7: 2004-11-08 -- --- --------------------------------------- -- - -TABLE CustomFields ( - id INTEGER NOT NULL AUTO_INCREMENT, - Name varchar(200) NULL , - Type varchar(200) NULL , -- Changed: see MaxValues below - MaxValues integer, -- New: 1 = Single, 0 = Multiple - Pattern varchar(255) NULL , -- New: regex to validate against - Repeated int2 NOT NULL DEFAULT 0 , -- New: repeated table entry - LookupType varchar(255) NOT NULL, -- New: "RT::Queue-RT::Ticket" - Description varchar(255) NULL , - SortOrder integer NOT NULL DEFAULT 0 , -- only used on "pick CF" screen -) - --- This table replaces the "Queue" field in CustomFields -TABLE ObjectCustomFields ( - id INTEGER NOT NULL AUTO_INCREMENT, - CustomField int NOT NULL , -- CustomField ID - ObjectId integer NOT NULL, -- Final id of toplevel parent, or - -- the object itself if ParentType - -- is empty; 0 means global as usual - SortOrder integer NOT NULL DEFAULT 0 , -- this is used to sort the CFs -); - --- This table replaces TicketCustomFieldValues -TABLE ObjectCustomFieldValues ( - id INTEGER NOT NULL AUTO_INCREMENT, - CustomField int NOT NULL , - ObjectType varchar(255) NOT NULL, -- Final target of the Object - ObjectId int NOT NULL , -- New: replaces the "Ticket" field - SortOrder integer NOT NULL DEFAULT 0 , -- New: for Repeated fields - - Content varchar(255) NULL , - LargeContent LONGTEXT NULL, -- New: data longer than 255 bytes - ContentType varchar(80) NULL, -- New: MIME type of LargeContent - ContentEncoding varchar(80) NULL , -- New: for binary LargeContent - Disabled int2 NOT NULL DEFAULT 0 , -- New: whether this is deleted -) - -TABLE Transactions ( - id INTEGER NOT NULL AUTO_INCREMENT, - ObjectType varchar(255) NULL, -- Final target of the Object - ObjectId integer NOT NULL DEFAULT 0 , -- New: replaces the "Ticket" field - TimeTaken integer NOT NULL DEFAULT 0 , - Type varchar(20) NULL , - Field varchar(40) NULL , - OldValue varchar(255) NULL , - NewValue varchar(255) NULL , - ReferenceType varchar(255) NULL, -- NeW: Currently "RT::OCFV" only - OldReference integer NULL , -- New: Id of ReferenceType - NewReference integer NULL , -- New: Id of ReferenceType - Data varchar(255) NULL , -) - --- vim: filetype=mysql shiftwidth=4 expandtab diff --git a/rt/docs/design_docs/cvs_integration b/rt/docs/design_docs/cvs_integration index 45a758f..35c8737 100644 --- a/rt/docs/design_docs/cvs_integration +++ b/rt/docs/design_docs/cvs_integration @@ -85,14 +85,14 @@ marc: I think the idea is to force you to mention the ticket closing in the commit message. () jesse@FSCK.COM: but yeah, state changing - and 'update messages' are separate concepts that should both be + and 'update messages' are seperate concepts that should both be supported. () jesse@FSCK.COM: part of the idea is to drag the commit message into the BTS () jhawk: Err, I think it quite frequent that I want - to put separate info in both the commit message and the ticket system, + to put seperate info in both the commit message and the ticket system, and entering them at the same time seems cool. () jesse@FSCK.COM: ok. noted. I'll see if diff --git a/rt/docs/design_docs/link-definitions.txt b/rt/docs/design_docs/link-definitions.txt index e109744..30b9035 100644 --- a/rt/docs/design_docs/link-definitions.txt +++ b/rt/docs/design_docs/link-definitions.txt @@ -92,7 +92,7 @@ For 2.0, those Linking actions should be supported: Based on user feedback, merged tickets will be displayed as the same ticket within RT's user interfaces. but the original tickets' transactions will be -kept separated in the database. this may require some magic. +kept seperated in the database. this may require some magic. 4. RefersTo / No Action link (linking) diff --git a/rt/docs/design_docs/realflow.txt b/rt/docs/design_docs/realflow.txt deleted file mode 100644 index 3717e27..0000000 --- a/rt/docs/design_docs/realflow.txt +++ /dev/null @@ -1,191 +0,0 @@ -- I have a MonitoredQueue that sets tickets to "Monitored" - if its subject matches /monitored/. - -- I want to have a kind of Ticket that are 'Monitored'. -- I want all monitored tickets, when they are overdue for - 14 days, to: - - send notification to manager - - mark as stalled -- I want all monitored tickets, when they are overdue for - 28 days, to: - - mark as rejected -- I want to query all tickets that are monitored as such -- I want to modify 14 => 15 and have it affect all existing - tickets that are monitored - -{ -- I want to add a new "overdue for 27 days, add a 'ultimatum' - correspondence to it" rule for all monitored tickets. -- I want to add a new "overdue for 27 days, add a 'ultimatum' - correspondence to it" rule for all _new_ monitored tickets - without affecting existing ones. -} - -- The user of OrderRequest queue needs to fill a numeric "CF", - called "Price". -- On creation, it needs to create following approvals: - - "Manager" approval if CF.Price is > 1000 - - "President" approval if CF.Price is > 2000 -- When all of "M", "P" are resolved (if any, or if there were none - to begin with), Create a new approval, "Finance". -- If any approvals above is rejected, reject the original ticket. -- If "Finance" is resolved, resolve original ticket. -- If "Finance" is rejected, create an approval for "CEO". -- If "CEO" is resolved, resolve the original ticket. -- If "CEO" is rejected, reject the original ticket. - -[RuleAction CreateTicketWithRuleset] - -> ReleaseMyLockOnRuleset $ruleset - -> UnlessLockOnRuleset $ruleset - # i.e. if no active tickets still have a lock on it - -> ForceCreateTicketWithRuleset $ruleset - -[Queue OrderRequest] - -> Condition: OnCreate - Action: AddTicketRuleSet "PurchaseApproval" - # Triggers immediately - -[RuleSet: PurchaseApproval] - -> Condition: OnCreate - Condition: CF.Price > 1000 - Action: CreateTicketWithRuleset "ManagerApproval" - -> Condition: OnCreate - Condition: CF.Price > 2000 - Action: CreateTicketWithRuleset "PresidentApproval" - -> Condition: OnCreate - Action: CreateTicketWithRuleset "FinanceApproval" - -> Condition: OnReject - Action: DeleteTree - -[RuleSet: ManagerApproval] - -> Condition: OnCreate - Action: Prohibit Ruleset "FinanceApproval" - -> Condition: OnResolve - Action: CreateTicketWithRuleset "FinanceApproval" - -> Condition: OnReject - Action: RejectTicket TOP - -[RuleSet: PresidentApproval] - -> Condition: OnCreate - Action: Prohibit CreateTicketWithRuleset "FinanceApproval" - -> Condition: OnResolve - Action: CreateTicketWithRuleset "FinanceApproval" - -> Condition: OnReject - Action: RejectTicket TOP - -[RuleSet: FinanceApproval] - -> Condition: OnCreate - Action: Prohibit RuleSet "CEOApproval" - -> Condition: OnResolve - Action: ResolveTicket TOP - -> Condition: OnReject - Action: CreateTicketWithRuleset "CEOApproval" - -[RuleSet: CEOApproval] - -> Condition: OnResolve - Action: ResolveTicket TOP - -> Condition: OnReject - Action: RejectTicket TOP - - - -Prohibit Ticket Operation: - Ruleset CEOApproval - - - - - - - - ,--------. -[TOP] --> [M] --> [F] - ` `-> [P] -' - ` - `-> [X] --> [Y] - - -[TOP] => [Approval] - -> Queue: B - -> Rule: yyy - -> Workflow: W - -> Stage: Approval - -> Rule: xxx - -isa_ok( $Approval->Type, 'RT::Ticket' ); -is( $Approval->Workflow->Name, 'W' ); -is( $Approval->Stage->Name, 'Approval' ); - -[Queue: A] - -> Workflow: W - -[Workflow: W] - -> Stage: TOP - -> Stage: Approval - -> Stage: SUCCESS - -> Stage: FAIL - -"RuleCollections" - -[Stage: TOP] - -> Rule: OnCreate RunStage Approval - -ok( TicketA->Rules->HasEntry($ApprovalRule) ) -ok( TicketB->Rules->HasEntry($ApprovalRule) ) - -[Rule: Approval] - -> Rule: OnResolve RunStage SUCCESS - -> Rule: OnReject RunStage FAIL - -[Stage: SUCCESS] - -> Rule: OnCreate SetStatus('resolved') TOP - -[Stage: FAIL] - -> Rule: OnCreate SetStatus('rejected') TOP - -[Unassociated] - - Rule FOO: OnAnything { - CreateTicketIfNotBlocked StageFOO - AddLink DependedOnBy TOP to Stage1 - AssignRule DoStage2 to Stage1 - AssignRule DoStage3 to Stage1 - } - - Rule BAR: OnAnything { - CreateTicketIfNotBlocked StageBAR - DoSomethingBizzare - } - - ,==> [Stage0] ==>. - , . -[TOP] ==> [Stage1] ==> [Stage3] - ` ' - `==> [Stage2] ==>' - -OnTransaction: - $self->Ticket->Queues->Scrips->Apply - -OnTransaction: - $self->Ticket->Queues->Scrips->Apply - ->Scrips->Apply - -OnTransaction: - $self->Ticket->Queues->Scrips->Apply - ->Stages->Scrips->Apply - -[QueueX] - - Rule: - OnCreate: - RunRule FOO - -[QueueY] - - Rule: - OnWhatever: - RunRule FOO - - -[TOP] => [Stage1] => [Stage2] => [END] - `- => [Stage3] => [END] - ` -> [Stage4] - -[Stages] - -> diff --git a/rt/docs/design_docs/rt-mvc b/rt/docs/design_docs/rt-mvc deleted file mode 100644 index 3518b7d..0000000 --- a/rt/docs/design_docs/rt-mvc +++ /dev/null @@ -1,32 +0,0 @@ -Goals: - - - Never write an init block for a page that just views/edits pages - No style embedded in view/edit pages - - Validation / Error display and re-editing. - - -Implementation. - - - For a given object's fields: - - print a label for the field - print the current values for the field - print an edit widget for create - print an edit widget for update - - - - for a given form buttons for "perform the action" "don't perform the main action" - - -Edit widgets - - - text input - hidden - fixed enum as { dropdown, select multiple, sleect single, radio} - checkbox fixed enum - |