SlideShare a Scribd company logo
Dimitri Gielis
APEX for
Beginners
www.apexRnD.be
dgielis.blogspot.com
@dgielis
dgielis@apexRnD.be
Dimitri Gielis
❖ Founder & CEO of APEX R&D
❖ 19+ years of Oracle
Experience (OCP & APEX
Certified)
❖ Oracle ACE Director
❖ “APEX Developer of the year
2009” by Oracle Magazine
❖ “Oracle Developer Choice
award (ORDS)” in 2015
❖ Author Expert Oracle APEX
❖ Presenter at Conferences
www.apexofficeprint.comwww.apexRnD.be
http://dgielis.blogspot.com @dgielis
How to Start
PersonaThis is Mathias Vanhove
❖ MSc. Applied Computer Science
❖ Skillset:
✓ Specialization: Usability
✓ Great: HTML 5, Css3
✓ Ok: Javascript, C#/.NET, MySQL
✓ None: APEX, Oracle DB, PL/SQL
❖ Ambitious
❖ Eager to learn
The things Mathias Loves
❖ Usability and User Centered Design
❖ Structure
❖ Consistency
❖ Reusability
❖ Customizations
Mathias’ Learning Goal
Develop an APEX application
and learn all the necessary elements to do so.
Necessary elements?
❖ APEX
❖ SQL
❖ PL/SQL
❖ Oracle DB
❖ HTML 5
❖ CSS3
❖ Javascript
✓
✓
±
±
x
x
x
How Mathias started
1. Two introduction sessions 2. APEX R&D’s Guide 3. Book by Steven Feuerstein
4. Online Guide 5. Expert Oracle APEX
Structure of APEX
❖ APEX Page — App Builder
❖ SQL Workshop
❖ Shared Components
Structure of APEX
APEX Page: Elements you should understand
❖ Regions:
➡ Possible types
➡ Template options
❖ Dynamic Actions
❖ Bind variables
❖ Process vs. Computation
❖ Define vs. Declare
SQL Workshop
❖ Use the Wizard to build tables
❖ Get a good understanding of:
➡ Sequences
➡ Triggers
Shared Components
❖ List Of Values
❖ Navigation:
➡ Navigation Menu
➡ Breadcrumbs
➡ Navigation Bar List
❖ Templates
❖ etc.
Mathias’ APP
An easy to manage Information Security Document/
Guideline to be compliant for the European GDPR
legislation.
❖ Subjects
❖ Sub-subjects
❖ Content items for each sub-subject
❖ Auditing/Evaluation system
❖ Todo system
❖ Maintainable
Information Security
Mathias’ problems
Ways to add help text
Page Items
Define vs. Declare
List Of Values
Customizations using PL/SQL
Select list: Dynamic Actions
Working dynamically with cards
Custom dynamic linking to pages
Table id-sequence + triggers
Changing templates to a custom one
Views vs inline SQL-join
Auto fill date
Concatenate two values in a select list
Building custom templates
Refresh page dynamic action
Add PL/SQL to template
Clear cache
Oracle Advisor Utility
Add HTML fields to Classic Report
Escape HTML characters
Debugging
Charts
Configure SQL Developer
PL/SQL package with a function
Subsitution Strings
Mathias’ problem
Mathias’ problems
Ways to add help text
Page Items
Define vs. Declare
List Of Values
Customizations using PL/SQL
Select list: Dynamic Actions
Working dynamically with cards
Custom dynamic linking to pages
Table id-sequence + triggers
Changing templates to a custom one
Views vs inline SQL-join
Auto fill date
Concatenate two values in a select list
Building custom templates
Refresh page dynamic action
Add PL/SQL to template
Clear cache
Oracle Advisor Utility
Add HTML fields to Classic Report
Escape HTML characters
Debugging
Charts
Configure SQL Developer
PL/SQL package with a function
List Of Values
Select list: Dynamic Actions
Concatenate two values in a select list
Subsitution Strings
Mathias’ problems
Mathias’ problems
Ways to add help text
Page Items
Define vs. Declare
List Of Values
Customizations using PL/SQL
Select list: Dynamic Actions Custom dynamic linking to pages
Table id-sequence + triggers
Changing templates to a custom one
Views vs inline SQL-join
Auto fill date
Concatenate two values in a select list
Refresh page dynamic action
Add PL/SQL to template
Clear cache
Oracle Advisor Utility
Add HTML fields to Classic Report
Escape HTML characters
Debugging
Charts
Configure SQL Developer
PL/SQL package with a function
Building Custom Templates
Working dynamically with cards
Subsitution Strings
Problem #1: Select List
❖ List Of Values
❖ Concatenate two values
❖ Dynamic Action
❖ Dynamic content change
First step: build LoV query
First step: build LoV query
First step: build LoV query
First step: build LoV query
First step: build LoV queryFirst step: build LoV query
First step: build LoV query
Second step: Concatenate
❖ Google is your friend!
❖ Difficulties to google
➡ Oracle APEX
❖ Easy to do
Second step: Concatenate
Third step: Dynamic Action
❖ Not so hard when you followed the APEX R&D Course
❖ Add a Dynamic Action
❖ Use Change event
Third step: Dynamic Action
Third step: Dynamic Action
Third step: Dynamic Action
Third step: Dynamic Action
Third step: Dynamic Action
Fourth Step: Dynamic content
❖ Change content of Sub-subject based on selection of
subject
❖ More advanced step
❖ Substitution strings vs Bind variables
Fourth Step: Dynamic content
Fourth Step: Dynamic content
Fourth Step: Dynamic content
Some useful advice Mathias found when exploring the
coding conventions of APEX R&D
Some useful advice Mathias found when exploring the
Oracle Builder User Guideline
https://docs.oracle.com/database/121/HTMDB/concept_sub.htm#HTMDB03022
Problem #2: Templates
❖ Working dynamically with Cards
➡ Where can I find the templates?
➡ Template substitution
❖ Making an own template
➡ Another problem
➡ PL/SQL?
Working with Cards
Working with Cards
Working with Cards
Working with Cards
Working with Cards
Making your own template
❖ Goal: Show each sub-subject as a collapsible and show
all content items for each sub-subject in that collapsible
region.
➡ Tried customization using PL/SQL
➡ Failed —> Difficult when no knowledge of PL/SQL
➡ Templates instead
The PL/SQL Way
❖ Bind to Page Item —> Error
❖ Cursor loop
❖ Collapsible region
Bind data to Page Item
❖ Create Page Items
❖ Created a Process
❖ Put data in the Page Items
❖ Logical error
❖ Can’t bind more than one value
to a Page Item
❖ Better solution?
❖ Cursor Loops?
❖ No Page Items, but inline html.
Bind data to Page Item
Cursor loops
❖ No output
❖ "dbms_output.put_line();
❖ "sys.htp.p();"
❖ Collapsible fail
❖ Needed help!
Cursor loops
Mathias’ thoughts at this point
❖ Roeland’s advice
❖ Customizations
❖ Keep it simple
❖ Use templates
Watch Jorge’s video’s on templates
http://rimblas.com/blog/author/admin/
How to create a template?
❖ Create a new "report" template
❖ Insert your HTML template with Substitution strings
❖ Use the Row Templates for loops
❖ Use PL/SQL Conditions to keep track
How create a template?
Call it from your page
Result
Different Sub-Subjects
Different Content Items
Different Content Items for a Sub-Subject
Make it Collapsible
Building your own template
❖ Template Type
❖ Right syntax: #BINDVARIABLE# instead of
#bindvariable#
❖ PL/SQL conditions?
❖ Loops on specific section?
Why these problems?
Why these problems?
❖ Structure/overview was missing
❖ Lack of knowledge of all the existing APEX elements
❖ Poor understanding of the meaning of specific APEX
terms
❖ Customize to fast
❖ No perfect way
How Mathias started
1. Two introduction sessions 2. APEX R&D’s Guide 3. Book by Steven Feuerstein
4. Online Guide 5. Expert Oracle APEX
How you should start?!
❖ Introduction training of APEX - Overview
❖ Analyze an existing APEX page
❖ Understand the Core Structure
❖ APEX R&D introduction course / APEX Education Course (free)
❖ Learn to master the key elements of the Core Structure
❖ Read Oracle PL/SQL Programming (only part 1 and 2) by Steven
Feuerstein
❖ QuickSQL and Blueprint
❖ Start developing something easy using the key elements of APEX. Avoid
customizations!
Still a long road until reaching the top. But Mathias’ first steps are made.
Now it’s your turn!
Q&A
www.apexRnD.be
dgielis.blogspot.com
@dgielis
dgielis@apexRnD.be
❖ Looking for consulting, training and development in
Oracle Application Express (APEX)?
❖ Contact : www.apexRnD.be
❖ Mail : info@apexRnD.be
Consulting, Development, Training

