Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
upload.wikimedia.org/wikipedia/commons/e/eb/Mount_Rainier_from_west.jpg
Scott
Sinkers
Jacko
T-bone
Kempy
APEX for Forms Developers
Ada
APEX
Pascal
Forms
BASIC
... Kscope19
who_am_i; -- ?
age = 7
age := 29;
age := 14;
age := 20;
age := 18;
Peak
(cloud)
Forms
couldn't even pronounce it
value_error
www.foex.at/c/The_State_of_Oracle_APEX_Development_Report_2018.pdf
2018 State of APEX Development Report
"Empty your mind..."
24 hours recuperation
"Put water in the teapot
it becomes the teapot"
General Differences
Layout
Concepts
Terminology
Process
IDE
Dev Process
By Jeffrey Pang from Madison, NJ, USA - Rainier LinesUploaded by X-Weinzar, CC BY 2.0
commons.wikimedia.org/w/index.php?curid=15734617
Workflow
Session State
Forms Developer
Layout
Documentation
Tomcat
Security
Migration
APEX Developer
Best bits, simplified
Column properties
5.0
www.grassroots-oracle.com/2018/09/oracle-forms-to-apex-ide-transition.html
Still a thing
:P1_ITEM
Generate HTML from PL/SQL
1. Render
3. Dynamic
Actions
2. Process
Page Submit
Event Triggers - browser style
Lists
Vital
f?p:APP:PAGE:314159265359:REQ:NO::P1_EMPNO:1234
~ Report Column
~ Item
- Radio Group
- Select List
- Autocomplete
- Checkbox
...
Final Confirmation
All very similar,
right?
Application
&SESSION.
Performance
Security
pk.add(:P1_ITEM);
Menu
Lists
(Label, Target,
Hierarchy, Condition)
Object Library
Universal Theme
Templates
User Interface Defaults
Visual Attributes
Template Options
Shared Components
Forms Standalone Launcher
3) Close form
5) Open form
business data
Refresh
region
User thinks
compile
when-anything
wnfi
Copy executables
Submit page
In case you missed it...
Render page
IR / Charts / Drill
blogs.oracle.com/apex/thats-a-classic-report-really
exe-qry
post-qry
post-qry
Page
Processing
chatty - per block, array size, pq
connection pool
Business Data
parsing schema
Meta-data
- My Apps
- Builder
data
Apps
IDE
the fittest features survive
C#
Forms
.fmx
Runtime
ancient survivor
PL/SQL generating HTML
App is data
IDE just like Forms
commons.wikimedia.org/wiki/File:Nisqually_Glacier_0900.JPG
ora-00054 resource busy
"Record updated by another user"
Chuck updates
record in Forms
Stateful
Stateless
commit;
rollback;
session alive?
No display of results prior to commit
No Global Temporary Tables
No Package Persistent Variables
No hour-long locks
~100 humans per tech
No mid-PL/SQL user prompts
Explicit commits rarely necessary
Pessimistic -> Optimistic Locking
GTTs -> APEX Collections -> DIY
Session State - table(session, item, value)
Execute Query
just a table of data
gonna be different
"wysiwyg"
responsive
"I may not have gone where I intended to go,
but I think I have ended up where I needed to be"
- DA
apex.oracle.com/ut
+ Business Analysts
#Kscope19
width / 12
responsive
mobile aware
evolving
flatearthinsanity.blogspot.com/2016/09/flat-earth-follies-incredible-shrinking.html
.hlp not like 'Win10%'
&ENAME!HTML.
Scott Wesley
Still lots
grassroots-oracle.com
inline
apex.oracle.com/ut
apex.oracle.com/bookmarks
By Troy Mason - Flickr, CC BY 2.0,
commons.wikimedia.org/w/index.php?curid=2043872
Social
LDAP
DB
SSO
'Y' in (:F_ADMIN, :F_DEV)
Admin
Developer
User
@swesley_perth
Show if x = y
:P1_STATUS = 'Q'
www.grassroots-oracle.com/2013/05/performance-of-apex-conditions.html
Re-usable condition
- Buttons
- Regions
- Pages (branches)
- Links
...
:F_SEC_FOO = 'Y'
Grants
Query custom security table
SET_ITEM_PROPERTY(pi_item, NAVIGABLE, PROPERTY_TRUE);
SET_ITEM_PROPERTY(pi_item, INSERT_ALLOWED, PROPERTY_TRUE);
SET_ITEM_PROPERTY(pi_item, UPDATE_ALLOWED, PROPERTY_TRUE);
Awkward
Authentication
Authorisation
commons.wikimedia.org/wiki/File:Mt._Rainer-Reflection_Lake.JPG
Different Behaviour
Decades of change
Digital Natives
New needs
Balance Legacy
"Digital Transformation"
Different release cycle
Defined scope
User set
New privileges
Share credentials
Share Business Data
What's being used?
Very Different
Architecture
IDE
Control
Workflow
Session state
Layout
Security
Migration
Very Different
Room 6c @ 1pm Today
Scott Spendolini (Moderator)
Dimitri Gielis – Peter Raganitsch - Vincent Morneau – Scott Wesley
AOP
FOEX
PWA
(me)
awkward bits
4) Copy to server
.fmx
.plx
.mmx
data
314159
:DATA_BLOCK.column
:PARAMETER.empno
:CONTROL.item
Est. 1834
< 'Seattle' 1853
Conditional Display
Conditional Security
Conditional Release
:APP_USER
has
'AB3C'
1) Compile Form
ctrl-shift-k, t
Ada thinks (+lunch)
Session State
108423351101145
P1_EMPNO
314159
Session ID
Item
Value
Dynamic Actions
Triggers
from users
API(:P1_ID)
Refresh
Region
Ada thinks
Chuck
DB Accounts
history.nasa.gov/SP-350/ch-13-4.html
(Log visit pre-form)
https://twitter.com/sspendol/status/973698402088292352/photo/1
super_user
b) import
(n)
API{DML}
commit;
www.grassroots-oracle.com/2013/05/performance-of-apex-conditions.html
hash comparison of data
still same?
Developer changes code
Partial Page Refresh
Updated data
Session from pool
PL/SQL
Layer 8
Outcome
Page + Message
Report
Select report
Page
Session from pool
PL/SQL
swesley
Sunday Symposium
+ Geek night
Wednesday
Tuesday
+ ACE Day
Thursday Morning
Monday
+ community event
+ Special Event
Flood of hits
No impact on wait time
Hide Button
T
W
M
Weekend
oracle
commons.wikimedia.org/wiki/File:Siamese_Crocodile_white_background.jpg
&P1_ITEM.
HTML
level of access?
Item
:P1_ITEM
SQL
https://apex.oracle.com/pls/apex/f?p=42:6100
Video
Dynamic Action
- Refresh Region
2) Copy to server
.bat
Ada
Apex
(Quick Edit, PL/SQL)
Blog
Book
Page
Form
Menu
Ada thinks
DB Accounts
Social Sign-In
POST;
twitter.com/shakeeb
.fmx
.plx
.mmx
.rep
www.hq.nasa.gov/alsj/a13/a13_LIOH_Adapter.html
commons.wikimedia.org/wiki/File:Changyuraptor.png
a) export
f101.sql
2) Refresh Page
Parsing Schema
who?
:DATA_BLOCK.column
:PARAMETER.empno
:CONTROL.item
APEX scales to
handle pressure
PL/SQL Package
Program Unit
APEX
Seattle
25hr travel
APEX scales to
handle flood
https://www.adaptnetwork.com/sports/snow/filip-flisar-ski-cross-jetpack/
IF has_role() THEN
set_item_property()
30hr travel
Region
Block
Undo
Compile
Revert
Form
Select record ID = 314
Page
Session from pool
PL/SQL
Forum
APEX
job
+1
from devs
- Builder
- My Apps
(OAuth2)
LDAP
APEX
Custom
1) Save changes
when-new-form-instance
log_form_visit
(p_current_form => name_in('SYSTEM.CURRENT_FORM')
,p_user => GET_APPLICATION_PROPERTY(username)
);
www.oracle.com/technetwork/developer-tools/apex/learnmore/apex-ebs-extension-white-paper-345780.pdf