What's new in Oracle APEX 24.1 - Part 1
Apex 24.1 Overview and AI Features
Introduction to Apex 24.1
- Mark Zs introduces the session, highlighting his role as Senior Director of Software Development for Oracle Apex.
- The focus of this session is on the general overview of Apex 24.1 and its new AI capabilities, following a recent launch event.
Launch Details
- Apex 24.1 was officially released on June 17th, with links to the launch event video and blog post provided for further details.
- Unlike previous releases, all components were launched simultaneously; updates are available for both cloud and on-premise installations.
Upcoming Office Hours Schedule
- A series of four office hours will cover various aspects of Apex 24.1:
- General overview and AI features (today)
- Vector search and component improvements (next week)
- Workflow enhancements (July 11th)
- PDF printing capabilities and REST data source changes (July 25th)
Learning Resources
- Recordings of past office hours are accessible online for those who missed them.
- A new learning path focused on AI in Oracle is available at apex.com/go/AIlearn.
Upcoming Events
- The upcoming Apex conference at ODTUG Kscope24 will take place from July 14th to July 18th in Nashville, featuring numerous sessions by the Apex team.
- There will be a three-day boot camp for beginners during the conference, along with hands-on labs at Cloud World in Las Vegas later in September.
Key Features of Apex 24.1
Main Pillars of Release
- The release focuses on three main pillars: AI integration, enhanced application development tools, and improved user experience.
AI Capabilities
- New AI features include an assistant that aids application development through natural language processing to create SQL statements within wizards and code editors.
Additional Enhancements
- Other significant updates involve server-side JavaScript support introduced with Database version 23c, JSON relational duality views, new components, workflow enhancements, and a new printing engine for pixel-perfect reports.
Feature Overview Structure
- Six key areas have been identified where improvements have been made:
- Integration of AI features
- Updated components
- Workflow enhancements
- Developer experience improvements
- User experience upgrades
Apex 24.1 Features Overview
New AI Capabilities in Apex
- Developers can debug and analyze code, integrate AI into applications, create AI widgets, and utilize Apex AI PSQL APIs for custom callouts.
Component Updates
- Introduction of new flexible template components including select one and select many item types; support for read-only templates without a data source.
Enhanced JSON Support
- Improved handling of hierarchical JSON structures, making it easier to work with arrays and nested data formats.
Workflow Enhancements
- New diagram view for workflows allows users to visualize workflow progress directly within their applications.
Shared Component Groups
- Introduction of component groups enables centralized management of shared components across multiple applications, improving modular application development.
Working Copies and Document Generation
Working Copy Improvements
- Enhanced working copies allow developers to compare changes more easily within the page designer and receive notifications about updates in the main application.
Document Generation Service
- A new OCI function service enables users to create custom report layouts using Word documents, generating pixel-perfect PDFs integrated into Apex applications.
Builder Extensions and General Enhancements
Builder Extensions Feature Update
- Users can now build applications in the extensions workspace that are accessible across all subscribing workspaces, enhancing collaboration on application metadata analysis.
General Improvements
- Various enhancements include better button processing, improved accessibility features for read-only items, and automatic dismissal options for success messages in applications.
Additional Features in Apex 24.1
API Enhancements
- New API provides insights into database dependencies; updates to PL/SQL APIs and JavaScript libraries enhance overall functionality with each release.
Upcoming Resources
AI Integration in Oracle Apex
Overview of AI Features in Apex
- Oracle Apex now supports third-party AI services like OpenAI and Cohere, enhancing application development with integrated AI capabilities.
- The architecture includes the Oracle database and the Apex schema (Apex 24.1), which contains application metadata, web credentials, and AI service configurations.
- User schemas hold custom tables (e.g., employees, departments), with a dictionary cache that provides essential information for effective AI responses.
Configuration of AI Services
- Configuration can be done at both workspace and instance levels, allowing multiple AIs to be set up for different applications or purposes.
- Users can enable specific AIs for tasks such as creating wizards or converting natural language to SQL queries based on user prompts.
Application Development with AI
- Developers can leverage natural language processing to create applications and generate SQL queries through intuitive interfaces within Apex.
- Debugging features allow users to request assistance from the AI for correcting SQL errors or generating new queries.
Integrating External AI Providers
- Connecting Apex to external AI providers requires an internet connection; it is not limited to any specific version of the database.
- Users must create accounts with chosen providers, generate API keys, and then configure these keys within their Apex environment.
Creating Workspace Utilities for Generative AI
- New workspace utilities facilitate linking multiple generative AI services tailored to various use cases within applications.
- Users can create a generative AI service by providing an API key and naming the service for easy reference in PL/SQL code.
AI Services in Apex: Configuration and Deployment
Overview of AI Service Configuration
- The speaker discusses the rapid evolution of AI models, emphasizing the need for modern configurations in applications.
- To utilize an AI service with the Apex Builder, it is necessary to specify which service will be leveraged for various functionalities.
- Technical details regarding application deployment are introduced, highlighting how to tie an AI service to a specific application.
Exporting Applications with AI Services
- When exporting applications, the definition of the AI service and web credentials are included; however, API keys are not exported for security reasons.
- Two methods for handling API keys during environment transitions are outlined: manual entry or scripting using the Apex credential PL/SQL package.
Handling Existing Generative AI Services
- If a generative AI service already exists in a target environment, it will not be overwritten during installation; this is crucial for updates.
- The speaker mentions that scripting changes to existing services requires extending the Apex application install package with new parameters.
Using Generative AI in Application Development
Introduction to Generative AI Features
- Christina Cho introduces herself and outlines her goal: demonstrating how generative AI can enhance application design within Apex.
Creating Applications Using Natural Language
- Users can create applications by leveraging natural language prompts through configured generative AI services within their Apex environment.
- A prompt must be accepted before utilizing generative features; this allows the system to gather information about tables and columns.
Interacting with Generative AI
- Users can test example prompts if unsure about descriptions; sample datasets must be installed first to access these features.
- The user queries which tables to use, showcasing how easily generative AI can provide relevant data based on user input.
Customizing Application Blueprints
- Users can give detailed descriptions including specific page types without needing exact table names; friendly names suffice for generating blueprints.
- After receiving a suggested blueprint from the AI, users have options to reorder pages according to their preferences.
Finalizing Application Creation
- Additional features such as access control and activity monitoring can be enabled based on suggestions from the generative AI.
Application Development with AI Assistance
Overview of Application Creation
- The application wizard allows users to confirm or refine selections made by AI, including the addition of pages.
- Users can verify the accuracy of AI-generated tables and make adjustments as needed, such as displaying specific data in charts.
Project Management Features
- The dashboard provides an overview of project counts based on status, enabling effective project management through reports and forms.
- An admin page includes features like activity reports and access control, which were specifically requested from the AI.
Enhancing Pages with AI
- Users can enhance blank pages by adding regions; for example, a "project summary" region can be created using SQL query sources.
- The Apex AI assistant helps users write SQL queries in both query builder mode and general assistant mode.
Query Generation and Validation
- By using natural language prompts, users can generate valid SQL queries without needing to remember table or column names.
- A summary region is created to display project completion statistics based on the generated query.
Advanced Query Customization
- Users can request more detailed information from AI, such as budget statuses and comments across multiple related tables.
- The system automatically understands relationships between tables to provide comprehensive data without user intervention.
Error Handling and Corrections
- If a query fails validation due to syntax errors (e.g., incorrect order clauses), users receive assistance from the Apex AI assistant for corrections.
- The assistant explains errors and provides corrected SQL queries, streamlining the debugging process for users.
Adding Interactive Elements
Apex AI Assistant: Enhancing Development with AI
Utilizing AI for JavaScript Functions
- The speaker discusses using the Apex AI assistant to create a JavaScript function that displays a success message, demonstrating how AI can assist in coding tasks.
- After receiving an example from the AI, the speaker tests the functionality by clicking a button, successfully displaying a success message on the page.
Customizing CSS with AI Assistance
- The speaker inspects CSS variables within the universal theme and queries the AI about changing header colors, showcasing how it simplifies CSS customization.
- With guidance from the AI, they change their header color to hot pink and confirm that only this page reflects the new style due to inline CSS usage.
Overview of Apex AI Assistant Capabilities
- The speaker provides an overview of how to leverage Apex AI assistant for various tasks such as SQL queries, JavaScript functions, and HTML assistance across different regions in applications.
- They emphasize that Apex AI assistant is available wherever code editors are present within Apex, encouraging users to explore its functionalities.
AI Integration in End User Applications
Introduction to New Features
- Transitioning into end-user applications, the speaker introduces an application designed for drafting blog posts and expresses interest in integrating an assistant similar to previous demonstrations.
- They highlight two main focuses of Apex 24.1: providing a visual chat experience and programmatic PL/SQL APIs for enhanced user interaction.
Setting Up an AI Chat Interface
- The speaker navigates through application definitions to select a default service for all components utilizing AI, streamlining configuration processes.
- A button labeled "AI help" is created on page three; they customize its appearance with new icons related to AI functionality.
Testing Interaction with the Assistant
- Upon running their page, they demonstrate creating a dynamic action linked to button clicks that opens up an interactive chat interface powered by the OpenAI assistant.
- Initial interactions are tested where users can send messages like greetings; successful responses indicate minimal configuration was required.
Structure and Limitations of Conversations
- The conversation structure is described as linear—one message at a time—requiring users to wait for responses before sending follow-up questions.
Understanding AI Conversation Management
Importance of Session Context
- Conversations with AI should be kept concise to manage token consumption effectively, as larger conversations can become expensive.
- It is recommended to maintain short-lived interactions for optimal performance and cost efficiency.
The Role of the System Prompt
- The system prompt defines how the AI behaves, including what it can and cannot respond to, tailoring its functionality for specific use cases.
- By default, the system prompt is generic (e.g., "You are a helpful assistant"), but customization is encouraged for better user experience.
Customizing Language and Context
- Users can instruct the AI to operate in a specific language (e.g., only Spanish), demonstrating its adherence to given instructions.
- Providing context within the system prompt allows the AI to answer specific queries relevant to particular scenarios, such as business hours for a clinic.
Security of System Prompt Information
- The system prompt contains sensitive information that is not visible in the user interface; it remains accessible only to backend services.
Enhancing User Interaction with Welcome Messages
- A welcome message like "What may I do for you?" helps guide users on how they can interact with the AI effectively.
- Default dialogue mode is recommended for user engagement, while titles should reflect specific functionalities (e.g., "Your Blogging Expert").
Quick Actions Feature
- Implementing quick actions allows users to initiate common tasks easily without typing full sentences (e.g., “Tell me a joke”).
Utilizing Initial Prompts for Content Generation
- Users can provide initial prompts containing content data that guides the AI in generating relevant outputs or responses.
Task Automation through AI Assistance
- The AI can assist in generating tags based on provided content, showcasing its utility in automating repetitive tasks.
Generating SEO Tags Automatically
Refining the System Prompt for Tag Generation
- The speaker discusses the importance of a system prompt for generating SEO-friendly tags based on blog post content, emphasizing brevity and relevance.
- There is a focus on refining the tag generation process to ensure tags are single words, in lowercase, and separated by colons without additional information.
- The speaker expresses a desire for an automated response from AI that generates tags without needing to manually input requests each time.
Automating Tag Population
- A demonstration shows how to populate generated tags into a page item automatically, allowing users to accept or reject the AI's suggestions via a button.
- The current method requires multiple clicks (three buttons), prompting thoughts on further streamlining this process for efficiency.
Utilizing API Functions for Efficiency
- The discussion shifts towards using API functions like
generateandchat, which can simplify interactions with AI by handling parameters more effectively.
- An explanation follows about how these functions can be implemented in code to automate tag generation directly from blog content.
Implementing Server-Side Code
- The speaker outlines plans to replace dynamic actions with server-side code that submits content and retrieves generated tags seamlessly.
- This new approach aims to eliminate manual interaction with the AI, making tag generation instantaneous upon clicking a button.
Future Developments in Generative AI Integration
- Mention of requirements for an Apex session when running procedures outside of applications highlights technical considerations in implementation.
Future Enhancements and Community Engagement
Upcoming Features in Apex 24.1
- Ralph summarizes key features demonstrated by Christina and Stefan, highlighting the introduction of generative AI capabilities as part of their first release.
OCI Generative AI Service Integration
- Plans are discussed regarding integrating OCI generative AI service chat models into Apex Builder use cases following recent availability updates.
Exploring New Services from OCI Team
- Insights into upcoming services such as text-to-SQL functionality indicate ongoing development aimed at enhancing user experience through generative AI agents.
Expanding Use Cases within Application Builder
- Future enhancements will include more use cases within Application Builder itself, focusing on leveraging generative AI across various functionalities like application search.
Community Feedback Invitation
How to Configure Apex Features
Configuration Guidance
- The blog post referenced provides essential instructions on configuring Apex features, which are not enabled by default in your Cloud instance. Users need to follow specific steps outlined in the post to successfully set up these features.
- A link to the blog post will be shared in the chat for easy access, ensuring that participants can refer back to it as needed.
Recording and Future Sessions
- The recording of this session will be made available afterward, allowing attendees to revisit demos and Q&A discussions at their convenience.