More Related Content

What's hot

Oracle REST Data Services: Options for your Web Services
Oracle REST Data Services: Options for your Web ServicesOracle REST Data Services: Options for your Web Services
Oracle REST Data Services: Options for your Web Services
Jeff Smith
 
Intro on Oracle Application express - APEX
Intro on Oracle Application express - APEXIntro on Oracle Application express - APEX
Intro on Oracle Application express - APEX
Lino Schildenfeld
 
Oracle RAD stack REST, APEX, Database
Oracle RAD stack REST, APEX, DatabaseOracle RAD stack REST, APEX, Database
Oracle RAD stack REST, APEX, Database
Michael Hichwa
 
Building a Data Pipeline from Scratch - Joe Crobak
Building a Data Pipeline from Scratch - Joe CrobakBuilding a Data Pipeline from Scratch - Joe Crobak
Building a Data Pipeline from Scratch - Joe Crobak
Hakka Labs
 
What is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | EdurekaWhat is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | Edureka
Edureka!
 
Introduction to REST - API
Introduction to REST - APIIntroduction to REST - API
Introduction to REST - API
Chetan Gadodia
 
ORC File & Vectorization - Improving Hive Data Storage and Query Performance
ORC File & Vectorization - Improving Hive Data Storage and Query PerformanceORC File & Vectorization - Improving Hive Data Storage and Query Performance
ORC File & Vectorization - Improving Hive Data Storage and Query Performance
DataWorks Summit
 
