Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets...

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

Transcript of Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets...

Page 1: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

1

Oracle APEX 5.2 / 18.1 - The Golden Nuggets

Dietmar Aust Opal-Consulting, Köln

www.opal-consulting.de

Page 2: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

2 About Dietmar.

•  Dipl.-Inform.DietmarAust,FreelanceConsultant•  Master'sDegreeinComputerScience(MSCS)

•  BuildingOraclebasedWebApplicationssince1997•  Portal,Forms,Reports,OWAToolkit,nowAPEX!

•  1997-2000:ConsultantatOracleGermany

•  Since09/2000:FreelanceConsultant,Since2006–APEXonly!

•  AuthoroftheJasperReportsIntegrationtoolkit•  http://www.opal-consulting.de/tools

•  2015DatabaseDeveloperoftheyearintheORDScategory

Page 3: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

3

Feature Analysis

Page 4: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

4 How to find the new features?

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

Page 5: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

5 Wie wurde analysiert?

Page 6: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

6 How to find the new features?

In Debug-Mode (logged in as developer) APEX uses the uncompressed Javascript Files (Source Code)

Page 7: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

7 How to find the new features?

Page 8: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

8 How to find the new features?

Definition in User-Interface > Concatenated Files Sample: Oracle APEX Page Designer, Application 4000, Page 4500

Pre5.2

Page 9: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

9 Sample Application will be made available

Page 10: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

10

Architecture

Page 11: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

11 Additional x11-x20 … Parameters in AJAX calls

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

Page 12: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

12

Application Builder

Page 13: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

13 Resource Links

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

Page 14: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

14 Custom Resource Links

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

Page 15: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

15 Custom Resource Links

Customizing the Workspace Announcement

Page 16: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

16 Spotlight Search

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)

Page 17: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

17 Spotlight Search

Page 18: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

18 Spotlight Search

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

Page 19: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

19 Compatibility Mode

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

Page 20: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

20 Default Schema

Set default schema for user in workspace Pre5.2

Page 21: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

21 Default Schema

Default schema is used: – SQLWorkshop–  Installationofpackagedapplications

Pre5.2

Page 22: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

22 User Interface Attributes > Collapsed by Default

Universal Theme starts with left navigation side collapsed

Page 23: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

23 User Interface Attributes > "Built with APEX" Footer

Universal Theme has a new footer Can be turned off in User Interface Attributes

Page 24: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

24

Application Building

Page 25: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

25 New Authentication Scheme

New Authentication Scheme – SocialSign-In

Authentication Provider

Page 26: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

26 New Authentication Scheme

About OAuth2 and its flow https://developers.google.com /identity/protocols/OAuth2

Page 27: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

27 New Authentication Scheme

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

Page 28: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

28 New Authentication Scheme

1.  Register client with Google Register client: https://console.developers.google.com/

Page 29: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

29 New Authentication Scheme

Page 30: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

30 New Authentication Scheme

2.  Create web credentials in APEX

Page 31: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

31 New Authentication Scheme

3.  Create authentication scheme and use credentials

Page 32: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

32 New Authentication Scheme

Scopes https://developers.google.com/identity/protocols/googlescopes#google_sign-in

Page 33: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

33 Switching Authentication Schemes at Runtime

Why use multiple authentication schemes at runtime?

Page 34: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

34 Switching Authentication Schemes at Runtime

Step 1 – make apex login current scheme Step 2 - Enable switch in session for the Google scheme

Page 35: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

35 Switching Authentication Schemes at Runtime

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

Page 36: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

36 Switching Authentication Schemes at Runtime

Post Authentication Handler – change username --derivenewusernamefrom:APP_USERcase:app_userwhen'[email protected]'thenl_new_app_user:='[email protected]';else--willnotchangel_new_app_user:=l_orig_app_user;endcase;--setuserforthissessionapex_custom_auth.set_user(p_user=>l_new_app_user);

Page 37: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

37 Switching Authentication Schemes at Runtime

Post Authentication Handler – get scope attributes --getattributebynameapex_json.get_varchar2(p_path=>'id_token');apex_json.get_varchar2(p_path=>'access_token');--orloopoverallattributesl_idx:=apex_json.g_values.first;while(l_idxisnotnull)loopl_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);endloop;

Page 38: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

38 Switching Authentication Schemes at Runtime

Post Authentication Handler – make additional request --secondrequest,toretrieveadditionaluserinformationc:=apex_web_service.make_rest_request(p_url=>'https://www.googleapis.com/oauth2/v3/userinfo',p_http_method=>'GET',p_credential_static_id=>'GOOGLE');apex_json.parse(c);

Page 39: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

39 Application Access Control

Management of Roles and User / Role Mappings as part of the application Why? •  Convenience, almost every application

needs it •  Used for blueprint applications

Page 40: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

40 Application Access Control

Page 41: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

41 Application Access Control

Page 42: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

42 Application Access Control

Security Setting to define the meaning of “ROLE”

Page 43: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

43 Application Access Control

This makes a difference when using Authorization Schemes

Page 44: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

44 Application Access Control

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)

Page 45: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

45 Application Settings

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

Page 46: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

46 Application Settings

On Upgrade Keep Values => respect the value upon upgrade

Page 47: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

47 Email Templates

Manage Email Templates as part of the application

