18:00 Meet Patrick Wolf
Patrick Wolf, long-time senior member of the APEX development team, is with us in Maribor to meet you and give everyone a chance to ask what you ever wanted to know about APEX. Location: Hotel City Maribor
19:00 Ask an ACE Session
To start our conference we gather all ACE's and Oracle Expert speakers for a laid back ask-and-answer session on the evening before the actual conference. Come with your questions, problems, showcases, and put our ACEs to the test, all while enjoying a cold beverage in a relaxed atmosphere. Location: Hotel City Maribor
07:30 Entrance Opening
Bring your ticket and get your unique #aaapeks22 Badge Location: Hotel City Maribor
08:30 Welcome Session
Session Opening with your Organizers: Aljaz, Dario, Peter
08:45 Insider News from the Oracle APEX Development Lab
Take the opportunity to get insider information and a first look at the new features of the upcoming Oracle APEX 22.1 from one of the architects of Application Express. In addition we will also take a look at the many new features which have been introduced in APEX 21.1 and 21.2. The session will wrap up with an outlook what we plan in APEX 22.2.
09:40 Coffee Break
Relax with a good coffee and get some energy for the next sessions.
10:05 Source Code Management and Deployment Made Easy
Do you have a working approach to move your Oracle code changes (PL/SQL, APEX, ORDS) from your development environment to test and production? Or are you unhappy with your existing one, get errors during installation, miss changes that were not deployed or don't even know when you deployed the changes into which environment? The presented solution is an open source project (https://github.com/daust/opal-tools) and is based on 23 years of experience in developing software with Oracle PL/SQL, APEX and ORDS. In practice, a fully automated approach (e.g. Liquibase, Flyway, DB Maestro or Flexagon Flexdeploy) is costly and complicated. A partially automated support with a solid process model is sufficient in most cases. The exporter uses SQLcl together with DBMS_METADATA to export Oracle database objects, APEX applications, ORDS REST modules and everything as files into the filesystem in a very flexible and parameterized fashion. The installer uses SQLcl under the hood to actually run the SQL scripts. The core engine is very simple. It will execute SQL files which it finds by iterating through the filesystem and listing all files that exist. Log files and entries in log tables are automatically generated as needed. It provides a proven process model, but can be adapted very flexibly. It has been successfully deployed in multiple customer projects since Oct 2019. The developers using it are enthusiastic. We will explore different use cases and workflows how to manage your sources and quickly and easily distribute your code changes to other environments.
10:05 Sharing is Caring: Leveraging Shared Components
Did your mother ever tell you that sharing is caring? Well, she was right, especially if she was referring to APEX Shared Components! In this session, we will delve into the world of Shared Components. Learn how and why to share items, processes, logic, settings, and much more throughout your application and make your mama proud!
10:05 Run and Monitor utPLSQL Tests with APEX
Testing is an active part of development and plays an important role in delivering software with the best quality. With utPLSQL, you can quickly write tests for the PL/SQL layer. But how do we make them easily accessible and visible for developers and Project Management Team? - How to test or even automate PLSQL codes with a single click? - How to select a specific test in a specific schema? - How to visualize the results of test runs and quickly identify errors? - How to generate test report for documentation purpose? One possible solution is the integration of utPLSQL and APEX. With this objective, a utPLSQL Testing Application has been developed. The presentation starts with how to easily generate and run test packages for database objects with the utPLSQL framework and continues with how to integrate utPLSQL with APEX. Finally, how to run these tests with the developed application will be presented. Furthermore, many tips and tricks for communicating with utPLSQL will be shown. In addition, a short overview about the application installation will be given. At the end of the presentation, the audience will have an overall picture of how APEX can be used to map a simple and elegant test procedure for PL/SQL codes using the utPLSQL framework and avoid errors in production. All details will be presented with a live demo and insights into the application!
10:50 Confirm & Alert
Confirm and alert are existing since the begining of Javascript. Due the last versions of APEX the functionality was enhanced, espially with the new integrated alert and confirm actions in APEX 21.2. But what does it mean and what do we have to change? Is it now possible to use alert and confirm in a well looking format without any custom code? What about the APEX JavaScript API changes for these functions? Does the JavaScript Callback mechanique has any impact on this change? Even if you think it's a no brainer, there are some useful hints how to use this changed feature.
10:50 Great Grids: Editable Essentials
Gain practical guidance on when, why, and how to maximize your use of editable interactive grids. Grids are packed with features: editable, searchable, customizable, alternate views – all great stuff. Yet at its core, an interactive grid is a feature-packed, tabular, editable interface. This session focuses on the “editable” mode of interactive grids and shows you how to take full advantage of editable grids to meet your business requirements - how to produce a user-friendly edit interface that collects data, enforces business rules and is intuitive for end users – without going crazy. We will cover: - Interactive Grid architecture, general function, and code base (high-level), - Declarative features vs features that require JavaScript, - Validations, by column, in-row and multi-row, client-side and server-side, - Save options, declarative and custom, - JavaScript API basics for accessing data, applying business logic, and altering grid menus, all with a focus on the editable grid. Attend and learn how to produce clean, functional, user-friendly editable interactive grids confidently and consistently – a win for you and your end users.
10:50 APEX Application lifecycle with feature based deployment
APEX application deployment is mostly done by exporting the application and importing it into the target environment. But what if your team continuously develops (as they should), where do you stop developing to start preparing your release-deployment? You should be able to deploy based on features; without your developers having to halt their development. Using the deployment-method explained in this presentation you will be able to do just that. The method includes things like Code versioning (GIT), Feature-tickets (Jira), Code Review (Quality), Automated Deployment using Jenkins and Flyway. When implemented you will be able to successfully and predictively deploy your APEX applications (including underlying database objects) to the different deployment-environments. With a few modifications you can even upgrade the methodology to be a "continuous delivery" methodology.
11:40 Building process-oriented apps with Oracle APEX and Flows for APEX 22.1.
Flows for APEX is an open source extension of Oracle APEX with which you can model and run business processes based on BPMN 2.0. In this session, I will first give an overview of Flows for APEX and focus on the new features that came with 22.1. After this, we are going to look at how to integrate your BPMN model with APEX using the plug-ins that ship with Flows for APEX.
11:40 Start your engines! Tips for more efficient development in APEX
I like to be as efficient as possible during my development, so when I saw APEX 20.2 comes with a new Monaco Editor, I investigated what this brings to my speed of development! Team this up with the embedded code utility of APEX 20.2 and SQL Developer Web and I find myself to be 50% more efficient at coding apps. I will share with you all the tips I've found, so you gain productivity too.
11:40 Database & APEX Automatic deployment - A long story short
I believe that many of us have spent extra hours struggling with deployment scripts. I will show you how to automate your deployment process for both Database changes and APEX applications in a very simple way, using only free tools. After my presentation you will know how to set up and configure the deployment environment to run a deployment right after changes are pushed to the repository. I will show you the basics of Jenkins configuration, Gradle scripts, GIT Webhooks and Liquibase management and how to make smart rollbacks using Liquibase to the previous correct version of an object.
12:25 Lunch Break
One hour lunch to get some food and clear your head.
13:25 Real life ORDS; REST in pieces
ORDS plays an important role in the APEX architecture. Next to the database and the browser it is a key component to run any APEX application. But next to "just" running your APEX application, it also opens up the possibilities of using all kind of RESTful services and features to enhance your application with data that comes from or is send to other sources. This session will cover a number of examples that we created in order to build the application landscape we have today.
13:25 Talk to me gently. How an IT career change is not so scary after all.
Has anyone asked you the question: How can I follow in your footsteps and start a job in IT? And as you started talking about it, a lot of interesting questions appeared like: Is this really for me? Can I do it? Am I suitable for this job? And my favorite statement: I would like to, but I am too afraid. Did you know? People with analytical skills are perfect for changing their profession and APEX, with it’s ‘‘easy to learn, hard to master’ approach is perfect for them. Perhaps you know someone who likes to look for gaps in someone's job? Then the tester's career seems perfect. Maybe someone else knows nothing about computer science, but can work well with many people? Good PMs are also missing. And a few years ago I had similar questions and doubts, and during this 30-minutes session
13:25 APEX security revamped
The good news is that Oracle APEX is secure out of the box but.... Some of the main reasons why attacks on web applications are successful are due to an insufficient level of security, and the lack of a security focus during application development. The presentation gives you an opportunity to learn how your APEX applications can be vulnerable to attacks and the simple steps you can take to protect your APEX estate from mischievous employees or dedicated external hackers. Organizations who fail to secure their web applications run the risk of being attacked. APEX applications aren't an exception and we developers should all adequately be addressing this. Aimed at audience of all levels
14:25 D.O.M.E. – Deployment Organization Made Easy
In this session I would like to share my experiences and thoughts regarding organization of development and deployment processes for projects which are using Oracle Database and APEX. My focus will be more on deployment part and installation scripts preparation. Also, I would like to introduce a tool I developed called “D.O.M.E.” (short of “Deployment Organization Made Easy”), which is helping developers to automatize installation scripts preparation and to monitor and control development process.
14:25 Master Debugging in APEX
There are so many situations when APEX just doesn't do what you expect and want it to do. Sometimes it is a bug, either in your code (often) or in APEX's code (not so often). Either way, if you are tired of just guessing what is going wrong this session will help you to get the proper skills and techniques to find the problem and understand what's going wrong. Very often debugging will help you to understand APEX better and let you improve your code to write robust and stable applications.
14:25 Keep an eye on your APEX applications
APEX offers developers a lot of useful information through the publicly exposed APEX Dictionary views. From activity logs to all your application metadata. In this session I will demonstrate on the example of the APEX Project Eye (APE) product how to interpret this data to get deeper insight on how your applications are being used and how they are built. Or even to assess how your applications comply with your organization's quality standards. Beware, some findings may come as a surprise!
15:20 Packaged Apps 2.0 - What's new in APEX 22.1
Since APEX 21.1, i.e. already since 2 releases, you can no longer find our sample or starter apps in the APEX Builder itself, but you can get them from our GitHub repository. Previously, it was quite common to install these apps directly from within the IDE to quickly browse our samples or to learn how to use certain features. This possibility will return with the upcoming APEX release. It should also be possible to easily integrate your own packaged apps there in order to provide sample or starter apps inside your company. This presentation will explain the background, show how the App Gallery in APEX 22.1 looks and works and also helps to distribute own Packaged Apps in the company.
15:20 With Oracle Forms to the Future
More than 10 years ago I presented at the SIOUG event a presentation with the same title : With Oracle Forms to the future. This topic was about migrating Oracle Forms to new technology and one for those options even back then was also APEX. A lot has changed since then, but some of the things are still (almost) the same, for example Oracle Forms. On the other side, so much more has happened with APEX. In this session we will talk about the challenge of migration or better said modernizing of existing Forms Applications. Again, on one side we have many technical challenges, but next to that we also have non technical related challenges. Forms developers they have or could have a different mindset comparing to APEX developers. Last and not least we have to deal with users that are used to working with for example the same Forms 3.0 application for the last 15 plus years. In this session I will confront, and the same time join forces with co-presenter Stephan La Rocca an experienced Forms expert. And this is what you should also do, confront and join forces to modernise your Forms applications.
15:20 APEX Plug-in Development Done Right
Plug-ins have the ability to make developer's lives easier. Not only can they be used to introduce features that APEX lacks out of the box, but they're also great at modularizing already existing functionality into reusable components, saving time and cutting down on future maintenance costs. It's not a surprise that a great number of APEX Applications includes at least one, but rather more, homemade or 3rd party plug-ins. In this session I will discuss many of the lessons I've learned contributing to the biggest open-source APEX plug-in framework in the community, FOS. We will look at the important aspects of performance, security, consistency, extensibility and version-control across multiple plug-ins, but also at the aspects of documentation and presentation, all of which are imperative in building a successful plug-in. After the session the audience can ensure that they're on the right track either picking the right plug-in for the job, or professional building their own.
16:05 Coffee Break
16:30 Oracle APEX Session State - Preventing Chaos
Websites should be more dynamic nowadays. Traditional form submit-processes are often replaced by AJAX calls. Necessary data should be transferred only on demand to reduce network traffic, load on the source system and provide a better user experience. Sounds easy with APEX methods and possibilities of the framework?! Although APEX is providing all necessary tools we need, there are things a developer needs to take care of. Especially when an APEX application is opened simultaneously in multiple tabs the session state is the central point that needs our attention. In this presentation we are also going through simple and more complex workflow examples that can raise problems and how to prevent them.
16:30 To V or not to V? or.. using SQL Macros in APEX?
The V function has been around APEX as long as ... let's say very long and that's a long time. The V function allows you to reference item values from session state in your SQL statements. When calling V there would always be a price to pay. With recent releases of the database there is a new way to do something similar; SQL Macro. With SQL Macro you can create parameterized views and this could be very interesting for APEX Developers. In this session I will give you an overview of this new functionality and how you can use it in your APEX applications.
16:30 Using SODA from PL/SQL and APEX
Simple Oracle Document Access (SODA) introduced a PL/SQL API for interacting directly with SODA JSON collections and documents in 18c. This opens an avenue towards a NoSQL approach for certain data. In this talk we will explore how to use SODA from PL/SQL and APEX and will also touch on other APIs for Oracle SODA. Topics to be covered will include: - understanding the SODA environment - documents and collections - getting started: enabling and setting up your SODA environment - creating an APEX application to interact with a SODA collection - creating SODA document collections with PL/SQL - inserting, updating and deleting from document collections - searching SODA document collections with PL/SQL using keys and filters - indexing SODA documents - using RESTful web service calls to access and manipulate SODA documents
17:25 APEX Basic(?) Tips 2
In this sequel to the well received original “Basic Tips” topic, we will cover some additional features and show how to use them. Through clear and straightforward examples: learn how to connect multiple applications via single login. Use additional features of Popup LOV item, such as returning column values to items and setting item display value. Learn about Modal Dialog Close and Cancel events. Define translation messages and learn how to use them in a couple of different ways. And finally, spruce up your application visuals through new options for alert and confirm dialogs.
17:25 Old Dog, New Tricks: Attracting an Even Larger Audience to Low-Code
Using APEX for personal and volunteer projects during lockdown caused me to rethink my career path and return to my low-code roots. I'll outline the key efforts Oracle is undertaking to attract an even larger audience of the world's developers to its showcase low-code platform Oracle APEX. I'll explain the key lessons I've learned in my first six months on the Oracle APEX dev team.
19:00 Dinner and Party
Dinner and Party with all your old and new APEX Friends. Glad to have you ! Location: Cocktailbar Niagara which is located right next to Hotel City (cross the parking lot underneath the bridge and you are there)