Liquibase
LiquibaseLiquibase
Liquibase
Roman Uholnikov
 
Migrating with Debezium
Migrating with DebeziumMigrating with Debezium
Migrating with Debezium
Mike Fowler
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
Diacode
 
Soap and restful webservice
Soap and restful webserviceSoap and restful webservice
Soap and restful webservice
Dong Ngoc
 
Angular
AngularAngular
Angular
Lilia Sfaxi
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practices
Ankita Mahajan
 
Debugging PL/SQL from your APEX Applications with Oracle SQL Developer
Debugging PL/SQL from your APEX Applications with Oracle SQL DeveloperDebugging PL/SQL from your APEX Applications with Oracle SQL Developer
Debugging PL/SQL from your APEX Applications with Oracle SQL Developer
Jeff Smith
 
Oracle application express ppt
Oracle application express pptOracle application express ppt
Oracle application express pptAbhinaw Kumar
 
Why HATEOAS
Why HATEOASWhy HATEOAS
Why HATEOAS
Lee Wayne
 
Web api using rest based architecture
Web api using rest based architectureWeb api using rest based architecture
Web api using rest based architecture
Soham Kulkarni
 
SOA for PL/SQL Developer (OPP 2010)
SOA for PL/SQL Developer (OPP 2010)SOA for PL/SQL Developer (OPP 2010)
SOA for PL/SQL Developer (OPP 2010)
Lucas Jellema
 

What's hot (20)

Oracle REST Data Services: Options for your Web Services
Oracle REST Data Services: Options for your Web ServicesOracle REST Data Services: Options for your Web Services
Oracle REST Data Services: Options for your Web Services
 
Intro on Oracle Application express - APEX
Intro on Oracle Application express - APEXIntro on Oracle Application express - APEX
Intro on Oracle Application express - APEX
 
Oracle RAD stack REST, APEX, Database
Oracle RAD stack REST, APEX, DatabaseOracle RAD stack REST, APEX, Database
Oracle RAD stack REST, APEX, Database
 
Building a Data Pipeline from Scratch - Joe Crobak
Building a Data Pipeline from Scratch - Joe CrobakBuilding a Data Pipeline from Scratch - Joe Crobak
Building a Data Pipeline from Scratch - Joe Crobak
 
What is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | EdurekaWhat is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | Edureka
 
Introduction to REST - API
Introduction to REST - APIIntroduction to REST - API
Introduction to REST - API
 
ORC File & Vectorization - Improving Hive Data Storage and Query Performance
ORC File & Vectorization - Improving Hive Data Storage and Query PerformanceORC File & Vectorization - Improving Hive Data Storage and Query Performance
ORC File & Vectorization - Improving Hive Data Storage and Query Performance
 
Liquibase
LiquibaseLiquibase
Liquibase
 
