You are previewing Oracle Application Express 4 Recipes.
O'Reilly logo
Oracle Application Express 4 Recipes

Book Description

Oracle Application Express 4 Recipes provides an example-based approach to learning Application Express—the ground-breaking, rapid application development platform included with every Oracle Database license. The recipes format is ideal for the quick-study who just wants a good example or two to kick start their thinking and get pointed in the right direction.

The recipes cover the gamut of Application Express development. Author and Application Express expert Edmund Zehoo shows how to create data entry screens, visualize data in the form of reports and charts, implement validation and back-end logic, and much more. Solutions are presented in an easy, problem/solution format from which you can copy and adapt for your own use. Detailed discussion for each solution deepens your understanding and aids in customizing the solutions to fit your particular development challenges.

  • Teaches Application Express via an example-based format

  • Takes you from beginner to intermediate level

  • Shows how to build a fully-functional web store in just one hour

What you'll learn

  • Create web application forms and tables

  • Customize application look and feel

  • Visualize data via reports, calendars, maps, and charts

  • Globalize applications in support of language and regional differences

  • Implement complex business logic

  • Optimize the performance of Application Express

  • Protect applications from security threats

Who this book is for

Oracle Application Express 4 Recipes is aimed at web application developers, PL/SQL developers, and database administrators wishing to learn and use Oracle's groundbreaking tool for rapid development—Application Express. The book is a quick-study and is perfect for the reader who wants only a good example to work from, customize, and adapt.

