SlideShare ist ein Scribd-Unternehmen logo
1 von 71
Downloaden Sie, um offline zu lesen
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!
Oracle APEX for Beginners
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

Weitere ähnliche Inhalte

Was ist angesagt?

5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEXRoel Hartman
 
Application express
Application expressApplication express
Application expressAntony Alex
 
Oracle Apex Technical Introduction
Oracle Apex   Technical IntroductionOracle Apex   Technical Introduction
Oracle Apex Technical Introductioncrokitta
 
Mastering universal theme
Mastering universal themeMastering universal theme
Mastering universal themeRoel Hartman
 
The Five Ways of Building Oracle Applications
The Five Ways of Building Oracle ApplicationsThe Five Ways of Building Oracle Applications
The Five Ways of Building Oracle ApplicationsSten Vesterli
 
Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)Dimitri Gielis
 
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- ZagrebAPEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- ZagrebMichael Hichwa
 
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 APEXDimitri Gielis
 
Getting Started with Oracle APEX
Getting Started with Oracle APEXGetting Started with Oracle APEX
Getting Started with Oracle APEXDataNext Solutions
 
Apex 5.1 migration and templates - APAC webinar tour
Apex 5.1 migration and templates - APAC webinar tourApex 5.1 migration and templates - APAC webinar tour
Apex 5.1 migration and templates - APAC webinar tourLino Schildenfeld
 
Oracle application express ppt
Oracle application express pptOracle application express ppt
Oracle application express pptAbhinaw Kumar
 
APEX 5.1 features - AUSOUG Connect 2016
APEX 5.1 features - AUSOUG Connect 2016APEX 5.1 features - AUSOUG Connect 2016
APEX 5.1 features - AUSOUG Connect 2016Lino Schildenfeld
 
Oracle APEX plugins - AUSOUG Connect 2016
Oracle APEX plugins - AUSOUG Connect 2016Oracle APEX plugins - AUSOUG Connect 2016
Oracle APEX plugins - AUSOUG Connect 2016Lino Schildenfeld
 
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 integrationDimitri Gielis
 
Printing with APEX: PL/PDF
Printing with APEX: PL/PDFPrinting with APEX: PL/PDF
Printing with APEX: PL/PDFEnkitec
 
Creating custom reports ora app express apex listener
Creating custom reports  ora app express apex listenerCreating custom reports  ora app express apex listener
Creating custom reports ora app express apex listenerDarnette A
 
Get the Look and Feel You Want in Oracle APEX
Get the Look and Feel You Want in Oracle APEXGet the Look and Feel You Want in Oracle APEX
Get the Look and Feel You Want in Oracle APEXJorge Rimblas
 
Creating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEXCreating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEXEnkitec
 
Oracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google AppsOracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google AppsSergei Martens
 

Was ist angesagt? (20)

5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX
 
Application express
Application expressApplication express
Application express
 
Oracle Apex Technical Introduction
Oracle Apex   Technical IntroductionOracle Apex   Technical Introduction
Oracle Apex Technical Introduction
 
APEX Office Print
APEX Office PrintAPEX Office Print
APEX Office Print
 
Mastering universal theme
Mastering universal themeMastering universal theme
Mastering universal theme
 
The Five Ways of Building Oracle Applications
The Five Ways of Building Oracle ApplicationsThe Five Ways of Building Oracle Applications
The Five Ways of Building Oracle Applications
 
Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)
 
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- ZagrebAPEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
 
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
 
Getting Started with Oracle APEX
Getting Started with Oracle APEXGetting Started with Oracle APEX
Getting Started with Oracle APEX
 
Apex 5.1 migration and templates - APAC webinar tour
Apex 5.1 migration and templates - APAC webinar tourApex 5.1 migration and templates - APAC webinar tour
Apex 5.1 migration and templates - APAC webinar tour
 
Oracle application express ppt
Oracle application express pptOracle application express ppt
Oracle application express ppt
 