Migrating with Debezium
Migrating with DebeziumMigrating with Debezium
Migrating with Debezium
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
 
Soap and restful webservice
Soap and restful webserviceSoap and restful webservice
Soap and restful webservice
 
Angular
AngularAngular
Angular
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practices
 
Soap vs rest
Soap vs restSoap vs rest
Soap vs rest
 
Debugging PL/SQL from your APEX Applications with Oracle SQL Developer
Debugging PL/SQL from your APEX Applications with Oracle SQL DeveloperDebugging PL/SQL from your APEX Applications with Oracle SQL Developer
Debugging PL/SQL from your APEX Applications with Oracle SQL Developer
 
Oracle application express ppt
Oracle application express pptOracle application express ppt
Oracle application express ppt
 
Why HATEOAS
Why HATEOASWhy HATEOAS
Why HATEOAS
 
Web api using rest based architecture
Web api using rest based architectureWeb api using rest based architecture
Web api using rest based architecture
 
SOA for PL/SQL Developer (OPP 2010)
SOA for PL/SQL Developer (OPP 2010)SOA for PL/SQL Developer (OPP 2010)
SOA for PL/SQL Developer (OPP 2010)
 
Oracle Application Express
Oracle Application ExpressOracle Application Express
Oracle Application Express
 

Similar to Oracle APEX for Beginners

Can You Do That with APEX? Building Not So Straightforward Pages
Can You Do That with APEX? Building Not So Straightforward PagesCan You Do That with APEX? Building Not So Straightforward Pages
Can You Do That with APEX? Building Not So Straightforward Pages
Dimitri Gielis
 
A Work Day Of A Web Developer
A Work Day Of A Web DeveloperA Work Day Of A Web Developer
A Work Day Of A Web Developer
Edureka!
 
Structured Authoring for Business-Critical Content
Structured Authoring for Business-Critical ContentStructured Authoring for Business-Critical Content
Structured Authoring for Business-Critical Content
LavaCon
 
The Heart of Data Modeling: The Best Data Modeler is a Lazy Data Modeler
The Heart of Data Modeling: The Best Data Modeler is a Lazy Data ModelerThe Heart of Data Modeling: The Best Data Modeler is a Lazy Data Modeler
The Heart of Data Modeling: The Best Data Modeler is a Lazy Data Modeler
DATAVERSITY
 
CSS Eye for the Programmer Guy
CSS Eye for the Programmer GuyCSS Eye for the Programmer Guy
CSS Eye for the Programmer Guy
Dennis Slade Jr.
 
APEX 5 Demo and Best Practices
APEX 5 Demo and Best PracticesAPEX 5 Demo and Best Practices
APEX 5 Demo and Best Practices
Dimitri Gielis
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation Portal
Steve Anderson
 
#ImpactSalesforceSaturday: Lightning Components 101: An Apex Developer’s Guide
#ImpactSalesforceSaturday: Lightning Components 101: An Apex Developer’s Guide#ImpactSalesforceSaturday: Lightning Components 101: An Apex Developer’s Guide
#ImpactSalesforceSaturday: Lightning Components 101: An Apex Developer’s Guide
New Delhi Salesforce Developer Group
 
Producing Online Educational Videos
Producing Online Educational VideosProducing Online Educational Videos
Producing Online Educational Videos
Richard Harrington
 
DISHA : Building your online portfolio
DISHA : Building your online portfolioDISHA : Building your online portfolio
DISHA : Building your online portfolio
Emertxe Information Technologies Pvt Ltd
 
Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)
Mike Schinkel
 
Toc08 Goldthwaite Digitizing Your Backlist
Toc08 Goldthwaite Digitizing Your BacklistToc08 Goldthwaite Digitizing Your Backlist
Toc08 Goldthwaite Digitizing Your Backlist
toc
 
Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2
Eric Overfield
 
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
Adrian Jones
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
Gil Fink
 
Angular2 Upgrade
Angular2 UpgradeAngular2 Upgrade
webdevelopment_6132030-lva1-app6891.pptx
webdevelopment_6132030-lva1-app6891.pptxwebdevelopment_6132030-lva1-app6891.pptx
webdevelopment_6132030-lva1-app6891.pptx
lekhacce
 
Catalyst - refactor large apps with it and have fun!
Catalyst - refactor large apps with it and have fun!Catalyst - refactor large apps with it and have fun!
Catalyst - refactor large apps with it and have fun!
mold
 
