Oracle APEX 5.2 / The Golden Nuggets. Dietmar Aust Opal-Consulting, Köln

Similar documents
Oracle APEX 18.1 (aka 5.2) The Golden Nuggets. Dietmar Aust Opal-Consulting, Köln

Oracle APEX 18.1 (aka 5.2) The Golden Nuggets. Dietmar Aust Opal-Consulting, Köln

Oracle APEX 19.1 The Golden Nuggets. Dietmar Aust Opal-Consulting, Köln

Oracle APEX 18.1 New Features

The Oracle APEX Community at-a-glance:

APEX Application Lifecycles > Managing the Change

Oracle JET in Oracle APEX Marc Sewtz Senior Software Development Manager Oracle America, Inc. New York, NY

Extend EBS Using Applications Express

Apex 5.1 Interactive Grid and Other New features

Oracle APEX Overview. May, Copyright 2018, Oracle and/or its affiliates. All rights reserved.

Oracle Application Express 5.1

Order Management Defaulting Rules reduce the amount of data input required when entering orders or returns.

I, J, K. Eclipse, 156

Oracle Application Express 5 New Features

Oracle SQL Developer & REST Data Services

Oracle Forms and Oracle APEX The Odd Couple

& ( ); INSERT INTO ( ) SELECT

1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

APEX Shared Components. Aljaž Mali, Abakus Plus d.o.o.

OU Mashup V2. Display Page

Bootstrap your APEX authentication & authorisation. a presentation by

WP Voting Plugin - Ohiowebtech Video Extension - Youtube Documentation

Using RESTfull services and remote SQL

Database Developers Forum APEX

TipsandTricks. Jeff Smith Senior Principal Product Database Tools, Oracle Corp

Oracle Application Express Workshop I Ed 2

Actual4Test. Actual4test - actual test exam dumps-pass for IT exams

Real Application Security Administration

Build Mobile Cloud Apps Effectively Using Oracle Mobile Cloud Services (MCS)

0. Introduction On-demand. Manual Backups Full Backup Custom Backup Store Your Data Only Exclude Folders.

ORACLE APPLICATION EXPRESS, ORACLE REST DATA SERVICES, & WEBLOGIC 12C AUTHOR: BRAD GIBSON SENIOR SOLUTIONS ARCHITECT ADVIZEX

Se#ng Up the Oracle APEX Listener (Now ORDS) for ProducAon Environments. Dietmar Aust Opal- ConsulAng, Köln consulang.de

October Oracle Application Express Statement of Direction

Oracle Application Express

Where Do We Go From Here? Why Many IT Staff are Living in the Past

Salesforce External Identity Implementation Guide

Salesforce External Identity Implementation Guide

REST API Operations. 8.0 Release. 12/1/2015 Version 8.0.0

How APEXBlogs was built

SQL Developer. 101: Features Overview. Jeff Smith Senior Principal Product Database Tools, Oracle Corp

Grandstream Networks, Inc. Captive Portal Authentication via Twitter

SelectSurvey.NET Developers Manual

CMX Connected Experiences- Social, SMS and Custom Portal Registration Configuration Example

Building Database-Centric Web Applications Using. Oracle HTML DB

REST DB Links Zugriff auf Datenbanken mit ORDS, REST & JSON

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

A Guide to Understand, Install and Use Pie Register WordPress Registration Plugin

Oracle Application Express: Administration 1-2

Oracle Applica7on Express (APEX) For E- Business Suite Repor7ng. Your friend in the business.

Read the Docs Template Documentation

AEM Mobile: Setting up Google as an Identity Provider

Mastering phpmyadmiri 3.4 for

DatabaseRESTAPI

Going to the Grid: What the APEX 5.1 Interactive Grid Means or You and Your Users. Karen Cannell

Administration Guide Release 5.0

Advance Dotnet ( 2 Month )

WEBSITE INSTRUCTIONS. Table of Contents

Manipulating Database Objects

WEBSITE INSTRUCTIONS