Page 48: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

48 Email Templates

Page 49: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

49 Email Templates

Send email via API beginapex_mail.send(p_to=>'[email protected]',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;

Page 50: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

50 Email Templates

Page 51: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

51 Email Templates

Just generate the HTML via the API declarel_subjectvarchar2(4000);l_htmlclob;l_textclob;beginapex_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;

Page 52: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

52 Email Templates

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

Page 53: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

53

Items and Regions

Page 54: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

54 Tree Region - Enhancements

•  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.

Page 55: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

55 'Text with Autocomplete' item type using Oracle JET

Re-Implementation of the item type „Text with Autocomplete“ based on Oracle JET APEX 5.1 APEX 18.1

Page 56: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

56 'Text with Autocomplete' item type using Oracle JET

Advantages: •  Improved accessibility •  Lazy loading with cache •  Minimum search characters

Page 57: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

57 Responsive Rich Text

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

Page 58: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

58 Responsive Rich Text

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

Page 59: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

59

RESTful Services (providing)

Page 60: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

60 RESTful Services (providing)

SQL Workshop Integration upgraded to use ORDS APIs

Schemas §  APEX_180100 §  APEX_LISTENER §  APEX_REST_PUBLIC_USER

Schemas §  ORDS_METADATA §  ORDS_PUBLIC_USER

NewFeaturesonlyhere

Page 61: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

61 RESTful Services (providing)

“Old” RESTful services still available – READ ONLY

Page 62: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

62 RESTful Services (providing)

“Old” RESTful services still available – READ ONLY

Page 63: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

63 RESTful Services (providing)

New RESTful Services use API for ORDS_METADATA

Page 64: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

64 RESTful Services (providing)

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 •  ...

Page 65: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

65 RESTful Services (providing)

Integration with Swagger to generate doc •  http://douggault.com/2018/03/19/swagger-doc-from-

apex-ords-restful-workshop •  SWAGGER UI 2.0+ Server (based on Node.js) •  https://swagger.io/download-swagger-ui/

Page 66: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

66 RESTful Services (providing)

APEX Instance Administration

Page 67: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

67 RESTful Services (providing)

Page 68: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

68

SQL Workshop

Page 69: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

69 SQL Workshop > QuickSQL

QuickSQL is now integrated, used to be a packaged app

Page 70: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

70 SQL Workshop > QuickSQL

Page 71: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

71 SQL Workshop > Sample Datasets

Sample Datasets

Page 72: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

72 SQL Workshop > Sample Datasets

Sample Datasets – very good to help with training and troubleshooting

Page 73: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

73

Packaged Applications

Page 74: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

74 APEX_PKG_APP_INSTALL

Install, upgrade and delete packaged applications on the command line:

declarel_app_idnumber;begin--Installl_app_id:=APEX_PKG_APP_INSTALL.install(p_app_name=>'SampleTrees',p_authentication_type=>'NATIVE_APEX_ACCOUNTS',p_schema=>'DAUST_DE');end;

Pre5.2

Page 75: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

75 APEX_PKG_APP_INSTALL

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

Page 76: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

76 Install Packaged Applications

Allow „Modify Other Applications“ in security settings

Page 77: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

77

PL/SQL APIs

Page 78: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

78 PL/SQL APIs

APEX_ACL Application Access Control

APEX_APP_SETTING

Application settings

add_user_role has_user_any_roles has_user_role remove_all_user_roles remove_user_role replace_user_roles get_value set_value

Page 79: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

79 PL/SQL APIs

APEX_APP_BUILDER_API Generate Pages, Reports, etc.

Mainly used in Data Reporter, not (yet) officially supported

delete_page_item delete_region

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

Page 80: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

80 PL/SQL APIs

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

APEX_COLLECTION Collection handling

create_collection (Parameter p_truncate_if_exists)

Page 81: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

81 PL/SQL APIs

APEX_EXEC SQL Execution (mostly

remote), especially for plugin- developer

add_column add_filter add_order_by add_parameter close execute_plsql execute_remote_plsql execute_web_source get_anydata get_clob get_column …

https://blogs.oracle.com/apex/apex-181-early-adopter-2-rest-services-and-plsql

Page 82: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

82 PL/SQL APIs

APEX_EXPORT Replacement for wwv_flow_utilities.

export_application_to_clob

get_application 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

5.1.4

Page 83: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

83 PL/SQL APIs

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)

Page 84: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

84

Data Dictionary

Page 85: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

85 APEX_WORKSPACE_GROUPS

New columns application_idand application_name, „true“ workspace groups now: whereapplication_idisnull

Page 86: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

86 APEX_WEBSERVICE_LOG

https://jastraub.blogspot.de/2018/03/apex-181-new-feature-logging-web.html

Page 87: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

87 Questions?

Opal Consulting Zum Tilmeshof 11 50859 Köln Germany

Email / Website [email protected] www.opal-consulting.de

Page 88: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

88

Backup

Page 89: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

89 Universal Theme light / dark navigation

Page 90: Oracle APEX 5.2 / 18.1 - The Golden Nuggets · 1 Oracle APEX 5.2 / 18.1 - The Golden Nuggets Dietmar Aust Opal-Consulting, Köln

90 Create Feature Page

Add „Blueprint“ features to your app AFTER creation