Please note that index links point to page beginnings from the print edition. Locations are approximate in e-readers, and you may need to page down one or more times after clicking a link to get to the indexed material.
Symbols and Numbers
# (hash) sign, 305
#search
page definition, 132–133
$http
service, for Ajax requests, 199
$location service, 196
$routeParams
service, 199
%IntBroker.GetURL
method, in generating URLs, 292
. (dot), in search page creation, 186
; (semicolons)
JavaScript and, 186
new controllers and, 197–198
401 Not Authorized response, 383
A
accessors
data bound, 407
generating, 396–397
activity_main.xml
search page, 346–347
adaptive design, Fluid pages and, 32–33
Add Compound Child, in Document Builder, 78–79
Add New Document data-entry page, 106–107
Add New Service page, 277, 310
Add to Homepage option, for Fluid pages, 47
AddStylesheet
function, 63
Adobe Flash, 6
Ajax requests
$http service for, 199
jQuery Mobile and, 131–132
page definitions and, 138
submitting search parameters, 148
web servers for, 20
aliasing
AngularJS project, 328
defining URL, 303–304
Allow
directive, configuring Apache, 304–307
amx:commandButton
, 425
AndriodManifest.xml file, 338
Android applications
creating, 336–337
launching, 339–340
log files for, 427
networking with, 340–344
reviewing, 337–338
Android Device Monitor File Explorer, 428
Android Eclipse ADT plugin, 338
Android emulators
Cordova template running in, 372–374
creating/testing, 25–26
debugging tips, 26–28
downloading SDK ADT bundle, 23–24
faster, 27
SDK Manager for, 24–25
Android native personnel directory
deploying/testing, 364–365
designing search layout for, 346–350
implementing search behavior, 350–352
New Android Application dialog and, 345
search results activity for. See SearchResultsActivity
Java class
search results data model for, 352–354
Volley library and, 345–346
Android Platform not configured error, 371–372
Android Virtual Device, 24–26
Android Volley
dispatching requests, 358–359
including in Eclipse, 341–344
Android-x86, emulator, 27
android.app.ListActivity
Superclass value, 355
android:layout_width
attribute value, 349
AngularJS
adding headers to, 209–210
aliasing for Apache, 328
Animate.css library, 225–226
application module, 183–184
bootstrapping, 171–173
custom directives, 222–223
Dependency Injection and, 178–181
details page with, 200–206
implementing sidebar in, 210–215
integrating iScripts, 268–271
iScripts web library, 261–266
iScripts with, 261–266
loading sample page, 174–175
modular approach to, 201–202
profile page with, 206–208
results page with, 196–200
reverse proxying, 325–328
scope management in, 178
search page with. See search page, AngularJS
testing application, 271
testing sample page, 175–177
two-way data binding, 174
updating project’s source code, 326–328
uploading project, 270–271
version of details iScript, 266–268
AngularJS, as Cordova application
connecting emulator to instance and, 374–377
copying source files, 374
implementing authentication for, 379–384
AngularJS-Seed project
asynchronous JavaScript and, 168–169
cloning repository, 165
comparing index files in, 181–182
configuring routes in, 182–184
creating, 157–159
downloading AngularJS/Topcoat.io, 160
downloading Animate.css/GSAP, 162
downloading FontAwesome, 161
examining/modifying root folder, 159–160
installing dependencies/testing, 165–167
launching, 164
NetBeans project and, 169–170
partials/controllers and, 184
resolving dependencies, 182
test data/project explorer for, 163
AngularJS services
features of/requirements, 216–217
Observer, 217–220
Search, 220–222
AngularJS with REST
creating Employee Photo Service, 321
creating Employee Photo Service Operation Handler, 321–322
creating Message definitions, 308–309
creating profile Service Operation Handler, 323–325
defining details Service Operation, 319
defining details Service Operation Handler, 319–321
defining profile service, 322–323
defining Search Service Operation, 311–313
defining Search Service Operation Handler, 313–317
Personnel Directory Service for, 309–311
testing Search Service Operation, 317–318
Animate.css library
AngularJS and, 225–226
downloading, 162
animation
Animate.css for, 225–226
CSS3 transitions for, 224–225
GSAP for, 226–229
overview of, 224
Apache Cordova
connecting emulator to PeopleSoft instance, 374–377
copying AngularJS source files, 374
creating in NetBeans, 369–373
debugging apps, 377–378
device camera and, 384–387
implementing authentication for, 379–384
installing, 368–369
overview of, 368
running from NetBeans, 371–374
sidebar menu and, 378–379
Apache web server
aliasing AngularJS project for, 328
configuring virtual directory and, 22–23
custom configurations, 303–304
overview of, 20–21
reverse proxy of, 304–307
Application Class(es)
Base Event, 86
controllers, 63
as initialization routines, 71–74
metadata, 298
for multipage layouts, 95
ProcessInstanceDetails
, 85–88
ProcessOverviewList
, 84–85
Application Designer
constructing Fluid pages, 36–41
data initialization and, 71–74
Fluid page in, 52–53
grid attributes in, 48–49
of Record definition, 75–76
Service Operations Handler and, 281–283
two-panel layouts in, 57–59
application module, Angular JS, 183–184
Application Resources palette, 442
Architectural Styles and the Design of Network-based Software Architectures (Fielding), 274
Array.forEach
design pattern, 218–219
asynchronous loading pattern, 168–169, 181–182
authentication
iScript and, 258–260
PeopleSoft application and, 257
authentication, Cordova project
AuthenticationService
and, 380
login controller for, 381–384
login template for, 380–381
overview of, 379
AuthenticationService
for Cordova project, 380–382
Authorization Error response, 236
auto formatting, NetBeans IDE and, 20
automated approach, to AngularJS-Seed project, 164–170
AVD (Android Virtual Device), 24–26
B
Base Event Application Class properties, 85–86
Base Event Method properties, Layout Designer, 72–73
base64 text conversion
binary objects and, 283
in configuring photos, 385
in photoDataUrl, 436
BlackBerry devices, simulators for, 29
BMA_PERSONNEL_DIRECTORY.SEARCH_RESULTS
Document, 107–110
bmaResultsHideClass
directive, 223
Bootstrap page, in NetBeans 17, 20
bootstrapping, Angular JS, 171–173
Bors, Luc, 390
Bower package manager, installing dependencies, 166–167
Branding Object component
editing HTML with, 298–300
uploading HTML with, 295
break points, in responsive design, 33
Browser selection menu, Cordova project, 371–372
button click handler, for search behavior, 351
C
caching, page
internal stylesheets and, 139–140
by jQuery Mobile, 138
caching search results, 220
camera, Cordova project
running, 387
updating ProfileCtrl
controller for, 384–386
Cascading Style Sheet. See CSS (Cascading Style Sheet)
CDN (Content Delivery Network), privacy issues and, 125–126
cellFormat
adding to tableLayout, 446
for details view, 436, 438–439
class name mapping, 94
class properties
Layout Designer, 91
layout grid showing, 95
classic page designer, Fluid pages vs., 33–34
clearfix
class definition, 205–206
collections, in Documents, 67–68, 266
command-line history feature, 428
Component Interfaces, 104
Component Registration Wizard, for Fluid pages, 41–42
Composite Reuse Principle, 325
composition, inheritance and, 324–325
compound(s)
child node, 78–79
child search results, 107–109
Console window, viewing scope in, 188
constructors, creating instances with, 397
Content Delivery Network (CDN), privacy issues and, 125–126
content reference, for Fluid pages, 41–42
Control Flow Case component
conversion of, 433–434
identifying, 425
Task Flow design and, 422
controllers
adding, 197–198
Angular-seed project and, 183, 184
Application Class, 63
creating search page and, 186–187
details page, 201–202
iScript-based. See iScript
ResultsCtrl
, 220–222
updating, 326–327
controllers.js file, updating, 326–327
Cordova Plugins node, 371
Cordova project. See Apache Cordova
CORS (cross-origin resource sharing), alternatives to, 20
Coutre, Chris, 246
Create Document from Record utility, 77–78
Create Employee entity class dialog, 394–395
Create Java Class dialog, 402
Create MAF AMX Page dialog, 423
Create MAF Application dialog, 392–393
Create MAF Feature dialog, 418
Create New Android String dialog, 348
Create New Virtual Device dialog, 25–26
Create REST Connection dialog, 410–411
CreateDocument
function, 267
cross-origin resource sharing (CORS), alternatives to, 20
cross-pillar process monitor, for MAP applications, 75–79
cross-platform compatibility, 316
CSS (Cascading Style Sheet)
adding FontAwesome and, 443
bootstrap, 20
custom, 63
for custom styling, 136–140
details page and, 204–206
editor, layout adjustments and, 90–96
framework prefixes, 192
for navigation sidebar, 211–215
prototyping in Firebug, 11–12
selectors, 193
style classes, 437
version 3 transitions, 224–225
custom directives, AngularJS, 222–223
Custom Display Format, Pagelet Wizard, 250
custom search components, 45
custom styling, jQuery Mobile, 136–140
D
data bound accessors, UI and, 407
data control(s)
adding bindings for, 429–430
creating, 416–417
JavaBean, 406
data-display mode, for panels, 143–145
data-dom-cache='true'
attribute, 138
data-entry fields, HTML5, 50–51
data-filter
attribute, 130
data-icon
attribute, 128
data initialization
for details, 85–88
for layouts, 71–74
for Listview, 84–85
data-inset
attribute, 130
data model
client-side, 392–394
for Fluid pages, 35–36
for MAP applications, 75–79
for personnel directory, 103
search results, 352–354
data-role
attributes
div elements and, 151
external stylesheets and, 136–137
function of, 127
database binary objects, converting, 283–285
debugging
Android emulators, 26–28
Cordova applications, 377–378
Fiddler for, 12–13
default search for Fluid component, 43–44, 46
Default Service Operation Version
details Service Operation and, 280–281
profile Service Operation and, 295
Search Service Operation and, 289–290, 312–313
delivery mechanism, of HTML5 web applications, 4–5
demo data files, Document Tester and, 113–116
dependencies
installing, 165–166
JavaScript, 167–168
resolving, 182
Dependency Injection. See DI (Dependency Injection)
deployment to emulator, 427, 432
DETAILS
Document
in Document Tester, 115–116
details iScript
AngularJS version, 266–268
creating, 242–245
details layout
creating, 80–81
CSS styling adjustments, 92–94, 96
initialization, 85–88
details page, AngularJS
controller, 201–202
creating, 200–201
styling, 203–206
details page, jQuery Mobile
creating, 133–135
custom styling, 136–140
HTML structure, 137
view of, 118
details page, SQL, 104–105
Details Service Operation, AngularJS, 319
Details Service Operation Handler, AngularJS, 319–321
Details Service Operation Handler, jQuery Mobile
converting binary objects, 283–285
creating Application Package, 281–283
OnRequest
method and, 283, 286–287
Details Service Operation, jQuery Mobile
creating/defining, 278–279
Default Service Operation Version, 280–281
identifying Service Operation, 277–278
REST Resource Definition in, 279–280
testing, 286–287
details template photo URL, 270
details view, Oracle MAF
FontAwesome styling of, 444–446, 449
layout part I, 436–438
layout part II, 438–441
overview of, 435
DetailsCtrl
controller
converting URLs and, 375–376
DetailsRequestHandler
class, 281–283, 319–321
development tools
browsers, 7–8
debuggers/browser tools, 10–14
emulators, 23–29
Fluid. See Fluid pages
IDEs, 15–20
MAP. See MAP (Mobile Application Platform)
text editors, 9–10
web servers, 20–23
device feature accessibility, of HTML5 web applications, 4–5
DI (Dependency Injection)
Angular JS services and, 216, 220
directives, custom AngularJS, 222–223
Display Attributes, in Edit Tree Binding dialog, 429, 431
Display Formats, Pagelet Wizard, 248, 250
div class=“ui-field-contain”
elements, 128
div
elements, semantic HTML5 and, 151–152
DNS (Domain Name System), resolution of, 28–29
DOCTYPE
statements, HTML5 and, 124–125
Document Builder, 106–107
Document Tester
creating demo data files, 114–116
setting values in, 113
DocumentElement
root element, 266
Documents
creating new, 66–68
for data transmissions, 105–106
for details input, 109–111
for multipage layouts, 94–95
object model, 266
populating from PeopleCode, 114
from Record definition, 77–78
search parameters, 106–107, 275–276
search results, 107–110
selecting layout, 68–69
for updating profile, 112–113
DOM nodes
asynchronous JavaScript and, 169
jQuery Mobile page caching and, 138
Domain Name System (DNS), resolution of, 28–29
dot (.), in search page creation, 186
E
echoing, query string parameters, 236
Eclipse
building native directory in. See Android native personnel directory
identifying error MainActivity.java, 354–355
including Android Volley in, 341–344
Edit Action Binding dialog, 421, 432−433
Edit Box Properties, 50–51
Edit Form Fields dialog, 423–424
Edit List View dialog, 429–430
Edit Tree Binding dialog, 429, 431
EditText hint values, 348–349
Effective Date field, 50–51
element mapping, 94
EMPLID
Document, 109–111
Employee entity
converting JSON object into, 401–404
creating, 394–396
generating accessors and, 396–397
listing of, 398–400
Employee Photo Service, 321
Employee Photo Service Operation Handler, 321–322
emulators
Android. See Android emulators
connecting to instances, 374–377
deploying applications to, 427, 432
mobile, 8
search results list in, 432
emulators, installing
Android, 23–26
BlackBerry/Windows Mobile/iOS, 29
debugging tips for, 26–28
DNS resolution and, 28–29
execSearch
method, with Android application, 351–352
Extensible Stylesheet Language (XSL) template, 250–253
external stylesheets, jQuery Mobile and, 136–137, 139
F
Facebook, HTML5 and, 5
Factories
function of, 216
Observer service and, 219–220
features, MAF displays via, 418–420
FetchSQL
function, 315–316
Fiddler
Android emulators and, 26–28
debugging Cordova apps, 377–378
features of, 12–13
field labels, in creating search page, 185
field metadata
search Document, 106
for testing Fluid pages, 39–40
field properties, Layout Designer, 91
Fielding, Roy, 274
Firebug, CSS prototyping in, 11–12
flex grid, Fluid page with, 48–50
Fluid component search pages, 42–45
Fluid design patterns
overview of, 55–56
search records, 56–57
smart component for, 59–63
two-panel layouts, 57–59
Fluid Mode checkbox, 40
Fluid Mode setup, 34
Fluid pages
adding grids to, 48–50
adding transaction buttons, 52–55
CSS3 layouts for, 33–34
data-entry fields and, 50–51
data model for, 35–36
default search page, 45–46
features of, 32
group box properties for, 38–39
menu/folder for, 40
metadata for testing, 39–40
navigation of, 45–48
optimizing component for, 48
registration/content reference, 41–42
responsive/adaptive design in, 32–33
runtime controls/skillset for, 34
selecting layout for, 36–38
skillset for, 34
folder, for Fluid pages, 40
FontAwesome
adding to MAF project, 442–443
downloading, 161
implementing MAF routes, 445–448
styling details page, 444–446
Unicode sequence for, 445
footer facets, MAF routes and, 446–448
for
loop, for iterating observer list, 218–219
Form Factor Override section, 38–39
401 Not Authorized response, 383
fragments, HTML page, 132, 142
fromJSON
method, in conversion to Employee entity, 402–403
Fuch, Thomas, 228
full pages, HTML, 132
G
garbage collection, 178
general settings, Search Service Operation, 311
Generate Accessors dialog, 396–397, 407
generic proxy configuration, 305–306
generic selectors, performance and, 193
getImageDataUrl
method, 283–285
getPhotoDataUrl
method, 283–285
getToken
method, for authentication, 380, 382–383
Git repository(ies)
for Apache Cordova, 369
importing Volley project from, 341–342
website, 164–165
global scope, 178
Google Chrome
developer tools, 11
NetBeans connector in, 18–19
search page viewed in, 126–127
graceful degradation, 119
Graphical Layout tab, 346–347, 349
GreenSock Animation Platform. See GSAP (GreenSock Animation Platform)
grids
Fluid, 48–50
in two-panel layouts, 58
group box(es)
properties, for Fluid pages, 38–39
Service Operation, 278–279, 288
surrounded related items with, 54
in two-panel layouts, 57–59
grouplets
features of, 63–64
for Fluid home page, 47–48
GSAP (GreenSock Animation Platform)
downloading, 162
page transition with, 226–229
H
hamburger icon
animating, 224–225
function of, 209
handlers
Details Service Operation, 319–321
Employee Photo Service Operation, 321–322
Profile Service Operation, 323–325
Search Service Operation, 313–317
hash (#) sign, 305
HAXM, Android CPU emulator, 27
headers, adding to AngularJS, 209–210
Hint property, 348
host name, workstation, 28–29
HTML (HyperText Markup Language) 5
Angular JS sample page code, 176–177
Apache Cordova and. See Apache Cordova
application in NetBeans, 15–20
Application wizard, 369–371
creating search page with, 123–128
data-entry fields, 50–51
data-role
attributes and, 127
defined, 6–7
definitions, authentication and, 259–260
details page with, 133–135
external stylesheets and, 136–137, 139
Facebook and, 5
full/fragment pages, 131–132
internal stylesheets in, 139–140
for page/row templates, 240
profile update pages with, 148–151, 153–154
results.html page with, 128–133
runtime controls, 34
semantic tags, 151–152
HTML5 web applications
building data structures for, 104–111
creating New Project and, 120–123
native applications and, 4–5
HttpClient
client library, 340
httpd.conf file, for configuring Apache, 303–304
Apache Cordova. See Apache Cordova
Oracle MAF. See MAF (Mobile Application Framework)
overview of, 6
HyperText Markup Language 5. See HTML (HyperText Markup Language) 5
I
icons
FontAwesome, 445–448
magnifying glass, 191–192, 442–443
ID links, for bookmarking search pages, 132–133
IDEs (Integrated Development Environments), 14–20. See also NetBeans IDE
Import Git repository location selection dialog, 341–342
import wizard, Eclipse, 341–343
Important Files node, for Cordova project, 371
index files, in angular-seed project, 181–182
index.html file
cleaning up, 188–190
comparing, 181–182
inheritance, composition and, 324–325
initialization routines
for details layout, 85–88
for layouts, 71–74
for Listview layout, 84–85
inline styling, 136
instances
connecting emulators to, 374–377
constructors/setters for, 397
Integrated Development Environments. See IDEs (Integrated Development Environments)
Integration Broker
data initialization and, 71–74
Message definitions and, 66–67, 275–276
Service Operations Handler and, 281
integration nodes, 42
internal stylesheets, jQuery Mobile and, 139–141
invokeRestRequest
method, UI invoking, 409–416
iOS applications, 335
iOS simulators, 29
IP (Internet Protocol) address, configuring/hard coding, 356–357
iScript
Angular JS with, 261–266
authentication, 258–260
defined, 232
details iScript, 242–245
integrating with AngularJS, 268–271
integrating with jQuery Mobile, 254–257
jQuery Mobile with, 232
parameterizing search results, 239–242
profile page. See profile page iScript
search iScript, 233–239
iScript_Photo
function, 243–245
iterating arrays, 218–219
J
Java class, creating, 394–396, 402–403
Java JSON library, 264
JavaBean data control, UI and, 406
java.net.HttpURLConnection
client library, 340
JavaScript
Angular JS sample page, 176
animation, 226–229
bootstrapping and, 172–173, 182, 184
Bower package manager, 166
console.log
statements in, 378
creating/dispatching Volley request, 358–359
dependencies, installing, 167–168
DOM nodes and, 138
implementing search behavior, 350–352
loading asynchronous, 168–169
with panels, 142–143
semicolons in, 186
Tweening in, 228
JavaScript libraries
adding to new project, 121–122
CDNs hosting, 125–126
downloading, 123
GSAP, 162
in NetBeans project, 17–18
JavaScript Object Notation. See JSON (JavaScript Object Notation)
JDeveloper 12c Studio Edition
in conversion to Employee entity, 402–403
creating Data Control, 417
creating Java class, 394–396, 406
downloading/installing, 390
expanding Application Resources palette in, 442
generating accessors in, 396–397, 407
inserting XML into AMX page, 423
missing imports and, 404
preferences, 391
Properties Inspector, 425
Task Flow design with, 420–422
Jobs, Steve, 6
Join
method, connecting fragments, 315–316
jQuery JavaScript library
jQuery Mobile vs., 120
manually downloading, 123
selectors and, 193
jQuery Mobile
creating details page with, 133–135
creating new project in, 121–122
creating search.html page, 123–128
data-role
attributes and, 127
external stylesheets and, 136–137, 139
inline styling and, 136
internal stylesheets and, 139–141
JavaScript libraries, 123
manually downloading, 123
page caching, 138
profile update pages, 148–151, 153–154
progressive enhancement with, 119–120
responsive panels with. See panels, jQuery Mobile
RESTListeningConnector preparing, 301–302
results.html page with, 128–133
reverse proxy of, 304–307
styling, for MAP applications, 74–75
testing reverse proxied, 307–308
theme swatches, 128
URL alias and, 303–304
URL issue, 154
JSON (JavaScript Object Notation)
in conversion to Employee entity, 401–404
format, Document structure in, 114–115
Helper
classes, 401
options for generating, 264–265
search iScript and, 262–263
JsonArrayToEmployeeArray
class
code listing for, 403–404
conversion to Employee objects and, 411–412
JSONBeanSerializationHelper
class, 401–404, 411–412
JSONDeserializable
interface, 402–403
K
Keyword search, 44–45
Kirkpatrick, Ficus, 340
L
labels, layout grid displaying, 95
Layout Designer
configuring layouts with, 68–70
creating details layout in, 80–81
creating list layout in, 81–83
CSS editor styling, 90–94
data initialization and, 71–74
parameters, 81
security tab in, 70–71
without data, 72
Layout Details group box, 74
layouts. See also Layout Designer
Listview. See Listview layout
selection, for Fluid pages, 36–38
two-panel, 57–59
lazy instantiation, with AngularJS, 216
Linux (Oracle Enterprise), text editors, 9–10
ListView Gallery, 429–430
Listview layout
creating, 81–83
CSS styling adjustments, 90–92
initialization, 84–85
properties of, 88–89
loading patterns, 168–169, 181–182
local nodes, target nodes vs., 42
location link, for details view, 438–439
logic
Angular JS search page, 194–196
copying into web library, 261–266
login.html file, for authentication, 380–381
M
MAF AMX Task Flow
creating, 418–420
designing, 418–420
Page dialog for, 423
maf-config.xml file, 442
maf-feature.xml file
configuring features and, 418–420
Content tab in, 443
MAF (Mobile Application Framework)
adding FontAwesome to, 442–445
client-side data model in, 392–394
converting JSON object and, 401–404
creating Data Control, 416–417
creating Employee entity and, 394–400
creating project for, 391–393
creating utility classes, 405–406
data bound accessors and, 406
details view in, 435–441
downloading JDeveloper 12c, 390–391
identifying style classes in, 437
implementing routes for, 445–448
invoking Service Operations, 409–416
JavaBean data control and, 406
overview of, 390
ProviderChangeSupport
class and, 408–409
search parameter form, 423–429
search results view, 429–435
Task Flow designer, 420–422
user interface features, 418–420
magnifying glass icon, 191–192, 442–443
MainActivity.java file
identifying error in, 354–355
implementing search behavior, 350–352
initializing applications, 338
Maintain Translate Values component, 62
Manual approach, to Angular JS-Seed project. See AngularJS-Seed project
MAP Layout templates, 68
MAP (Mobile Application Platform)
configuring layouts, 68–71
creating application, 71–74
creating details layout for, 80–81
creating Documents, 66–68
creating list layout for, 81–83
data model for, 75–79
overview of, 66
role of jQuery in, 74–75
media queries, responsive design and, 33
mediaMatch
method, showing/hiding panels, 145–147
memory, AngularJS and, 178
Message definitions
details Document for, 309
details parameter Document, 276, 309
results Document, 308–309
search parameter Document, 275–276
meta-HTML transforms, custom Display Format for, 248, 250
metadata
Application Class, 298
describing data controls, 416–417
EMPLID
Document, 110
handler, 297
Message definitions and, 275–276
new Document, 106
Search Service Operation Handler, 316–317
Microsoft Windows
Mobile Developer Tool Kit for, 29
text editors, 9–10
mLayoutDocument
variable, 74
Mobile Application Framework. See MAF (Mobile Application Framework)
Mobile Application Platform. See MAP (Mobile Application Platform)
mobile applications
Android. See Android applications
building tools. See development tools
MAF. See MAF (Mobile Application Framework)
MAP. See MAP (Mobile Application Platform)
overview of, 4–6
Pagelet Wizard for. See Pagelet Wizard
views of, 118–119
mobile emulators, 8
Mobile Persistence Accelerator, 404
Model layer, building, 104–111
mod_proxy_html directives, in reverse proxy configuration, 305–306
modular AngularJS files, 201–202
module pattern, scope management and, 178
Monkey Patching approach, 179–180
multipage layouts, 94–95
MVC (Model-View-Controller) architecture
building Model layer for, 104–111
defined, 102–103
My Profile hyperlink, 301–302
N
native applications
Android. See Android native personnel directory
overview of, 5
navigation, of Fluid pages, 45–48
navigation sidebar
adding to AngularJS, 210–212
animating, 224–225
making responsive, 214–215
styling, 212–214
NetBeans IDE
Angular JS-Seed project in. See AngularJS-Seed project
completing new project in, 18–19
creating Cordova project in, 369–373
creating New Project and, 120–123
details page from, 133–135
downloading, 15
entering HTML editor in, 20
JavaScript libraries and, 123
mobile platform options, 372–373
New Project dialog, 15–16
project explorer, 163
project file system properties, 16–17
project preparation steps, 169–170
results.html page from, 128–133
running Cordova project from, 371–374
running panels in, 143–144
search.html page from, 123–128
template options, 17–18
web server virtual directory for, 21–23
networking
with Android applications, 340–341
preparing Android Volley for, 340–344
New Android Application dialog, 345
New Android Application wizard, 336–339
New Definition dialog, for Fluid pages, 36–37
New Document
creating, 66–68
metadata, 106
structure, 107
New File dialog, 123–124
New Gallery dialog, for MAF project, 391–392
New Java Class dialog, 352–355
New Project dialog, with HTML5 application, 120–122
New Project wizard, for Angular-Seed project, 157–160
NexusOne emulators
Android applications running in, 339–340
Search Results list in, 364–365
ng-app
attribute, bootstrapping and, 171–173, 182, 184
ng-cloak
element, hiding content, 177, 182
ng-model
attribute, 172
ng_src
attribute value, 270, 327
Node Package Manager (npm), dependencies and, 165–167
Node.js
for Apache Cordova, 369
installing, 13–14
nodes
Activity, 363
compound child, 78–79
DOM, 138
renaming default, 288
types of, 42
notification messages, 54–55
npm (Node Package Manager), dependencies and, 165–167
O
object model, Documents, 266
object names, embedding in strings, 237
object-oriented programming best practices, 324–325
Observer service, with AngularJS, 217–220
onCreate
method, 358
online view, of Fluid page, 52–53
onListItemClick
event, 362
OnRequest
method, Service Operations and, 283, 314
Oracle JDeveloper 12c Studio Edition. See JDeveloper 12c Studio Edition
Oracle Mobile Application Framework. See MAF (Mobile Application Framework)
Oracle Mobile Application Framework Developer Guide (Bors), 390
Original Flex Grid Layout, 48–49
page caching, jQuery Mobile, 138
page definitions
Ajax-loaded, 138
external stylesheets and, 136–137
page fragments, HTML
full pages vs., 132
identifying panels, 142
Pagelet Wizard
features of, 246
iScript data source query and, 246–248
profile definition with, 248–253
panelGroupLayout, 436–437, 439
panels, jQuery Mobile
copying search results into, 148–149
identifying/defining, 142–143
making responsive, 143–145
opening, 141–142
overview of, 140–141
showing/hiding, 145–147
wireframe of views, 118–119
parameter(s)
array, Dependency Injection and, 180
for search results iScript, 239–242
for Search Service Operation, 318
searchForEmployees
mapping of, 420–421
testing Service Operations and, 293
parent activities, specifying, 363
partials, Angular-Seed project and, 184
partials/profile.html file update, 387
PeopleCode
Application Class controllers and, 63
copying, 36
editor, 59–60
filtering Fluid grid, 58–59
JSON Encoder, 265
populating Documents from, 114
Search Service Operation Handler, 313–316
PeopleSoft instances, connecting emulators to, 374–377
PeopleTools table, cloning, 35–36
performance, generic selectors and, 193
permission lists
iScript added to, 234–235, 244
Service Operation added to, 280, 289
personal information updates
Angular JS and, 206–208
defining Document for, 112–113
iScript. See profile page iScript
jQuery Mobile, with HTML5, 148–151, 153–154
Service Operation, 294–295
Personalize General Options category, 34–35
personnel directory
search page, 128–129
views of, 118–119
Personnel Directory Service, AngularJS, 309–311
PersonnelDirectoryDC
data control, 416–417
PERS_SRCH_ALL
record definition, SQL, 104
phone link, for details view, 438–439
phone number updates, Document, 112–113
PhoneGap open source framework, 368
PhotoRequestHandler
class, 321–322
photos
Employee Photo Service Operation, 321–322
iScript_Photo
function, 243–245
on profile page, 387
updating profile template URL for, 270
uploading, 388
PIA (Pure Internet Architecture), Fluid pages and, 66
Pivot Grid search, 43
placeholder text, 194–195
plugins.property file, in Cordova project, 371–372
portability, of HTML5 web applications, 4–5
portal nodes, 42
PRIMARY_PHONE
Document primitives, 112–113
primitive elements
for details Document, 110–111
PRIMARY_PHONE
Document, 112–113
for search Document, 106–107
Process Monitor
after styling adjustments, 91–92
with data, 85–86
data model for, 75–79
ProcessInstanceDetails
, 85–88
ProcessOverviewList
Application class, 84–85
profile-icon
styleClass, 446
profile page iScript
iScript data source query and, 246–248
Pagelet Wizard defining, 248–253
services for, 245–246
Profile Service Operation, AngularJS, 322–323
Profile Service Operation Handler, AngularJS, 323–325
Profile Service Operation Handler, jQuery Mobile
creating HTML definition for, 295–296
entering HTML definition in, 298–300
entering PeopleCode for, 296–297
handler/Application Class metadata for, 297–298
Profile Service Operation, jQuery Mobile
defining, 294–295
testing, 300–301
profile template photo URL, updating, 270
profile update pages
Angular JS and, 206–208
defining Document for, 112–113
jQuery Mobile, with HTML5, 148–151, 153–154, 254
ProfileCtrl
controller
authentication and, 381–382
converting URLs and, 376
ProfileRequestHandler
class, 296–297, 323–325
progressive enhancement
in adaptive design, 33
jQuery Mobile and, 119
of search.html page, 126–127
Project Properties dialog, for NetBeans project, 21
promise objects, 199
Properties Inspector, JDeveloper, 425
ProviderChangeSupport
class, MAF and, 407–409
Providers, 216
pscp utility, for uploading files, 255–256
PSXLATITEM record definition, cloning, 35–36
public_html folder, uploading, 254–257
Pure Internet Architecture (PIA), 66
Push Button type properties, 52–53
PuTTY suite, 255–256
Q
query, data source, 246–248
query string parameters, echoing, 236
R
read operations, SQL definitions for, 104–105
record definitions
in Application Designer, 75–76
creating Document from, 77–78
search iScript and, 233
Require
directive, configuring Apache, 304
responsive design, Fluid pages and, 32–33
REST (Representational State Transfer) services
building service operations, 274–275
features of, 274
input Documents for, 106
profile Service Operation, 294–295
reverse proxy of. See reverse proxying
Service containers. See REST Service Operations
variable/Document declarations, 314
REST Resource Definition section
creating Service Operations, 279–280
creating URI template in, 289, 294–295, 312
REST Service Operations
Details Service Operation, 319
Details Service Operation Handler, 319–321
Employee Photo Service, 321
Employee Photo Service Operation Handler, 321–322
MAF and, 409–414
page, top of, 288
Personnel Directory, 309–311
Profile Service, 294–295, 322–323
Profile Service Operation Handler, 323–325
Resource Definition section, 279–280
Search Service Operation, 288–290, 311–313, 317–318
Search Service Operation Handler, 313–317
URI templates and, 293–294
URLs, 274–275, 292, 298, 375–377
REST Target Location, 280
RESTListeningConnector, 301–302
ResultsCtrl
controller, 220–222
results.html page, 128–133
reverse proxying
Angular JS source code and, 326–328
Apache, 303–304
configuration, 304–307
proxy configuration, 325–326
rules, 307
testing, 307–308
root user passwords, 256
routes
configuring, 182–184
creating search page and, 186–187
rowLayout elements, for details view, 438–439
rules, reverse proxy, 307
S
save confirmation messages, for Fluid pages, 54–55
SavePostChange events, 54
Scalable Vector Graphic (SVG) images, 134
scope
Angular JS managing, 178
creating search pages and, 187–188
scoped stylesheets, 139–141
SDK Manager, 24–25
SDK Tools, Android, 23–24
SDK (software development kit) ADT bundle
for Apache Cordova, 369
search AMX page bindings tab, 423–424
search buttons, 132–133
search header, 45
search-icon
styleClass, 443, 448
AngularJS version, 262–263
creating record definition for, 233
implementing search behavior, 237–239
security and, 234–236
search layout, designing, 346–350
search page
parameters Document for, 106–107
SQL definition for, 104
view of, 118
search page, AngularJS
cleaning up index.html, 188–190
creating, 185–188
logic, 194–196
styling, 190–195
search page, Fluid
creating, 42–45
design pattern for, 56–57
search parameter form
FontAwesome styling of, 443, 446
in Oracle MAF, 423–429
search results data model, for Android app, 352–354
search results iScript, 239–242
search results page
creating Document for, 107–110
SQL definition for, 104
view of, 118
search results page, AngularJS
creating, 196–199
styling, 200
search results page, jQuery Mobile
copying into panels, 148–149
creating, 128–133
updating, 254
search results view, Oracle MAF, 429–435
Search Service Operation, AngularJS
general operation settings, 311
optional parameters for, 318
response metadata for, 312–313
testing, 317–318
URI definition, 312
Search Service Operation Handler, AngularJS
metadata, 316–317
PeopleCode, 313–316
Search Service Operation Handler, jQuery Mobile, 290–293
Search Service Operation, jQuery Mobile, 288–290
Search service, with AngularJS, 220–222
SEARCH_FIELDS
property declaration, 317–318
searchForEmployees
method
Task Flow design and, 420–422
UI invoking, 409–414
search.html page
creating, 126–127
updating, 254
SearchRequestHandler
class, 290, 313
SearchResultsActivity
Java class
constructing search service URL, 358
correcting error in, 354–355
creating custom layout for, 357–358
creating/dispatching Volley request, 358–359
embedding IP address, 356–357
importing class definitions for, 360–362
registering Activity class, 362–363
setting up for Internet access, 363–364
searchService
URL, updating, 268
searchService.search
method definition, 376
security
for layouts, 70–71
Service Operation, 308
Select import source dialog, 341
Select project import wizard dialog, 341, 343
Control Flow Cases and, 432
UI invoking, 409–415
selectors
generic, 193
styling details page and, 204
selfie
on profile page, 387
uploading, 388
semantic tags, HTML5 and, 151–152
semicolons (;)
JavaScript and, 186
new controllers and, 197–198
Separation of Concerns, MVC and, 102–103
Service definition, 277–278, 310
Service Operation definition, 311
Service Operation Handler
converting binary objects, 283–285
creating Application Package, 281–283
metadata, 316–317
OnRequest
method and, 283, 286–287
PeopleCode, 313–316
Service Operations
Details Service Operation Handler, 319–321
Employee Photo Service, 321–322
Employee Photo Service Operation Handler, 321–322
MAF and, 409–414
page, top of, 288
Personnel Directory, 309–311
Profile Service Operation Handler, 323–325
REST Resource Definition section, 279–280
Search, 288–290, 311–313, 317–318
Search Service Operation Handler, 313–317
URI templates and, 293–294
URLs, 274–275, 292, 298, 375–377
services.js file, updating, 327–328
setCredentials
method, 380
setEmplid
method, creating Employee entity, 397
setPropertyListener
attribute mapping, 425
setSearchResults
method, updating, 408–409
setSelectedEmployee
method, updating, 408–409
setters, for creating instances, 397
sidebar, navigation
adding to AngularJS, 210–212
fixing annoyances in, 378–379
making responsive, 214–215
styling, 212–214
simple_list_item_1
custom Android layout, 357
single instance, with AngularJS, 216
skin-id
, FontAwesome and, 442
small-width search page, 191
SOAP (Simple Object Access Protocol), REST vs., 274
software development kit (SDK). See SDK entries
SQL Injection attacks, 237
SQL statements, search behavior and, 237–239
SQL (Structured Query Language) definitions
creating in base64 text conversion, 285
details page, 104–105
search/search results page, 104
style classes
identifying, 437
profile-icon
, 446
style-sheet-name
, FontAwesome and, 442
stylesheets
internal/scoped, 139–141
styling
details page, 203–206
navigation sidebar, 212–214
search page, 190–195
search results page, 200
subpages, layouts with, 58
Suppress On Form Factor section, 38–39
SVG (Scalable Vector Graphic) images, 134
synchronous loading pattern, 181–182
T
tableLayout
for details view, 436–437
editing, 446
setting elements for, 438–439
target nodes, local nodes vs., 42
Task Flow design
adding search.css and, 444
MAF and, 420–422
Team Time grouplet, 63
templates
Angular JS Seed, 157
Layout, 68
login, for authentication, 380–381
NetBeans options for, 17–18
Pagelet Wizard XSL, 250–253
results.html, 196–197
Search Service URI, 293–294
Test Content Reference hyperlink, 45
testability, Dependency Injection and, 180
text editors, 9–10
text elements, 70–71
Tocoat.io CSS library
downloading, 160
for styling search page, 190–191
Toolbar Action, 52
transaction buttons, for Fluid pages, 52–55
transitions, CSS3, 224–225
Translate Values page
date field in, 50–51
Fluid page navigation and, 45–46
online view of, 54
responsive, with sidebar, 59–60
save confirmation message in, 55
Tweening, 228
two-panel layouts, in Application Designer, 57–59
two-way data binding, AngularJS, 172, 174
U
ui-field-contain
class, 128
UI (user interface)
data bound accessors and, 407
invoking Service Operations, 409–416
JavaBean data control and, 406
Uniform Resource Locators. See URLs (Uniform Resource Locators)
updated personnel profile
Angular JS and, 206–208
defining Document for, 112–113
iScript. See profile page iScript
jQuery Mobile, with HTML5, 148–151, 153–154
Service Operation, 294–295
URI templates
for optional query string parameters, 318
Profile Service Operation, 294–295
Search Service Operation, 293–294
URI (Uniform Resource Identifier) definition, Search Service Operation, 312
UriUtil
class
composing URL, 411–412
creating, 405–406
URLs (Uniform Resource Locators)
adding query string parameters to, 236
converting, 374–377
creating alias, 303–304
for details view, 439
jQuery Mobile applications and, 154
mapping, Layout Designer, 83
UriUtil
class and, 405–406
Uses Permission item, for Internet access, 363–364
V
vendor-specific plug-in limitations, 6
ViewController project, 394–396, 402, 406
ViewModel
Document defining, 67
for multipage layouts, 94–95
virtual development environment, 8
virtual directory, configuring, 21–23
VirtualBox
demo image, 256
replacing IP address in, 356–357
using browser in, 8
VM (Virtual Machine), creating, 8
Volley library project
Android application and, 345–346
creating, 341–343
W
Web Libraries permissions dialog, 234–235
web server(s)
Ajax requests and, 20–21
Apache. See Apache web server
virtual directory, 21–23
WebKit, 7
Weinre web inspector, 12–14
Windows Mobile Developer Tool Kit, 29
wireframes, of personnel directory, 118–119
X
XML (Extensible Markup Language)
inserting into AMX page, 423
in results.amx page, 434–435
of search layout, 349–350
in search.amx file, 426
in tableLayout, 436
XSL (Extensible Stylesheet Language) template, 250–253
Z
Zuckerberg, Mark, 5
3.144.255.87