Oracle Database. Installation and Configuration of Real Application Security Administration (RASADM) Prerequisites

Salesforce External Identity Implementation Guide

PowerExchange for Facebook: How to Configure Open Authentication using the OAuth Utility

NIELSEN API PORTAL USER REGISTRATION GUIDE

Enterprise Reporting -- APEX

SQLDev. TipsandTricks. Jeff Smith Senior Principal Product Database Tools, Oracle Corp

Oracle Cloud Using Oracle Database Exadata Express Cloud Service 18.3

Getting Started with the Aloha Community Template for Salesforce Identity

Supported 3rd Party Authentication Providers for Odyssys

Oracle Application Express Plug-in for Ajax Maps: Map Integration the Easy Way

Adobe Document Cloud esign Services. for Salesforce Version 17 Upgrade Guide

Including Dynamic Images in Your Report

Oracle Application Express

Administrator's and Developer's Guide

Enhancing cloud applications by using external authentication services. 2015, 2016 IBM Corporation

I, J, K. Lightweight directory access protocol (LDAP), 162

Setting Up Resources in VMware Identity Manager (SaaS) Modified 15 SEP 2017 VMware Identity Manager

Web AppBuilder Presented by

Writing REST APIs with OpenAPI and Swagger Ada

Installation Guide. Version Last updated: August tryfoexnow.com 1 of 3

<Insert Picture Here>

Administering Jive Mobile Apps for ios and Android

EBS Reports and Dashboards for the People and by the People

Introduction Installing or Upgrading DNN Using the Control Panel Admin Console Tools for SuperUsers Host Console...

What s New for Oracle Visual Builder Cloud Service. Topics: Oracle Cloud. What's New in Visual Builder Cloud Service

Aruba Central Guest Access Application

[SocialLogin] CED COMMERCE. ALL RIGHTS RESERVED.

WEB API. Nuki Home Solutions GmbH. Münzgrabenstraße 92/ Graz Austria F

VISUAL APPLICATION CREATION AND PUBLISHING FOR ANYONE

SOCIAL LOGIN FOR MAGENTO 2 USER GUIDE

Liferay Digital Experience Platform. New Features Summary

Oracle Application Express fast = true

User Guide Using AuraPlayer

CourseWorks Quick Start

General. Analytics. MCS Instance Has Predefined Storage Limit. Purge Analytics Data Before Reaching Storage Limit

Useful Google Apps for Teaching and Learning

CMX Dashboard Visitor Connect

Share My Listing Widget (SMyL)

Introduction Setup Install package Amazon S3 sign up Add remote site Connect to Amazon S Create S3 bucket...

Installation Guide. Version Last updated: November. tryfoexnow.com 1 of 3

Installation, Deployment and. Denes Kubicek

Transcription:

1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln www.opal-consulting.de

About Dietmar. 2 Dipl.-Inform. Dietmar Aust, Freelance Consultant Master's Degree in Computer Science (MSCS) Building Oracle based Web Applications since 1997 Portal, Forms, Reports, OWA Toolkit, now APEX! 1997-2000: Consultant at Oracle Germany Since 09/2000: Freelance Consultant, Since 2006 APEX only! Author of the JasperReportsIntegration toolkit http://www.opal-consulting.de/tools 2015 Database Developer of the year in the ORDS category

Feature Analysis 3

How to find the new features? 4 https://apexea.oracle.com/ Documentation (BETA) https://docs.oracle.com/database/apex-18.1/ Actually compute the delta between different APEX versions: - APEX Dictionary - Packages

Wie wurde analysiert? 5

How to find the new features? 6 In Debug-Mode (logged in as developer) APEX uses the uncompressed Javascript Files (Source Code)

How to find the new features? 7

How to find the new features? 8 Pre 5.2 Definition in User-Interface > Concatenated Files Sample: Oracle APEX Page Designer, Application 4000, Page 4500

Sample Application will be made available 9

Architecture 10