APEX 5.1 features - AUSOUG Connect 2016
APEX 5.1 features - AUSOUG Connect 2016APEX 5.1 features - AUSOUG Connect 2016
APEX 5.1 features - AUSOUG Connect 2016
 
Oracle APEX plugins - AUSOUG Connect 2016
Oracle APEX plugins - AUSOUG Connect 2016Oracle APEX plugins - AUSOUG Connect 2016
Oracle APEX plugins - AUSOUG Connect 2016
 
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
 
Printing with APEX: PL/PDF
Printing with APEX: PL/PDFPrinting with APEX: PL/PDF
Printing with APEX: PL/PDF
 
Creating custom reports ora app express apex listener
Creating custom reports  ora app express apex listenerCreating custom reports  ora app express apex listener
Creating custom reports ora app express apex listener
 
Get the Look and Feel You Want in Oracle APEX
Get the Look and Feel You Want in Oracle APEXGet the Look and Feel You Want in Oracle APEX
Get the Look and Feel You Want in Oracle APEX
 
Creating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEXCreating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEX
 
Oracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google AppsOracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google Apps
 

Ähnlich wie 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 PagesDimitri 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 DeveloperEdureka!
 
Structured Authoring for Business-Critical Content
Structured Authoring for Business-Critical ContentStructured Authoring for Business-Critical Content
Structured Authoring for Business-Critical ContentLavaCon
 
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 ModelerDATAVERSITY
 
CSS Eye for the Programmer Guy
CSS Eye for the Programmer GuyCSS Eye for the Programmer Guy
CSS Eye for the Programmer GuyDennis Slade Jr.
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation PortalSteve 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 GuideNew Delhi Salesforce Developer Group
 
Producing Online Educational Videos
Producing Online Educational VideosProducing Online Educational Videos
Producing Online Educational VideosRichard Harrington
 
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 Backlisttoc
 
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.2Eric 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 SPAGil Fink
 
webdevelopment_6132030-lva1-app6891.pptx
webdevelopment_6132030-lva1-app6891.pptxwebdevelopment_6132030-lva1-app6891.pptx
webdevelopment_6132030-lva1-app6891.pptxlekhacce
 
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
 
No Feature Solutions with SharePoint
No Feature Solutions with SharePointNo Feature Solutions with SharePoint
No Feature Solutions with SharePointmikehuguet
 
Framing the Argument: How to Scale Faster with NoSQL
Framing the Argument: How to Scale Faster with NoSQLFraming the Argument: How to Scale Faster with NoSQL
Framing the Argument: How to Scale Faster with NoSQLInside Analysis
 

Ähnlich wie 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
 
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?
 
No Feature Solutions with SharePoint
No Feature Solutions with SharePointNo Feature Solutions with SharePoint
No Feature Solutions with SharePoint
 
Framing the Argument: How to Scale Faster with NoSQL
Framing the Argument: How to Scale Faster with NoSQLFraming the Argument: How to Scale Faster with NoSQL
Framing the Argument: How to Scale Faster with NoSQL
 

Mehr von 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 CloudDimitri 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
 
Oracle APEX Cheat Sheet
Oracle APEX Cheat SheetOracle APEX Cheat Sheet
Oracle APEX Cheat SheetDimitri 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 CloudDimitri Gielis
 
JavaScript straight from the Oracle Database
JavaScript straight from the Oracle DatabaseJavaScript straight from the Oracle Database
JavaScript straight from the Oracle DatabaseDimitri Gielis
 
Service Workers and APEX
Service Workers and APEXService Workers and APEX
Service Workers and APEXDimitri 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 ListenerDimitri 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 APEXDimitri 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.jsDimitri Gielis
 

Mehr von Dimitri Gielis (13)

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!
 
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
 
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
 

Kürzlich hochgeladen

Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.francesco barbera
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServiceRenan Moreira de Oliveira
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 

Kürzlich hochgeladen (20)

Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.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!
  • 71. ❖ Looking for consulting, training and development in Oracle Application Express (APEX)? ❖ Contact : www.apexRnD.be ❖ Mail : info@apexRnD.be Consulting, Development, Training