Table of Contents

  1. Copyright
  2. About the Author
  3. About the Technical Reviewer
  4. Acknowledgments
  5. 1. Introducing Oracle APEX
    1. 1.1. Deciding Whether to Use APEX
      1. 1.1.1. Problem
      2. 1.1.2. Solution
      3. 1.1.3. How It Works
    2. 1.2. Identifying an APEX Deployment Model
      1. 1.2.1. Problem
      2. 1.2.2. Solution
      3. 1.2.3. How It Works
    3. 1.3. Installing Oracle APEX
      1. 1.3.1. Problem
      2. 1.3.2. Solution
      3. 1.3.3. How It Works
    4. 1.4. Familiarizing Yourself with APEX-speak
      1. 1.4.1. Problem
      2. 1.4.2. Solution
      3. 1.4.3. How It Works
    5. 1.5. Setting up a Workspace for Team-based Development
      1. 1.5.1. Problem
      2. 1.5.2. Solution
      3. 1.5.3. How It Works
    6. 1.6. Managing the Development Process
      1. 1.6.1. Problem
      2. 1.6.2. Solution
      3. 1.6.3. How It Works
  6. 2. Application Data Entry
    1. 2.1. Creating a Database Application
      1. 2.1.1. Problem
      2. 2.1.2. Solution
        1. 2.1.2.1. Creating the Customers Table
        2. 2.1.2.2. Creating the Database Application and Data Entry Form
      3. 2.1.3. How It Works
    2. 2.2. Creating a Report to Manage Your Data
      1. 2.2.1. Problem
      2. 2.2.2. Solution
      3. 2.2.3. How It Works
    3. 2.3. Changing Field Item Types in a Form
      1. 2.3.1. Problem
      2. 2.3.2. Solution
      3. 2.3.3. How It Works
    4. 2.4. Selecting from a List of Values in a Form
      1. 2.4.1. Problem
      2. 2.4.2. Solution
      3. 2.4.3. How It Works
    5. 2.5. Uploading and Downloading Files in a Form
      1. 2.5.1. Problem
      2. 2.5.2. Solution
      3. 2.5.3. How It Works
    6. 2.6. Using Tabular Forms to Speed Up Data Entry
      1. 2.6.1. Problem
      2. 2.6.2. Solution
      3. 2.6.3. How It Works
    7. 2.7. Creating a Websheet Application
      1. 2.7.1. Problem
      2. 2.7.2. Solution
      3. 2.7.3. How It Works
    8. 2.8. Changing the Item Type of a Websheet Column
      1. 2.8.1. Problem
      2. 2.8.2. Solution
      3. 2.8.3. How It Works
    9. 2.9. Modifying Values in a Websheet in Bulk
      1. 2.9.1. Problem
      2. 2.9.2. Solution
      3. 2.9.3. How It Works
  7. 3. Wiring up Application Logic
    1. 3.1. Adding Server-side Validation to Your Form
      1. 3.1.1. Problem
      2. 3.1.2. Solution
        1. 3.1.2.1. Setting up the Sample Objects
        2. 3.1.2.2. Adding Server-side Validation
      3. 3.1.3. How It Works
    2. 3.2. Adding Server-side Validation to Your Tabular Form
      1. 3.2.1. Problem
      2. 3.2.2. Solution
      3. 3.2.3. How It Works
    3. 3.3. Adding Client-side JavaScript Validation to Your Form
      1. 3.3.1. Problem
      2. 3.3.2. Solution
      3. 3.3.3. How It Works
    4. 3.4. Changing the List of Items in a Drop-down List Dynamically
      1. 3.4.1. Problem
      2. 3.4.2. Solution
        1. 3.4.2.1. Setting up the Sample Objects
        2. 3.4.2.2. Creating the Cascading Relationship
      3. 3.4.3. How It Works
    5. 3.5. Disabling or Hiding a Section of a Form Dynamically
      1. 3.5.1. Problem
      2. 3.5.2. Solution
      3. 3.5.3. How It Works
    6. 3.6. Storing Computed Values
      1. 3.6.1. Problem
      2. 3.6.2. Solution
      3. 3.6.3. How It Works
    7. 3.7. Interacting with a Web Service
      1. 3.7.1. Problem
      2. 3.7.2. Solution
        1. 3.7.2.1. Creating the Sample Form
        2. 3.7.2.2. Adding the Web Service Reference
        3. 3.7.2.3. Calling the Web Service from Your Form
      3. 3.7.3. How It Works
    8. 3.8. Running a PL/SQL Process when Saving the Page
      1. 3.8.1. Problem
      2. 3.8.2. Solution
      3. 3.8.3. How It Works
    9. 3.9. Sending an E-mail from the Form
      1. 3.9.1. Problem
      2. 3.9.2. Solution
        1. 3.9.2.1. Creating the Sample Object
        2. 3.9.2.2. Sending the E-mail
      3. 3.9.3. How It Works
  8. 4. Customizing Look and Feel
    1. 4.1. Adding an Image Header to Your Form
      1. 4.1.1. Problem
      2. 4.1.2. Solution
      3. 4.1.3. How It Works
    2. 4.2. Adding Custom CSS Styles to Your Page
      1. 4.2.1. Problem
      2. 4.2.2. Solution
      3. 4.2.3. How It Works
    3. 4.3. Using a Custom CSS File
      1. 4.3.1. Problem
      2. 4.3.2. Solution
      3. 4.3.3. How It Works
    4. 4.4. Creating a New Theme in Your Application
      1. 4.4.1. Problem
      2. 4.4.2. Solution
        1. 4.4.2.1. Creating a New Theme
        2. 4.4.2.2. Switching the Application Theme
      3. 4.4.3. How It Works
    5. 4.5. Modifying Form Control Templates
      1. 4.5.1. Problem
      2. 4.5.2. Solution
      3. 4.5.3. How It Works
    6. 4.6. Creating Reusable Code Snippets
      1. 4.6.1. Problem
      2. 4.6.2. Solution
      3. 4.6.3. How It Works
    7. 4.7. Extending the UI via Plug-ins
      1. 4.7.1. Problem
      2. 4.7.2. Solution
        1. 4.7.2.1. Creating the Plug-in
        2. 4.7.2.2. Using the Plug-in
      3. 4.7.3. How It Works
  9. 5. Visualizing Your Data
    1. 5.1. Creating a Classic Report
      1. 5.1.1. Problem
      2. 5.1.2. Solution
        1. 5.1.2.1. Step 1: Creating the Sample Objects
        2. 5.1.2.2. Step 2: Creating the Report
      3. 5.1.3. How It Works
    2. 5.2. Creating Parameterized Reports
      1. 5.2.1. Problem
      2. 5.2.2. Solution
      3. 5.2.3. How It Works
    3. 5.3. Visualizing Data in Graphical Charts
      1. 5.3.1. Problem
      2. 5.3.2. Solution
      3. 5.3.3. How It Works
    4. 5.4. Visualizing Data in a Multi-Series Chart
      1. 5.4.1. Problem
      2. 5.4.2. Solution
      3. 5.4.3. How It Works
    5. 5.5. Visualizing Data on a Calendar
      1. 5.5.1. Problem
      2. 5.5.2. Solution
      3. 5.5.3. How It Works
    6. 5.6. Visualizing Data on a Map
      1. 5.6.1. Problem
      2. 5.6.2. Solution
      3. 5.6.3. How It Works
    7. 5.7. Putting it all Together into a Dashboard Page
      1. 5.7.1. Problem
      2. 5.7.2. Solution
      3. 5.7.3. How It Works
  10. 6. Globalizing the Application
    1. 6.1. Setting up for Double-Byte Character Input
      1. 6.1.1. Problem
      2. 6.1.2. Solution
      3. 6.1.3. How It Works
    2. 6.2. Supporting Double-Byte Data Entry
      1. 6.2.1. Problem
      2. 6.2.2. Solution
        1. 6.2.2.1. Step 1: Creating the Sample Objects
        2. 6.2.2.2. Step 2: Creating and Running the Application
      3. 6.2.3. How It Works
    3. 6.3. Translating Your User Interface Into Another Language
      1. 6.3.1. Problem
      2. 6.3.2. Solution
        1. 6.3.2.1. Step 1: Set Globalization Attributes
        2. 6.3.2.2. Mapping to a Translated Application
        3. 6.3.2.3. Step 3: Export the XLIFF File
        4. 6.3.2.4. Step 4: Translate the XLIFF file
        5. 6.3.2.5. Step 5: Import the Translated XLIFF File
        6. 6.3.2.6. Step 6: Publish the Translated Application
        7. 6.3.2.7. Step 7: Test the Translated Application
      3. 6.3.3. How It Works
    4. 6.4. Storing and Displaying Dates with Time Zone Information
      1. 6.4.1. Problem
      2. 6.4.2. Solution
      3. 6.4.3. How It Works
  11. 7. Improving Application Performance
    1. 7.1. Measuring Page Access Frequency
      1. 7.1.1. Problem
      2. 7.1.2. Solution
      3. 7.1.3. How It Works
    2. 7.2. Measuring Page Performance in APEX
      1. 7.2.1. Problem
      2. 7.2.2. Solution
      3. 7.2.3. How It Works
    3. 7.3. Measuring Region Performance in APEX
      1. 7.3.1. Problem
      2. 7.3.2. Solution
      3. 7.3.3. How It Works
    4. 7.4. Enabling Region Caching
      1. 7.4.1. Problem
      2. 7.4.2. Solution
      3. 7.4.3. How It Works
    5. 7.5. Enabling Page Caching
      1. 7.5.1. Problem
      2. 7.5.2. Solution
      3. 7.5.3. How It Works
  12. 8. Securing an Application
    1. 8.1. Creating Your Own Authentication Scheme
      1. 8.1.1. Problem
      2. 8.1.2. Solution
      3. 8.1.3. How It Works
    2. 8.2. Defining User Access Rights
      1. 8.2.1. Problem
      2. 8.2.2. Solution
      3. 8.2.3. How It Works
    3. 8.3. Preventing SQL Injection Attacks
      1. 8.3.1. Problem
      2. 8.3.2. Solution
      3. 8.3.3. How It Works
    4. 8.4. Preventing Cross-Site Scripting (XSS) Attacks
      1. 8.4.1. Problem
      2. 8.4.2. Solution
      3. 8.4.3. How It Works
  13. 9. Deploying the Application
    1. 9.1. Deciding on a Deployment Approach
      1. 9.1.1. Problem
      2. 9.1.2. Solution
      3. 9.1.3. How It Works
    2. 9.2. Generating a List of Application Dependencies
      1. 9.2.1. Problem
      2. 9.2.2. Solution
      3. 9.2.3. How It Works
    3. 9.3. Exporting an Application
      1. 9.3.1. Problem
      2. 9.3.2. Solution
      3. 9.3.3. How It Works
    4. 9.4. Importing an Application
      1. 9.4.1. Problem
      2. 9.4.2. Solution
      3. 9.4.3. How It Works
    5. 9.5. Scripting an Application Import
      1. 9.5.1. Problem
      2. 9.5.2. Solution
      3. 9.5.3. How It Works
    6. 9.6. Exporting a Single Page
      1. 9.6.1. Problem
      2. 9.6.2. Solution
      3. 9.6.3. How It Works
    7. 9.7. Importing a Single Page
      1. 9.7.1. Problem
      2. 9.7.2. Solution
      3. 9.7.3. How It Works
    8. 9.8. Publishing the Application URL
      1. 9.8.1. Problem
      2. 9.8.2. Solution
      3. 9.8.3. How It Works
  14. 10. A Mini Book Catalog Site
    1. 10.1. Setting Up the Main Objects for Your Book Catalog
      1. 10.1.1. Problem
      2. 10.1.2. Solution
      3. 10.1.3. How It Works
    2. 10.2. Creating the Pages to Manage the List of Books
      1. 10.2.1. Problem
      2. 10.2.2. Solution
      3. 10.2.3. How It Works
    3. 10.3. Setting Up the Book Catalog Front End
      1. 10.3.1. Problem
      2. 10.3.2. Solution
      3. 10.3.3. How It Works
    4. 10.4. Changing the Home Page of the Application
      1. 10.4.1. Problem
      2. 10.4.2. Solution
      3. 10.4.3. How It Works
    5. 10.5. Creating the Stockcount Report for the Storekeeper
      1. 10.5.1. Problem
      2. 10.5.2. Solution
      3. 10.5.3. How It Works
    6. 10.6. Setting Up the Central Administration Page
      1. 10.6.1. Problem
      2. 10.6.2. Solution
      3. 10.6.3. How It Works
    7. 10.7. Creating Tabs in Your Application
      1. 10.7.1. Problem
      2. 10.7.2. Solution
      3. 10.7.3. How It Works