Additional x11-x20 Parameters in AJAX calls 11 The big archtitecture change was in APEX 5.1 => JSON processing Small change in 5.2: Additional Parameters for AJAX calls x11-x20 Javascript on client PL/SQL on server side

Application Builder 12

Resource Links 13 New Resource Links on APEX Workspace Homepage Shortcuts on Community Site Twitter, Youtube, LinkedIn, Facebook Great idea but everybody has different needs

Custom Resource Links 14 Customizing the Workspace or Instance Announcement (HTML is only allowed here, not in the news items)

Custom Resource Links 15 Customizing the Workspace Announcement

Spotlight Search 16 Powerful Search Feature (like on the Mac) to search for Workspace and application areas and navigates there (Packaged Apps, SQL Workshop, Shared Components,...) Applications Pages Application content within pages, etc. Context dependent (Workspace, Application, Page Designer)

Spotlight Search 17

Spotlight Search 18 How to figure out the right keyboard shortcut in your language? CTRL- on an English layout what is the representation of in a different language? CTRL-ä on a German layout

Compatibility Mode 19 The compatibility mode changes the behaviour of the APEX engine at runtime => balancing new features / security / stricter checks and easy upgrades => No Changes in APEX 5.2

Default Schema 20 Pre 5.2 Set default schema for user in workspace

Default Schema 21 Pre 5.2 Default schema is used: SQL Workshop Installation of packaged applications

User Interface Attributes > Collapsed by Default 22 Universal Theme starts with left navigation side collapsed

User Interface Attributes > "Built with APEX" Footer 23 Universal Theme has a new footer Can be turned off in User Interface Attributes

Application Building 24

New Authentication Scheme 25 New Authentication Scheme Social Sign-In Authentication Provider

New Authentication Scheme 26 About OAuth2 and its flow https://developers.google.com /identity/protocols/oauth2

New Authentication Scheme 27 Example: Steps to authenticate with Google 1. Register oauth2 client with Google 2. Create web credentials in APEX 3. Create authentication scheme and use credentials

New Authentication Scheme 28 1. Register client with Google Register client: https://console.developers.google.com/

New Authentication Scheme 29

New Authentication Scheme 30 2. Create web credentials in APEX

New Authentication Scheme 31 3. Create authentication scheme and use credentials

New Authentication Scheme 32 Scopes https://developers.google.com/identity/protocols/ googlescopes#google_sign-in

Switching Authentication Schemes at Runtime 33 Why use multiple authentication schemes at runtime?

Switching Authentication Schemes at Runtime 34 Step 1 make apex login current scheme Step 2 - Enable switch in session for the Google scheme

Switching Authentication Schemes at Runtime 35 Step 3 - Add button to login page and use a URL to switch to the Google scheme Request variable: APEX_AUTHENTICATION=<Scheme Name> f?p=&app_id.:1:&app_session.:apex_authentication=google

Switching Authentication Schemes at Runtime 36 Post Authentication Handler change username -- derive new username from :APP_USER case :app_user when 'DIETMAR.AUST@GMAIL.COM' then l_new_app_user := 'DIETMAR.AUST@OPAL-CONSULTING.DE-SWITCHED'; else -- will not change l_new_app_user := l_orig_app_user; end case; -- set user for this session apex_custom_auth.set_user( p_user => l_new_app_user );

Switching Authentication Schemes at Runtime 37 Post Authentication Handler get scope attributes -- get attribute by name apex_json.get_varchar2( p_path => 'id_token' ); apex_json.get_varchar2( p_path => 'access_token' ); -- or loop over all attributes l_idx := apex_json.g_values.first; while (l_idx is not null) loop l_value := apex_json.g_values(l_idx); :p2_user_info := :p2_user_info get_output_str( p_idx => l_idx, p_value => l_value ); l_idx := apex_json.g_values.next(l_idx); end loop;

Switching Authentication Schemes at Runtime 38 Post Authentication Handler make additional request -- second request, to retrieve additional user information c := apex_web_service.make_rest_request ( p_url p_http_method => 'https://www.googleapis.com/oauth2/v3/userinfo', => 'GET', p_credential_static_id => 'GOOGLE' ); apex_json.parse(c);