GraphQL - hot or not? How to simplify API based services?
GraphQL - hot or not? How to simplify  API based services?GraphQL - hot or not? How to simplify  API based services?
GraphQL - hot or not? How to simplify API based services?
Adam Klimczyk
 
.NET 8Developer Roadmap By Scholarhat PDF
.NET 8Developer Roadmap  By Scholarhat PDF.NET 8Developer Roadmap  By Scholarhat PDF
.NET 8Developer Roadmap By Scholarhat PDF
Scholarhat
 

Similar to Oracle APEX for Beginners (20)

Can You Do That with APEX? Building Not So Straightforward Pages
Can You Do That with APEX? Building Not So Straightforward PagesCan You Do That with APEX? Building Not So Straightforward Pages
Can You Do That with APEX? Building Not So Straightforward Pages
 
A Work Day Of A Web Developer
A Work Day Of A Web DeveloperA Work Day Of A Web Developer
A Work Day Of A Web Developer
 
Structured Authoring for Business-Critical Content
Structured Authoring for Business-Critical ContentStructured Authoring for Business-Critical Content
Structured Authoring for Business-Critical Content
 
The Heart of Data Modeling: The Best Data Modeler is a Lazy Data Modeler
The Heart of Data Modeling: The Best Data Modeler is a Lazy Data ModelerThe Heart of Data Modeling: The Best Data Modeler is a Lazy Data Modeler
The Heart of Data Modeling: The Best Data Modeler is a Lazy Data Modeler
 
CSS Eye for the Programmer Guy
CSS Eye for the Programmer GuyCSS Eye for the Programmer Guy
CSS Eye for the Programmer Guy
 
APEX 5 Demo and Best Practices
APEX 5 Demo and Best PracticesAPEX 5 Demo and Best Practices
APEX 5 Demo and Best Practices
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation Portal
 
#ImpactSalesforceSaturday: Lightning Components 101: An Apex Developer’s Guide
#ImpactSalesforceSaturday: Lightning Components 101: An Apex Developer’s Guide#ImpactSalesforceSaturday: Lightning Components 101: An Apex Developer’s Guide
#ImpactSalesforceSaturday: Lightning Components 101: An Apex Developer’s Guide
 
Producing Online Educational Videos
Producing Online Educational VideosProducing Online Educational Videos
Producing Online Educational Videos
 
DISHA : Building your online portfolio
DISHA : Building your online portfolioDISHA : Building your online portfolio
DISHA : Building your online portfolio
 
Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)
 
Toc08 Goldthwaite Digitizing Your Backlist
Toc08 Goldthwaite Digitizing Your BacklistToc08 Goldthwaite Digitizing Your Backlist
Toc08 Goldthwaite Digitizing Your Backlist
 
Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2
 
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
 
Angular2 Upgrade
Angular2 UpgradeAngular2 Upgrade
Angular2 Upgrade
 
webdevelopment_6132030-lva1-app6891.pptx
webdevelopment_6132030-lva1-app6891.pptxwebdevelopment_6132030-lva1-app6891.pptx
webdevelopment_6132030-lva1-app6891.pptx
 
Catalyst - refactor large apps with it and have fun!
Catalyst - refactor large apps with it and have fun!Catalyst - refactor large apps with it and have fun!
Catalyst - refactor large apps with it and have fun!
 
GraphQL - hot or not? How to simplify API based services?
GraphQL - hot or not? How to simplify  API based services?GraphQL - hot or not? How to simplify  API based services?
GraphQL - hot or not? How to simplify API based services?
 
.NET 8Developer Roadmap By Scholarhat PDF
.NET 8Developer Roadmap  By Scholarhat PDF.NET 8Developer Roadmap  By Scholarhat PDF
.NET 8Developer Roadmap By Scholarhat PDF
 

More from Dimitri Gielis

Bring the light in your Always FREE Oracle Cloud
Bring the light in your Always FREE Oracle CloudBring the light in your Always FREE Oracle Cloud
Bring the light in your Always FREE Oracle Cloud
Dimitri Gielis
 
APEX Office Print (AOP)
APEX Office Print (AOP)APEX Office Print (AOP)
APEX Office Print (AOP)
Dimitri Gielis
 
REST Web Service? No, GraphQL please!
REST Web Service? No, GraphQL please!REST Web Service? No, GraphQL please!
REST Web Service? No, GraphQL please!
Dimitri Gielis
 
