1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
digraph G {
size="7.5,10";
ranksep=3;
ratio=auto;
## User Facing
node "PageLoadingDisable" [label="Page Loading,\nDisable Inputs & Actions", style=filled, color=red];
node "InitialPageFocus" [label="Set Initial Page Focus", style=filled, color=red];
node "EliminateLostUpdate" [label="Eliminate\n'Lost Updates'", style=filled, color=red];
node "ReduceLostUpdate" [label="Reduce\n'Lost Updates", style=filled, color=red];
node "MissingUrlData" [label="Handle Bad\nFragment Data", style=filled, color=red];
node "Validation" [label="Enforce\nField Constraints", style=filled, color=red];
node "ReduceConnections" [label="Speed Up Pages", style=filled, color=red];
node "I18n" [label="I18n non/limited data", style=filled, color=red];
## Dev Facing
node "ServletNonOO" [label="RPC Servlet Non-OO", style=filled, color=yellow];
node "ServletSlower" [label="RPC Servlet\nSynchronous/Slower", style=filled, color=yellow];
node "DomainObjects" [label="Generated Domain\nModel Objects Lacking", style=filled, color=yellow];
## Inner
node "SingleLoadRPC" [label="Load Data w/\nSingle RPC", style=filled, color=green];
node "FormEngine" [label="Form Engine", style=filled, color=green];
node "I18nWidgets" [label="I18n Widgets", style=filled, color=green];
node "WebServiceAPIchanges" [label="Web Service\nAPI changes", style=filled, color=green];
node "SingleSaveRPC" [label="Save Data w/\nSingle RPC", style=filled, color=green];
node "EnhancedGeneratedCode" [label="Enhanced Model\nGenerated Code", style=filled, color=green];
node "ImageManager" [label="Image Manager", style=filled, color=green];
node "I18nLoader" [label="Load 'Local' Based\nString Templates", style=filled, color=green];
node "RefactorServlet" [label="Servlet from Impl\nto Delegator", style=filled, color=green];
node "SATCH" [label="Simple Asynchronous\nThreaded Call Handler", style=filled, color=green];
## Middle
node "ManageInputsAndActions" [label="Manage Inputs &\nActions"];
node "KnowWhenLoaded" [label="Know When\nLoading Completes"];
node "ManageForm" [label="Track Input Changes &\nManage Buttons"];
node "StaleData" [label="Add Exceptions\nfor Stale Data"];
node "IDsGood" [label="Switch Update API\nto use IDs"];
node "Dictionary" [label="String Templates\nDictionary"];
node "NewWidgets" [label="Widgets:\nText Buttons,\nI18n Labels"];
node "EnhancedExceptions" [label="Exceptions w/ Template\nIDs & Substitutions"];
node "SingleUrlCheck" [label="Single Point/Page\nCheck URL Data"];
node "ValidationHome" [label="Specify Limits\nand Validation"];
node "LimitCalls" [label="Limit AJAX Calls"];
node "PrefetchImages" [label="Prefetch Images"];
## User
PageLoadingDisable -> ManageInputsAndActions -> FormEngine;
PageLoadingDisable -> KnowWhenLoaded -> SingleLoadRPC;
InitialPageFocus -> ManageInputsAndActions;
InitialPageFocus -> KnowWhenLoaded;
EliminateLostUpdate -> ManageForm -> FormEngine;
EliminateLostUpdate -> StaleData -> WebServiceAPIchanges;
EliminateLostUpdate -> IDsGood -> WebServiceAPIchanges;
ReduceLostUpdate -> ManageForm;
ReduceConnections -> PrefetchImages -> ImageManager;
ReduceConnections -> LimitCalls -> SingleLoadRPC;
LimitCalls -> SingleSaveRPC;
I18nWidgets -> NewWidgets [dir=back];
NewWidgets -> I18n [dir=back];
SingleLoadRPC -> SingleUrlCheck [dir=back];
SingleUrlCheck -> MissingUrlData [dir=back];
I18nLoader -> Dictionary [dir=back];
Dictionary -> I18n [dir=back];
WebServiceAPIchanges -> EnhancedExceptions [dir=back];
EnhancedExceptions -> I18n [dir=back];
FormEngine -> ValidationHome [dir=back];
EnhancedGeneratedCode -> ValidationHome [dir=back];
ValidationHome -> Validation [dir=back];
## Dev
ServletNonOO -> RefactorServlet;
ServletSlower -> SATCH;
EnhancedGeneratedCode -> DomainObjects [dir=back];
## Consequenses
SingleLoadRPC -> ServletNonOO;
SingleLoadRPC -> ServletSlower;
SingleSaveRPC -> ServletNonOO;
SingleSaveRPC -> ServletSlower;
}
|