Application Access Control 39 Management of Roles and User / Role Mappings as part of the application Why? Convenience, almost every application needs it Used for blueprint applications

Application Access Control 40

Application Access Control 41

Application Access Control 42 Security Setting to define the meaning of ROLE

Application Access Control 43 This makes a difference when using Authorization Schemes

Application Access Control 44 Summary Roles are exported with the application User / Role Mappings are NOT Typically use local user table for additional details (email, first name, ) API provided: APEX_ACL Data dictionary views for viewing and modifying the data (INSERT, UPDATE, DELETE on APEX_APPL_ACL_USERS)

Application Settings 45 Maintain application specific configuration settings, e.g. Environment, Email servers,... Why? Application and Source Code should be identical between environments, specific go into config table

Application Settings 46 On Upgrade Keep Values => respect the value upon upgrade

Email Templates 47 Manage Email Templates as part of the application

Email Templates 48

Email Templates 49 Send email via API begin apex_mail.send ( p_to => 'dietmar.aust@opal-consulting.de', p_template_static_id => 'TEST1', p_placeholders => '{' ' "CUSTOMER_NAME":' apex_json.stringify( 'Dietmar' ) ',"ITEMS_ORDERED":' apex_json.stringify( 6 ) ',"MY_APPLICATION_LINK":' apex_json.stringify( '' ) ',"ORDER_DATE":' apex_json.stringify( '' ) ',"SHIPPING_ADDRESS_LINE_1":' apex_json.stringify( '' ) ',"SHIPPING_ADDRESS_LINE_2":' apex_json.stringify( '' ) ',"SHIP_TO":' apex_json.stringify( '' ) '}' ); end;

Email Templates 50

Email Templates 51 Just generate the HTML via the API declare l_subject varchar2( 4000 ); l_html clob; l_text clob; begin apex_mail.prepare_template ( p_static_id => 'ORDER', p_placeholders => '{ "ORDER_NUMBER": 5321, "ORDER_DATE": "01-Feb-2018", "ORDER_TOTAL": "$12,000" }', p_subject => l_subject, p_html => l_html, p_text => l_text ); end;

Email Templates 52 Manage Email Templates as part of the application Good separation of Templates and data in placeholders Easy to use No complex logic supported

Items and Regions 53

Tree Region - Enhancements 54 The Advanced: JavaScript Initialization Code attribute is supported. JSDoc for Tree Region, easier to customize the tree Support Dynamic Action Event: Selection Change [Tree]. Advanced Config option (nodeselector) to support checkbox selection. Tree region now supports the apex.region API => but AJAX REFRESH is still not possible! Copy selection to clipboard.

'Text with Autocomplete' item type using Oracle JET 55 Re-Implementation of the item type Text with Autocomplete based on Oracle JET APEX 5.1 APEX 18.1

'Text with Autocomplete' item type using Oracle JET 56 Advantages: Improved accessibility Lazy loading with cache Minimum search characters

Responsive Rich Text 57 Responsive Rich Text editor - automatically adjusts to the region width.

Responsive Rich Text 58 Feature can be turned off in Shared Components > Component Settings Initially turned off for imported / upgraded applications

59 RESTful Services (providing)

RESTful Services (providing) 60 SQL Workshop Integration upgraded to use ORDS APIs Schemas APEX_180100 APEX_LISTENER APEX_REST_PUBLIC_USER Schemas ORDS_METADATA ORDS_PUBLIC_USER New Features only here

RESTful Services (providing) 61 Old RESTful services still available READ ONLY

RESTful Services (providing) 62 Old RESTful services still available READ ONLY

RESTful Services (providing) 63 New RESTful Services use API for ORDS_METADATA

RESTful Services (providing) 64 New RESTful Services use API for ORDS_METDATA Features: More capable template handlers Autorest enablement for tables, views and procedures OAUTH2 support Open API 2.0 (Swagger) Support...

