Table of Contents
- Title and Copyright Information
- Preface
- Introduction
- Browser-Based Enterprise App Development
- Model-Driven, Direct Data Access
- Extensible, Powerful Components
- Responsive, Polished User Interface
- Complete Application Platform
- Open, Agent-Ready APEXlang
- Spec-Driven App Scaffolding
- Pricing and Deployment Options
- Active, Helpful Community
- App Development as a Service
- Learning Resources and Free Workspaces
- Working with Local Data
- Simplifying User Experience Design
- Starting a New Application
- Creating Pages Quickly
- Working in Page Designer
- Running and Iteratively Editing Pages
- Adding Interactivity to Pages
- Universal Theme Design System
- Report Columns and Form Items
- Cascading, List-Driven Items
- Simple Layout for Any Screen Size
- Launching Like Native Apps
- Referencing Data Values in Pages
- Using Data Values in HTML Expressions
- Using Data Values in Template Directives
- Directives Reference in Your Dock
- Using the Context-Sensitive Help Tab
- Using Data Values in SQL and PL/SQL
- Visualizing and Analyzing Data
- Enhancing Search for End-Users
- Adding Functionality with Plug-ins
- Reusable Components Using HTML Skills
- Template Component Overview
- Custom Attributes for Data and Settings
- Slots Enable Component Composition
- Applying Template Using Directives
- Controlling Component Availability
- Templates Comprising the Component
- Presenting Grouped Data
- Configuring Pagination Support
- Enabling Row Selection
- Attribute Scopes and Availability to Templates
- Action Positions and Action Templates
- Defining Files and File URLs to Load
- Using a Plug-in from apex.world
- Reusable Components Using HTML Skills
- Understanding Page Flow & Session State
- Navigating to Business Functions
- App Options in the Navigation Bar
- Configuring a Wizard Page Flow
- Additional Page Flow Features
- Understanding Session State Management
- Studying a List and Edit Flow
- Editing Data in a Grid
- Working with Master/Detail Data
- Controlling Access with Users and Roles
- Requiring Authenticated Access to a Page
- Authenticating Access with APEX Accounts
- Assigning Users to Roles
- Shaping Experience with Rules and Roles
- Enabling Row-Level Data Security Policy
- Refining Salary Review with Data Security
- Integrating an External Identity Provider
- Defining Users in an IAM Domain
- Creating Groups in an IAM Domain
- Assigning IAM Domain Users to Groups
- Configuring Confidential App for APEX
- Defining Credential for Identity Provider
- Authenticating with an External Provider
- Enabling Groups in Post-Auth Procedure
- Sourcing App Groups from Custom Code
- Switching Authorization Rules to Custom
- Making Social Sign-in the Current Scheme
- Experiencing External Identity Provider
- Exploring Context for Authorization Rules
- Applying Artificial Intelligence
- Integrating Remote Data
- Using Remote Oracle and MySQL Data
- Configuring Secure Web Credentials
- Using REST APIs as Data Sources
- Invoking a REST Operation Declaratively
- Using REST APIs in Code
- Extra Fusion Apps, ORDS, OData Features
- Additional REST Data Source Features
- Debugging REST API Errors
- Exposing APIs for Integration
- Reviewing Action Items API Requirements
- Reviewing REST API Basics
- Planning Your ORDS Service Module
- Using SQL Developer Web REST Designer
- Creating and Testing Read-Only APIs
- Enforcing Business Logic in REST APIs
- Controlling REST API Behavior Completely
- Layering Packages for Modularity
- Simplifying REST APIs in Oracle 26ai
- Securing APIs with Role-Based Access Control
- Geocoding Addresses
- Geocoding with User Confirmation
- Producing GeoJSON from Coordinates
- Avoiding SQL Expression Update Error
- Identifying Address Text Fields
- Confirming an Address Interactively
- Extracting Coordinates for Storage
- Unprotecting Client-Set Hidden Items
- Exploring Additional Page Features
- Geocoding in the Background
- Geocoding with User Confirmation
- Uploading, Viewing, and Downloading Files
- Reviewing Break Room and Referrals Pages
- Storing Employee ID in an Application Item
- Uploading an Image to a BLOB Column
- Displaying BLOB Column Images
- Showing BLOB Column Images on Cards
- Previewing Image in a Form Region
- Displaying BLOB Images in Classic Reports
- Using BLOB Images in Interactive Reports
- Including BLOB Images in Content Row
- Viewing BLOB Images in Search Results
- Showing BLOB Images in Interactive Grid
- Using BLOB Column Image URLs Anywhere
- Uploading a File to a BLOB Column
- Previewing BLOB Column PDF Files Inline
- Downloading a File for Offline Use
- Uploading Multiple Images or Files
- Handling Temporary Uploaded Files
- Posting Multiple Break Room Photos
- Configuring Multiple File Image Upload
- Experiencing Post Multiple Photos Flow
- Using a Collection to Capture Image Titles
- Joining Collection with Temp Files Table
- Preparing and Saving Images with Titles
- Using an OCI Object Bucket for Files
- Understanding Object Bucket URL Format
- Defining OCI Web Credential for REST APIs
- Listing Buckets with REST Data Source
- Using REST Data Source for Bucket Files
- Serving Inline File from Object Bucket
- Browsing and Selecting Bucket Files
- Storing an Uploaded File in Object Bucket
- Exploring Pre-Authenticated Requests
- Loading External Data
- Grouping Logic and Background Execution
- Exploring Employee Excellence for HR Reps
- Outlining Logic Using Execution Chains
- Offloading Work to the Background
- Serializing Background Process Jobs
- Understanding Cloned Session State
- Reporting Background Progress
- Loading Data in the Background
- Limiting and Throttling Background Jobs
- Adjusting Resources for Background Jobs
- Debugging Background Processes
- Executing Repetitive Processing
- Understanding Key Automation Concepts
- Exploring an Automation Example
- Notifying End Users
- Displaying Success and Error Messages
- Sending Emails with Templates
- Delivering Push Notifications
- Producing Pixel-Perfect Reports
- Translating Your Application
- Exploring Woods HR Pages to Translate
- Enabling the First Translation Language
- Understanding Initial Text Message Sync
- Exporting and Importing Translations
- Determining User’s Preferred Language
- Experiencing App in Another Language
- Translating Text as Your App Evolves
- Synchronizing Text Messages Anytime
- Editing Translations in a Filterable Grid
- Centralizing Reusable UI Text
- Understanding Application Lifecycle
- Working with APEXlang
- Why APEXlang Matters
- Using APEXlang with AI Coding Agents
- Exporting APEXlang from App Builder
- Importing APEXlang in App Builder
- Reading APEXlang Syntax
- Using App Builder and External Tools Together
- Editing APEXlang in Visual Studio Code
- Using SQLcl with APEXlang
- APEXlang Inside App Builder
- Understanding APEXlang Deployment Files
- Upgrading APEXlang Source with a New APEX Release
- Automating Business Processes
- Automating a Process with Workflow
- Using the Diagram and Activities Palette
- Surveying the Native Activities
- Connecting and Routing Activities
- Adding an Activity from the Palette
- Naming a New Activity
- Changing a Connection’s Target Activity
- Fine-Tuning Line Slope with Anchor Dots
- Moving Connections with Grab Handles
- Adding a Connection Between Activities
- Bending a Connection with Elbow Dots
- Adding Next Activity from Existing One
- Configuring a Switch Connection
- Inserting Activity Between Existing Ones
- Moving a Group of Activities
- Bringing Connections in Front of Activities
- Resolving Errors Before Saving a Workflow
- Associating a Table with a Workflow
- Retrieving Data for an Activity
- Defining Parameters and Variables
- Understanding Background Execution
- Getting Approval or User Input in a Workflow
- Assigning Work to a User’s Task Inbox
- Deciding if Task Needs an Outcome
- Associating a Table with a Task
- Accepting Input Values in Parameters
- Determining Task Participants
- Understanding Task States
- Creating Task “Inbox” Page for Users
- Collecting Data Using a Human Task
- Using and Tuning the Task Details Page
- Letting an Initiator Approve a Task
- Handling Time-Sensitive Tasks
- Reacting to Task Change Events
- Waiting for a Signal to Continue
- Enabling Deep Linking to a Specific Page
- Generating Page URL for Notification
- Emailing User a Page Link
- Delivering Push Notification with Page Link
- Waiting Until Application Logic Continues
- Navigating to Page Using Email Link
- Retrieving Title and Activity Labels
- Signaling to Continue and Returning Data
- Inspecting Resulting Workflow Instance
- Evaluating Benefits of Using Tasks Instead
- Assigning Work to a User’s Task Inbox
- Identifying Workflow Participants
- Listing Workflows and Viewing Details
- Exploring Patient Onboarding Example
- Understanding the Current Process
- Identifying Automation Opportunities
- Starting a Patient Onboarding Workflow
- Associating the Patients Table
- Configuring a Meaningful Title
- Building Patient Onboarding Visually
- Applying Activities to Patient Onboarding
- Evaluating Spatial Distance with an API
- Switching Path Using a Condition
- Predicting Results with Machine Learning
- Visualizing Workflow Progress
- Awaiting Completion of a Human Task
- Emailing Users a Rejection
- Provisioning a New User Account
- Waiting Until Patient Completes Profile
- Automating Business Entity Lifecycle Logic
- Learning the Medical Procedure Lifecycle
- Seeing the Medical Procedure Lifecycle
- Modeling the Medical Procedure Lifecycle
- Starting the Lifecycle Workflow
- Following a Medical Procedure Lifecycle
- Launching Woods Clinic Application
- Scheduling a Medical Procedure
- Receiving Medical Procedure Schedule
- Discharging Patient After Procedure
- Preparing Pixel-Perfect PDF Invoice
- Reviewing Invoice with Insurance Provider
- Regenerating Invoice in Background
- Invoicing Patient for the Balance
- Acknowledging Receipt of Payment
- Confirming the Lifecycle is Complete
- Notifying Workflow of Data Changes
- Maintaining Workflow Processes
- Importing vs. Deleting an Application
- Recognizing Development Mode
- Debugging Business Process Logic
- Accessing Workflow and Task Data
- Understanding Task and Workflow Purging
- Activating an In Development Workflow
- Deploying Workflows to Production
- Deleting a Workflow with No Instances
- Removing Development Instances
- Automating a Process with Workflow