Bringing Virtual Reality (VR) and Augmented Reality (AR) to APEX
Bringing Virtual Reality (VR) and Augmented Reality (AR) to APEXBringing Virtual Reality (VR) and Augmented Reality (AR) to APEX
Bringing Virtual Reality (VR) and Augmented Reality (AR) to APEX
Dimitri Gielis
 
Oracle APEX Cheat Sheet
Oracle APEX Cheat SheetOracle APEX Cheat Sheet
Oracle APEX Cheat Sheet
Dimitri Gielis
 
Moving your APEX app to the Oracle Exadata Express Cloud
Moving your APEX app to the Oracle Exadata Express CloudMoving your APEX app to the Oracle Exadata Express Cloud
Moving your APEX app to the Oracle Exadata Express Cloud
Dimitri Gielis
 
JavaScript straight from the Oracle Database
JavaScript straight from the Oracle DatabaseJavaScript straight from the Oracle Database
JavaScript straight from the Oracle Database
Dimitri Gielis
 
Service Workers and APEX
Service Workers and APEXService Workers and APEX
Service Workers and APEX
Dimitri Gielis
 
APEX Office Print
APEX Office PrintAPEX Office Print
APEX Office Print
Dimitri Gielis
 
Real Application Security (RAS) and Oracle Application Express (APEX)
Real Application Security (RAS) and Oracle Application Express (APEX)Real Application Security (RAS) and Oracle Application Express (APEX)
Real Application Security (RAS) and Oracle Application Express (APEX)
Dimitri Gielis
 
Moving to the APEX Listener
Moving to the APEX ListenerMoving to the APEX Listener
Moving to the APEX Listener
Dimitri Gielis
 
APEX Wearables
APEX WearablesAPEX Wearables
APEX Wearables
Dimitri Gielis
 
APEX Security 101
APEX Security 101APEX Security 101
APEX Security 101
Dimitri Gielis
 
A Primer on Web Components in APEX
A Primer on Web Components in APEXA Primer on Web Components in APEX
A Primer on Web Components in APEX
Dimitri Gielis
 
How to make APEX print through Node.js
How to make APEX print through Node.jsHow to make APEX print through Node.js
How to make APEX print through Node.js
Dimitri Gielis
 
Oracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integrationOracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integration
Dimitri Gielis
 

More from Dimitri Gielis (16)

Bring the light in your Always FREE Oracle Cloud
Bring the light in your Always FREE Oracle CloudBring the light in your Always FREE Oracle Cloud
Bring the light in your Always FREE Oracle Cloud
 
APEX Office Print (AOP)
APEX Office Print (AOP)APEX Office Print (AOP)
APEX Office Print (AOP)
 
REST Web Service? No, GraphQL please!
REST Web Service? No, GraphQL please!REST Web Service? No, GraphQL please!
REST Web Service? No, GraphQL please!
 
Bringing Virtual Reality (VR) and Augmented Reality (AR) to APEX
Bringing Virtual Reality (VR) and Augmented Reality (AR) to APEXBringing Virtual Reality (VR) and Augmented Reality (AR) to APEX
Bringing Virtual Reality (VR) and Augmented Reality (AR) to APEX
 
Oracle APEX Cheat Sheet
Oracle APEX Cheat SheetOracle APEX Cheat Sheet
Oracle APEX Cheat Sheet
 
Moving your APEX app to the Oracle Exadata Express Cloud
Moving your APEX app to the Oracle Exadata Express CloudMoving your APEX app to the Oracle Exadata Express Cloud
Moving your APEX app to the Oracle Exadata Express Cloud
 
JavaScript straight from the Oracle Database
JavaScript straight from the Oracle DatabaseJavaScript straight from the Oracle Database
JavaScript straight from the Oracle Database
 
Service Workers and APEX
Service Workers and APEXService Workers and APEX
Service Workers and APEX
 
APEX Office Print
APEX Office PrintAPEX Office Print
APEX Office Print
 
Real Application Security (RAS) and Oracle Application Express (APEX)
Real Application Security (RAS) and Oracle Application Express (APEX)Real Application Security (RAS) and Oracle Application Express (APEX)
Real Application Security (RAS) and Oracle Application Express (APEX)
 
Moving to the APEX Listener
Moving to the APEX ListenerMoving to the APEX Listener
Moving to the APEX Listener
 
APEX Wearables
APEX WearablesAPEX Wearables
APEX Wearables
 
