{"id":24974,"date":"2023-05-04T20:46:38","date_gmt":"2023-05-04T18:46:38","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=24974"},"modified":"2023-05-09T13:31:29","modified_gmt":"2023-05-09T11:31:29","slug":"apex-connect-2023-day-2","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/","title":{"rendered":"APEX Connect 2023 (Day 2)"},"content":{"rendered":"\n<p>After the Keynote about \u201cOracle Database 23c &#8211; the developers release!\u201d by Connor Mc Donald where he presented all the newest features of Oracle 23c Developer release, I decided to attend presentations on following topics:<br>\u2013 APEX hidden gems &#8211; Template Directives<br>\u2013 Authentication management over many applications<br>\u2013 Futuristic SQL: Making the Impossible Possible<br>\u2013 APEX-Item-Plugin Development for Forms and Interactive Grids<br>\u2013 Deconstructing the APEX Application Development Lifecycle Paper<br>\u2013 APEX Page Items in details<\/p>\n\n\n\n<p>Beside the presentations I also had the privilege to have a 1:1 session with Florian Grasshoff from the APEX development Team as well as Connor Mc Donald.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">APEX hidden gems &#8211; Template Directives<\/h3>\n\n\n\n<p>The introduction of Universal Tehem was a game changer in the way APEX is managing the UI by using Default settings, Theme Styles and Templates.<br>Until now the way to make templates dynamic was usage of specific JavaScript frameworks.<br>Changing the the display of APEX applications can be done by manipulating HTML in SQL, by processors, by template manipulation (i.e. AOP Angular expression) or by template directives. The template directives allow to add HTML expressions on columns which simplifies SQL, is more secure and improves performance.<br>The directives can also be used in e-mail templates.<br>With APEX 23.1 and the introduction of Template Components there is an additional way to change templates from any kind of display you could find in the internet as they are flexible plug-inswhich can even be cascaded.<br>Sound like limits have been pushed further&#8230;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Authentication management over many applications<\/h3>\n\n\n\n<p>With a growing number of APEX applications combined with a growing number of users, the Authentication needs to be revisited. So from standard APEX authentication with standard roles it must move to SSO and central role management in order to make it easier for developers and for the business to manage access.<br>The solution presented is based on Social Sign-in Authentication scheme combined with role management base on tables within a database a packages for the manipulation.<br>Thus a specific landing page could be created to give end user access to only the applications they need from a central point.<br>Also the user access management is done with an APEX application.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Futuristic SQL: Making the Impossible Possible<\/h3>\n\n\n\n<p>To track sport performances, shopping distribution or car refueling different types of functions can be used in the Oracle database in order to improve the SQL.<br>Here the list of the ones presented:<br>&#8211; ROLLUP<br>&#8211; CUBE<br>&#8211; GROUPING SETS<br>&#8211; PARTITION BY<br>&#8211; RANK<br>&#8211; MAX<br>&#8211; KEEP<br>&#8211; WITH<br>&#8211; AVG<br>&#8211; MATCH_RECONIZE<br>&#8211; LISTAGG<br>&#8211; SQL Macro<br>&#8211; ROW_NUMBER<br>&#8211; OVER<br>&#8211; CELL with MODEL<br>In fact non of these a futuristic, as except SQL Macro which is 3 years old, most are available for 9 years and even more that 20 years. Please check the Oracle DB documentation to know more about those very useful tools.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">APEX-Item-Plugin Development for Forms and Interactive Grids<\/h3>\n\n\n\n<p>The main advantage of Plug-ins is that they are reusable. But development effort must be considered as well as security and compatibility when it comes to third party plug-ins.<br>Development of APEX Plug-ins requires knowledge in at least following domains:<br>&#8211; PL\/SQL<br>&#8211; HTML5<br>&#8211; JavaScript \/ CSS<br>Plug-ins are defined in Shared components and the keys elements to know and implement are the callbacks whether it is about Render procedure, Metadata, AJAX or Validations.<br>Item plug-ins can be used for Page items as well as Interactive Grid columns.<br>An example was given with an Item plug-in rendering QR codes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Deconstructing the APEX Application Development Lifecycle Paper<\/h3>\n\n\n\n<p>The last version of the <a href=\"https:\/\/www.oracle.com\/a\/tech\/docs\/apex-lifecycle-management-v3.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">APEX Application Development Lifecycle Paper<\/a> was released in October 2022. It provides guidelines on the lifecycle management for APEX applications.<br>Use of tools like GIT, liquibase (for database changes management), SQLcl (for the APEX application export\/import) and testing tools like cypress for the UI and utPLSQL for the DB code.<br>I would recommand , in addition to have a look at <a href=\"https:\/\/lct.software\/\" target=\"_blank\" rel=\"noreferrer noopener\">LCT<\/a> tool for the UI testing which was presented in another session.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">APEX Page Items in details<\/h3>\n\n\n\n<p>Page items are part of APEX since the beginning. Some have been added, some have been replaced, but most have evolved. The following items have been presented with their main changes:<br>&#8211; Textfield<br>&#8211; Date Picker (also changing with APEX 23.1)<br>&#8211; Textarea<br>&#8211; Select List<br>&#8211; Autocomplete<br>&#8211; Popup LOV<br>&#8211; Checkbox<br>&#8211; Checkbox Group<br>&#8211; Radio Group<br>Don&#8217;t hesitate to check back in the documentation or the inline help about new\/modified features of the page items.<\/p>\n\n\n\n<p>That was the final day of APEX Connect 2023 conference. Great organization, great presentations and great people.<br>Hope to see all again on APEX Connect 2024 for the 10th anniversary of the conference.<br>How about you? Are you planning to join?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After the Keynote about \u201cOracle Database 23c &#8211; the developers release!\u201d by Connor Mc Donald where he presented all the newest features of Oracle 23c Developer release, I decided to attend presentations on following topics:\u2013 APEX hidden gems &#8211; Template Directives\u2013 Authentication management over many applications\u2013 Futuristic SQL: Making the Impossible Possible\u2013 APEX-Item-Plugin Development for [&hellip;]<\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[368],"tags":[304,2955,96,1352],"type_dbi":[2956],"class_list":["post-24974","post","type-post","status-publish","format-standard","hentry","category-development-performance","tag-apex","tag-apex-connect","tag-oracle","tag-ords","type-apexconnect"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>APEX Connect 2023 (Day 2) - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"APEX Connect 2023 (Day 2)\" \/>\n<meta property=\"og:description\" content=\"After the Keynote about \u201cOracle Database 23c &#8211; the developers release!\u201d by Connor Mc Donald where he presented all the newest features of Oracle 23c Developer release, I decided to attend presentations on following topics:\u2013 APEX hidden gems &#8211; Template Directives\u2013 Authentication management over many applications\u2013 Futuristic SQL: Making the Impossible Possible\u2013 APEX-Item-Plugin Development for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-04T18:46:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-09T11:31:29+00:00\" \/>\n<meta name=\"author\" content=\"Alain Lacour\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alain Lacour\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/\"},\"author\":{\"name\":\"Alain Lacour\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/acabba2b6ca473b44b098c2de61294b0\"},\"headline\":\"APEX Connect 2023 (Day 2)\",\"datePublished\":\"2023-05-04T18:46:38+00:00\",\"dateModified\":\"2023-05-09T11:31:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/\"},\"wordCount\":765,\"commentCount\":0,\"keywords\":[\"APEX\",\"APEX connect\",\"Oracle\",\"ORDS\"],\"articleSection\":[\"Development &amp; Performance\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/\",\"name\":\"APEX Connect 2023 (Day 2) - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2023-05-04T18:46:38+00:00\",\"dateModified\":\"2023-05-09T11:31:29+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/acabba2b6ca473b44b098c2de61294b0\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"APEX Connect 2023 (Day 2)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/acabba2b6ca473b44b098c2de61294b0\",\"name\":\"Alain Lacour\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/455c4c7743e192ae868a6f9e6ed875415c5887567577eccbbbf2d65012cd976a?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/455c4c7743e192ae868a6f9e6ed875415c5887567577eccbbbf2d65012cd976a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/455c4c7743e192ae868a6f9e6ed875415c5887567577eccbbbf2d65012cd976a?s=96&d=mm&r=g\",\"caption\":\"Alain Lacour\"},\"description\":\"Alain Lacour has more than 15 years of experience in application development with Oracle technologies. He is specialized in APEX, Java, and PL\/SQL development. His expertise also includes middleware technologies such as Oracle Weblogic and EMC Documentum. He also has a broad experience in business analysis and architecture solutions as well as in service and project management. Prior to dbi services, Alain Lacour was Senior Consultant at IMS Health in Basel. He also worked as a Software Engineer for M&amp;H Informatics in Basel. Alain Lacour holds a Master of Science in Industrial Computing from the University of Mulhouse (F). His branch-related experience mainly covers the pharma industry, with an in-depth knowledge of the drug development process as well as drug distribution.\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/alain-lacour\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"APEX Connect 2023 (Day 2) - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/","og_locale":"en_US","og_type":"article","og_title":"APEX Connect 2023 (Day 2)","og_description":"After the Keynote about \u201cOracle Database 23c &#8211; the developers release!\u201d by Connor Mc Donald where he presented all the newest features of Oracle 23c Developer release, I decided to attend presentations on following topics:\u2013 APEX hidden gems &#8211; Template Directives\u2013 Authentication management over many applications\u2013 Futuristic SQL: Making the Impossible Possible\u2013 APEX-Item-Plugin Development for [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/","og_site_name":"dbi Blog","article_published_time":"2023-05-04T18:46:38+00:00","article_modified_time":"2023-05-09T11:31:29+00:00","author":"Alain Lacour","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Alain Lacour","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/"},"author":{"name":"Alain Lacour","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/acabba2b6ca473b44b098c2de61294b0"},"headline":"APEX Connect 2023 (Day 2)","datePublished":"2023-05-04T18:46:38+00:00","dateModified":"2023-05-09T11:31:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/"},"wordCount":765,"commentCount":0,"keywords":["APEX","APEX connect","Oracle","ORDS"],"articleSection":["Development &amp; Performance"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/","url":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/","name":"APEX Connect 2023 (Day 2) - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2023-05-04T18:46:38+00:00","dateModified":"2023-05-09T11:31:29+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/acabba2b6ca473b44b098c2de61294b0"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2023-day-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"APEX Connect 2023 (Day 2)"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/acabba2b6ca473b44b098c2de61294b0","name":"Alain Lacour","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/455c4c7743e192ae868a6f9e6ed875415c5887567577eccbbbf2d65012cd976a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/455c4c7743e192ae868a6f9e6ed875415c5887567577eccbbbf2d65012cd976a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/455c4c7743e192ae868a6f9e6ed875415c5887567577eccbbbf2d65012cd976a?s=96&d=mm&r=g","caption":"Alain Lacour"},"description":"Alain Lacour has more than 15 years of experience in application development with Oracle technologies. He is specialized in APEX, Java, and PL\/SQL development. His expertise also includes middleware technologies such as Oracle Weblogic and EMC Documentum. He also has a broad experience in business analysis and architecture solutions as well as in service and project management. Prior to dbi services, Alain Lacour was Senior Consultant at IMS Health in Basel. He also worked as a Software Engineer for M&amp;H Informatics in Basel. Alain Lacour holds a Master of Science in Industrial Computing from the University of Mulhouse (F). His branch-related experience mainly covers the pharma industry, with an in-depth knowledge of the drug development process as well as drug distribution.","url":"https:\/\/www.dbi-services.com\/blog\/author\/alain-lacour\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/24974","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=24974"}],"version-history":[{"count":5,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/24974\/revisions"}],"predecessor-version":[{"id":24979,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/24974\/revisions\/24979"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=24974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=24974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=24974"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=24974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}