| About the Author |
|
xi | |
| About the Technical Reviewer |
|
xiii | |
| Acknowledgments |
|
xv | |
| Introduction |
|
xvii | |
|
Chapter 1 Design Trade-Offs |
|
|
1 | (6) |
|
|
|
2 | (2) |
|
|
|
4 | (1) |
|
The Human Side of Trade-Offs |
|
|
5 | (1) |
|
|
|
5 | (2) |
|
Chapter 2 Inside vs. Outside of the Box |
|
|
7 | (8) |
|
|
|
7 | (3) |
|
|
|
7 | (2) |
|
|
|
9 | (1) |
|
Designing Inside and Outside of the Box |
|
|
10 | (3) |
|
|
|
10 | (1) |
|
|
|
11 | (1) |
|
|
|
11 | (1) |
|
Road Map for Stepping Outside the Box |
|
|
12 | (1) |
|
|
|
13 | (2) |
|
Chapter 3 Database Design for APEX |
|
|
15 | (4) |
|
|
|
15 | (1) |
|
|
|
16 | (1) |
|
|
|
17 | (1) |
|
|
|
18 | (1) |
|
Chapter 4 Many Light Pages vs. One Heavy Page |
|
|
19 | (18) |
|
APEX Wizards Build Many Light Pages |
|
|
19 | (3) |
|
Merging Many Light Pages into a Few Heavy Pages |
|
|
22 | (3) |
|
Light Pages vs. Heavy Pages: Picking the Correct Strategy |
|
|
25 | (11) |
|
|
|
25 | (1) |
|
|
|
26 | (1) |
|
|
|
27 | (9) |
|
|
|
36 | (1) |
|
Chapter 5 Database Updates |
|
|
37 | (14) |
|
|
|
37 | (3) |
|
|
|
40 | (4) |
|
DEV vs. TEST and PROD Environments |
|
|
44 | (1) |
|
|
|
44 | (3) |
|
|
|
47 | (3) |
|
|
|
50 | (1) |
|
Chapter 6 Cookie Applications |
|
|
51 | (16) |
|
APEX Cookie Application Architecture |
|
|
51 | (9) |
|
|
|
54 | (1) |
|
|
|
55 | (3) |
|
|
|
58 | (1) |
|
Sharing Regions and Pages Among Cookie Apps |
|
|
59 | (1) |
|
Parameters That Will Never Change |
|
|
60 | (6) |
|
|
|
61 | (3) |
|
|
|
64 | (1) |
|
|
|
64 | (1) |
|
|
|
65 | (1) |
|
Designing Cookie Application Environments |
|
|
66 | (1) |
|
|
|
66 | (1) |
|
|
|
67 | (18) |
|
The Need for Configuration |
|
|
67 | (1) |
|
Built-in Access Control Page |
|
|
67 | (4) |
|
Authorization Architecture |
|
|
71 | (3) |
|
Binding APEX Users to Components |
|
|
74 | (5) |
|
Finding the Value of APP_COMPONENT_NAME |
|
|
74 | (3) |
|
Coding the Authorization Scheme |
|
|
77 | (2) |
|
Authorization Granularity |
|
|
79 | (1) |
|
|
|
79 | (1) |
|
|
|
79 | (1) |
|
A Mixture of Coarse and Fine Grained Authorization |
|
|
79 | (1) |
|
Authorization Configuration Pages |
|
|
80 | (2) |
|
|
|
81 | (1) |
|
|
|
82 | (1) |
|
Training the Configuration Team |
|
|
82 | (1) |
|
Authorization vs. Conditions |
|
|
83 | (1) |
|
|
|
83 | (2) |
|
|
|
85 | (18) |
|
|
|
86 | (4) |
|
|
|
86 | (1) |
|
|
|
87 | (3) |
|
|
|
90 | (3) |
|
|
|
90 | (1) |
|
|
|
91 | (2) |
|
|
|
93 | (9) |
|
GUI Design for Multiple User Groups |
|
|
94 | (4) |
|
GUI Style: Conservative vs. Trendy |
|
|
98 | (2) |
|
GUI Layout and Terminology |
|
|
100 | (2) |
|
|
|
102 | (1) |
|
|
|
103 | (16) |
|
|
|
103 | (1) |
|
|
|
104 | (1) |
|
|
|
104 | (11) |
|
|
|
105 | (1) |
|
JavaScript Validations with AJAX Calls |
|
|
106 | (2) |
|
APEX Computations and Validations |
|
|
108 | (2) |
|
Transaction API and Constraints |
|
|
110 | (2) |
|
APEX Error-Handling Function Mechanism |
|
|
112 | (2) |
|
The Prime Directives of Validation Logic |
|
|
114 | (1) |
|
|
|
115 | (2) |
|
|
|
115 | (1) |
|
|
|
116 | (1) |
|
|
|
117 | (1) |
|
|
|
118 | (1) |
|
|
|
119 | (16) |
|
|
|
119 | (10) |
|
Internal Company Employees |
|
|
120 | (5) |
|
|
|
125 | (4) |
|
|
|
129 | (1) |
|
Native vs. Browser/Server |
|
|
129 | (2) |
|
|
|
130 | (1) |
|
Browser/Server Applications |
|
|
130 | (1) |
|
Hybrid Mobile Applications |
|
|
131 | (1) |
|
|
|
131 | (3) |
|
Responsive vs. jQuery Mobile |
|
|
132 | (1) |
|
|
|
132 | (2) |
|
|
|
134 | (1) |
|
Chapter 11 Rules and Guidelines |
|
|
135 | (10) |
|
|
|
135 | (3) |
|
|
|
135 | (1) |
|
Standardize Low Value Decisions |
|
|
136 | (1) |
|
|
|
137 | (1) |
|
Manage Stakeholder Expectations |
|
|
137 | (1) |
|
On-Boarding New Personnel |
|
|
138 | (1) |
|
Writing a Standards Document |
|
|
138 | (6) |
|
|
|
138 | (1) |
|
Accessible with One or Two Clicks |
|
|
139 | (1) |
|
|
|
139 | (3) |
|
Easily Updated and Extended |
|
|
142 | (1) |
|
|
|
143 | (1) |
|
|
|
144 | (1) |
| Appendix A A Cloudy Crystal Ball |
|
145 | (2) |
| Appendix B Things Not Covered |
|
147 | (2) |
| Index |
|
149 | |