RESTful Services (providing) 65 Integration with Swagger to generate doc http://douggault.com/2018/03/19/swagger-doc-fromapex-ords-restful-workshop SWAGGER UI 2.0+ Server (based on Node.js) https://swagger.io/download-swagger-ui/

RESTful Services (providing) 66 APEX Instance Administration

RESTful Services (providing) 67

SQL Workshop 68

SQL Workshop > QuickSQL 69 QuickSQL is now integrated, used to be a packaged app

SQL Workshop > QuickSQL 70

SQL Workshop > Sample Datasets 71 Sample Datasets

SQL Workshop > Sample Datasets 72 Sample Datasets very good to help with training and troubleshooting

Packaged Applications 73

APEX_PKG_APP_INSTALL 74 Pre 5.2 Install, upgrade and delete packaged applications on the command line: declare l_app_id number; begin -- Install l_app_id := APEX_PKG_APP_INSTALL.install( p_app_name => 'Sample Trees', p_authentication_type => 'NATIVE_APEX_ACCOUNTS', p_schema => 'DAUST_DE' ); end;

APEX_PKG_APP_INSTALL 75 Great for automatically installing all packaged applications after a patch to look for gems or upgrade all applications at once. Currently (not yet) officially supported but used by Oracle in the cloud. Data Dictionary View APEX_PKG_APPS

Install Packaged Applications 76 Allow Modify Other Applications in security settings

PL/SQL APIs 77

PL/SQL APIs 78 APEX_ACL Application Access Control add_user_role has_user_any_roles has_user_role remove_all_user_roles remove_user_role replace_user_roles APEX_APP_SETTING Application settings get_value set_value

PL/SQL APIs 79 APEX_APP_BUILDER_API Generate Pages, Reports, etc. delete_page_item delete_region Mainly used in Data Reporter, not (yet) officially supported APEX_APPLICATION_INSTALL Application settings get_no_proxy_domains get_remote_server_base_url get_remote_server_https_host get_remote_server_ords_tz set_remote_server

PL/SQL APIs 80 APEX_COLLECTION Collection handling create_collection (Parameter p_truncate_if_exists) APEX_CREDENTIAL Public API for Secure Credentials (basic auth / oauth2) clear_tokens set_persistent_credentials set_persistent_token set_session_credentials set_session_token APEX_JWT Handling von JSON Web Tokens decode encode validate

PL/SQL APIs 81 https://blogs.oracle.com/apex/apex-181-early-adopter-2-rest-services-and-plsql APEX_EXEC SQL Execution (mostly remote), especially for plugindeveloper add_column add_filter add_order_by add_parameter close execute_plsql execute_remote_plsql execute_web_source get_anydata get_clob get_column

PL/SQL APIs 82 APEX_EXPORT 5.1.4 get_application Replacement for wwv_flow_utilities. export_application_to_clob get_workspace_files get_feedback get_workspace APEX_MAIL Mail handling prepare_template send_mail (support template) APEX_SESSION Session utils testing in sqlplus / sqlcl running apex_exec in sqlplus / sqlcl attach create_session delete_session detach

PL/SQL APIs 83 APEX_UTIL Utilities delete_feedback delete_feedback_attachment get_timeframe_lov_data reply_to_feedback set_parsing_schema_for_request Multitenant applications Switching datasets (different schemas) prepare_url (Parameter p_plain_url)

Data Dictionary 84

APEX_WORKSPACE_GROUPS 85 New columns application_id and application_name, true workspace groups now: where application_id is null

APEX_WEBSERVICE_LOG 86 https://jastraub.blogspot.de/2018/03/apex-181-new-featurelogging-web.html

Questions? 87 Opal Consulting Zum Tilmeshof 11 50859 Köln Germany Email / Website dietmar.aust@opal-consulting.de www.opal-consulting.de

Backup 88

Universal Theme light / dark navigation 89

Create Feature Page 90 Add Blueprint features to your app AFTER creation