APEX Security 101
APEX Security 101APEX Security 101
APEX Security 101
 
A Primer on Web Components in APEX
A Primer on Web Components in APEXA Primer on Web Components in APEX
A Primer on Web Components in APEX
 
How to make APEX print through Node.js
How to make APEX print through Node.jsHow to make APEX print through Node.js
How to make APEX print through Node.js
 
Oracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integrationOracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integration
 

Recently uploaded

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

Oracle APEX for Beginners

  • 2. Dimitri Gielis ❖ Founder & CEO of APEX R&D ❖ 19+ years of Oracle Experience (OCP & APEX Certified) ❖ Oracle ACE Director ❖ “APEX Developer of the year 2009” by Oracle Magazine ❖ “Oracle Developer Choice award (ORDS)” in 2015 ❖ Author Expert Oracle APEX ❖ Presenter at Conferences
  • 6. PersonaThis is Mathias Vanhove ❖ MSc. Applied Computer Science ❖ Skillset: ✓ Specialization: Usability ✓ Great: HTML 5, Css3 ✓ Ok: Javascript, C#/.NET, MySQL ✓ None: APEX, Oracle DB, PL/SQL ❖ Ambitious ❖ Eager to learn
  • 7. The things Mathias Loves ❖ Usability and User Centered Design ❖ Structure ❖ Consistency ❖ Reusability ❖ Customizations
  • 8. Mathias’ Learning Goal Develop an APEX application and learn all the necessary elements to do so.
  • 9. Necessary elements? ❖ APEX ❖ SQL ❖ PL/SQL ❖ Oracle DB ❖ HTML 5 ❖ CSS3 ❖ Javascript ✓ ✓ ± ± x x x
  • 10. How Mathias started 1. Two introduction sessions 2. APEX R&D’s Guide 3. Book by Steven Feuerstein 4. Online Guide 5. Expert Oracle APEX
  • 11. Structure of APEX ❖ APEX Page — App Builder ❖ SQL Workshop ❖ Shared Components
  • 13. APEX Page: Elements you should understand ❖ Regions: ➡ Possible types ➡ Template options ❖ Dynamic Actions ❖ Bind variables ❖ Process vs. Computation ❖ Define vs. Declare
  • 14. SQL Workshop ❖ Use the Wizard to build tables ❖ Get a good understanding of: ➡ Sequences ➡ Triggers
  • 15. Shared Components ❖ List Of Values ❖ Navigation: ➡ Navigation Menu ➡ Breadcrumbs ➡ Navigation Bar List ❖ Templates ❖ etc.
  • 16. Mathias’ APP An easy to manage Information Security Document/ Guideline to be compliant for the European GDPR legislation.
  • 17. ❖ Subjects ❖ Sub-subjects ❖ Content items for each sub-subject ❖ Auditing/Evaluation system ❖ Todo system ❖ Maintainable Information Security
  • 18. Mathias’ problems Ways to add help text Page Items Define vs. Declare List Of Values Customizations using PL/SQL Select list: Dynamic Actions Working dynamically with cards Custom dynamic linking to pages Table id-sequence + triggers Changing templates to a custom one Views vs inline SQL-join Auto fill date Concatenate two values in a select list Building custom templates Refresh page dynamic action Add PL/SQL to template Clear cache Oracle Advisor Utility Add HTML fields to Classic Report Escape HTML characters Debugging Charts Configure SQL Developer PL/SQL package with a function Subsitution Strings
  • 20. Mathias’ problems Ways to add help text Page Items Define vs. Declare List Of Values Customizations using PL/SQL Select list: Dynamic Actions Working dynamically with cards Custom dynamic linking to pages Table id-sequence + triggers Changing templates to a custom one Views vs inline SQL-join Auto fill date Concatenate two values in a select list Building custom templates Refresh page dynamic action Add PL/SQL to template Clear cache Oracle Advisor Utility Add HTML fields to Classic Report Escape HTML characters Debugging Charts Configure SQL Developer PL/SQL package with a function List Of Values Select list: Dynamic Actions Concatenate two values in a select list Subsitution Strings
  • 22. Mathias’ problems Ways to add help text Page Items Define vs. Declare List Of Values Customizations using PL/SQL Select list: Dynamic Actions Custom dynamic linking to pages Table id-sequence + triggers Changing templates to a custom one Views vs inline SQL-join Auto fill date Concatenate two values in a select list Refresh page dynamic action Add PL/SQL to template Clear cache Oracle Advisor Utility Add HTML fields to Classic Report Escape HTML characters Debugging Charts Configure SQL Developer PL/SQL package with a function Building Custom Templates Working dynamically with cards Subsitution Strings
  • 23. Problem #1: Select List ❖ List Of Values ❖ Concatenate two values ❖ Dynamic Action ❖ Dynamic content change
  • 24. First step: build LoV query
  • 25. First step: build LoV query
  • 26. First step: build LoV query
  • 27. First step: build LoV query
  • 28. First step: build LoV queryFirst step: build LoV query
  • 29. First step: build LoV query
  • 30. Second step: Concatenate ❖ Google is your friend! ❖ Difficulties to google ➡ Oracle APEX ❖ Easy to do
  • 32. Third step: Dynamic Action ❖ Not so hard when you followed the APEX R&D Course ❖ Add a Dynamic Action ❖ Use Change event
  • 38. Fourth Step: Dynamic content ❖ Change content of Sub-subject based on selection of subject ❖ More advanced step ❖ Substitution strings vs Bind variables
  • 42. Some useful advice Mathias found when exploring the coding conventions of APEX R&D
  • 43. Some useful advice Mathias found when exploring the Oracle Builder User Guideline https://docs.oracle.com/database/121/HTMDB/concept_sub.htm#HTMDB03022
  • 44. Problem #2: Templates ❖ Working dynamically with Cards ➡ Where can I find the templates? ➡ Template substitution ❖ Making an own template ➡ Another problem ➡ PL/SQL?
  • 50. Making your own template ❖ Goal: Show each sub-subject as a collapsible and show all content items for each sub-subject in that collapsible region. ➡ Tried customization using PL/SQL ➡ Failed —> Difficult when no knowledge of PL/SQL ➡ Templates instead
  • 51. The PL/SQL Way ❖ Bind to Page Item —> Error ❖ Cursor loop ❖ Collapsible region
  • 52. Bind data to Page Item ❖ Create Page Items ❖ Created a Process ❖ Put data in the Page Items
  • 53. ❖ Logical error ❖ Can’t bind more than one value to a Page Item ❖ Better solution? ❖ Cursor Loops? ❖ No Page Items, but inline html. Bind data to Page Item
  • 54. Cursor loops ❖ No output ❖ "dbms_output.put_line();
  • 55. ❖ "sys.htp.p();" ❖ Collapsible fail ❖ Needed help! Cursor loops
  • 56. Mathias’ thoughts at this point ❖ Roeland’s advice ❖ Customizations ❖ Keep it simple ❖ Use templates
  • 57. Watch Jorge’s video’s on templates http://rimblas.com/blog/author/admin/
  • 58. How to create a template? ❖ Create a new "report" template ❖ Insert your HTML template with Substitution strings ❖ Use the Row Templates for loops ❖ Use PL/SQL Conditions to keep track
  • 59. How create a template?
  • 60. Call it from your page
  • 61. Result Different Sub-Subjects Different Content Items Different Content Items for a Sub-Subject
  • 63. Building your own template ❖ Template Type ❖ Right syntax: #BINDVARIABLE# instead of #bindvariable# ❖ PL/SQL conditions? ❖ Loops on specific section?
  • 65. Why these problems? ❖ Structure/overview was missing ❖ Lack of knowledge of all the existing APEX elements ❖ Poor understanding of the meaning of specific APEX terms ❖ Customize to fast ❖ No perfect way
  • 66. How Mathias started 1. Two introduction sessions 2. APEX R&D’s Guide 3. Book by Steven Feuerstein 4. Online Guide 5. Expert Oracle APEX
  • 67. How you should start?! ❖ Introduction training of APEX - Overview ❖ Analyze an existing APEX page ❖ Understand the Core Structure ❖ APEX R&D introduction course / APEX Education Course (free) ❖ Learn to master the key elements of the Core Structure ❖ Read Oracle PL/SQL Programming (only part 1 and 2) by Steven Feuerstein ❖ QuickSQL and Blueprint ❖ Start developing something easy using the key elements of APEX. Avoid customizations!
  • 68. Still a long road until reaching the top. But Mathias’ first steps are made. Now it’s your turn!
  • 69.
  • 71. ❖ Looking for consulting, training and development in Oracle Application Express (APEX)? ❖ Contact : www.apexRnD.be ❖ Mail : info@apexRnD.be Consulting, Development, Training