19:00 Get Together
Let's get together in a nice bar, where you will be able to meet and speak to other attendees, speakers, Oracle ACES and APEX development team members
07:30 Entrance Opening
Bring your ticket and get your unique #aaapeks23 Badge Location: Hotel Westin, Zagreb
08:30 Welcome Session
Session Opening with your Organizers: Aljaz and Dario
08:45 The APEX of Low-Code: How APEX Transformed Through the Pandemic and Beyond
Over the past few years, Oracle APEX has experienced a remarkable transformation. While the pandemic may have propelled APEX into the spotlight within Oracle, it was the mantra of low-code development that has elevated it to new heights across the globe. In this session, we will reflect on the journey that has brought us here, examine the key milestones that have driven this progress, and explore the possibilities that lie ahead. The future of APEX is shining brighter than ever before, and we're getting warmed up to climb even higher.
09:30 Coffee Break
Relax with a good coffee and get some energy for the next sessions.
10:00 Everything an APEX Developer should know about maps.
When it comes to maps in APEX, the conference audience, our clients or my teammates often have the following questions: - Can we get our current location in APEX? - How to measure the distance between two points? - Can we draw an object on the map? These questions are so interesting that I decided to turn them into a presentation. Each new version of APEX makes using maps even easier. Thanks to the Map Region, we can easily visualize our data with different layers. Additionally, we can calculate distance between two points or use Geocoded Address Item. We can combine maps with reports, charts, and search functionality to create advanced dashboards. However, if we want to make our map even more powerful (draw objects or load custom maps), we can also use the JavaScript API or integrate with GeoServer or OpenLayers. Attendance of this presentation will upskill you sufficiently so that you can now say you know ‘everything about maps’.
10:00 JavaScript in APEX for PL/SQL developers
For some reason we Oracle developers either love JavaScript or we try to avoid using/learning it. This is across the board first hand experience. Why is this? In this session we will try to look into pure concepts, clarify, close this gap and show why we all should be opened to using it. We will touch on things like: - JS vs PL/SQL - client side vs server side data - how to organize code for better re-usability - call PL/SQL and passing values - HTML & DOM basics - JS in APEX history & future Take the next step in your APEX JavaScript familiarization.
10:00 APEX, PLSQL and RESTful services I: Publishing Secure Services
When designing and creating Restful services we should start with security in mind. That should definitely not stop at creating a client-ID and client-Secret. Sure they are the first hurdle in strengthening your services. Oracle APEX offers role-based authorisation on components. You can hide and prevent certain components from being displayed or executed. This functionality can (and should) also be applied to ORDS services. This session explains and shows best-practices when publishing with security and authorisation in mind: - Securing through OAUTH2 - Create Rest-clients through APEX pages within an application - Role based authorisation within a Restful service. Some clients are allowed to only select, others should be able to do insert, updates or deletes. The technique described will also allow fine-grained authorisation on what a client gets to see. Some clients are allowed to see more data (columns) than others. - Some glimps and short demos consuming the described services to show the technique
11:00 Template Directives
Have you heard of Mustache.js, Backbone.js, Handlebares.js, Hogan.js or Marko? They are all lightweight JavaScript templating engines used for client-side data binding (generating HTML by using JSON objects). Did you know that APEX has also his "horse for the race"? It's called Template Directives and it can be easily used to improve the performance of your pages, separate presentation from business logic, and make your apps even more secure. The best thing about them is that you don't need to know JavaScript to use them. In this session, we'll cover everything you need to know to take your apps to the next level.
11:00 Multiply your business value by becoming a UX-Designer in one hour!
Steve Jobs said: "Design is not how it looks but how it works". I would take it even further and say: "Design is also not how it works, but how it makes you feel". At the end, a product, a service, an application leaves you with a certain feeling. There are millions of developers but very, very few UX-Designers. This is the chance to distinguish yourself and raise your business value by a magnitude. It's not hard, you don't have to visit a university. It's just a different way of seeing things. After that it's just a bunch of rules which are always true and not hard to implement, especially with APEX which allows you to implement everything you can think of. You think raising your value by a magnitude is exaggerated? It's not, because once you see things in a different way, you can apply the same principles to everything, like your own company. Often companies have great products, but they could be 10 times more successful if they would focus on the Customer Experience instead of new features. Let me teach you in an hour what I call "Medical UX-Design". The difference between a working application and one you win prices for, where customers get excited, giving you standing ovations and sending you thank you cards. The only thing I need from you is that you want to make your customer happy above all else. If it's good enough that your app is working, don't come :-)
11:00 APEX, PLSQL and RESTful services II: Consuming Secure Services
Consuming Restful services can be done in a number of ways. All of these techniques have advantages and disadvantages. Some will fit better in your project than others. This session will show a number of techniques to make Restful HTTP requests. It will also show different techniques on interpreting the data that the services offer. APEX out of the box offers a number of ways to consume these services: - REST Enabled SQL - REST Data Sources - Legacy Web Services The session will explain the differences and when to use the one or the other The session also will show the manual (PLSQL) approach of using these APEX components Finally the session will show techniques of consuming Restful Services without an APEX component using plain PLSQL.
12:00 Building a search engine for your APEX app
In APEX 22.2 a new component arrived in Shared Components called Search Configurations. They can be referenced from Search regions to add declarative searches in your application. This new search becomes very powerful with Oracle Text which is pre-defined. We will not only show different examples of how to integrate this new search possibility, but we will also look at what is driving this technology behind the scenes. We will look into debugging messages to fully understand the impact of the search. Furthermore, we will look closer at the power of Oracle Text and how to get even more out of search in your APEX application by linking it up with the APEX meta-data.
12:00 Plug it in! Creating successful APEX Plug-ins my way!
Creating *any* new Oracle APEX plug-in is not as hard as it might look - you only need to know a bit about the Oracle APEX integration APIs. Creating a *successful* plug-in, on the other hand, is a little bit different story, and it’s not only about coding the plug-ins core. It is about the user experience - because, ultimately, your plug-in will be used by other developers! A *successful* plug-in will be very similar to native Oracle APEX components allowing a developer to implement complex functionalities using the low code approach. Well documented, reliable, and easy to use. During the session, I will discuss the Plug-in Best Practices I’ve carefully collected in the last 10 years of developing free and paid Oracle APEX plug-ins. We’ll cover maintaining a repository, documentation, sample applications, debugging, and my personal best practices for PL/SQL and JavaScript code - you can expect tips & tricks too! I hope that during this session, you will gain practical knowledge about topics you might not have thought about yet, and it will inspire you to build your first Oracle APEX plug-in without fear that you have forgotten about something!
12:00 The customer is happy... and they want more. Here is what we did and why.
A holistic discussion of the platform design and development decisions that were made to build a modern customer portal for mobile and desktop in APEX. We will focus on the strengths of APEX for this project and our decision making process for when we deviated from standard APEX components and methods.
12:45 Lunch Break
One hour (and a bit more) lunch to get some food and clear your head.
14:00 APEX 23.1: Native Push Notifications & Easy Background Processing
This talk explains and demos how low-coders can easily combine approvals, native push notifications, and background processes into a compelling solution.
14:00 Getting to grips with JSON in the database
With Oracle 21c and 23c, JSON in the database is now a reality. Mixed relational-JSON databases are on the verge of becoming mainstream. In this session, using practical examples in the Oracle Cloud, we'll look at: • generating JSON objects from relational data using SQL and PL/SQL ⁃ JSON_OBJECT ⁃ json object types ⁃ apex_json • using JSON objects in PL/SQL ⁃ dot notation ⁃ parsing JSON ⁃ json_table ⁃ json_query • presenting JSON objects as relational ⁃ relational joins with JSON data • manipulating and updating JSON objects from PL/SQL ⁃ json_transform • indexing JSON data ⁃ simple index ⁃ multi-value indexes ⁃ search indexes
14:00 NO control or KNOW control? Time to rule your database changes people!
No source control, no documentation, and no issue tracker but hundreds of Database Objects deployed on many different environments. Does any of this sound familiar? Once we start working with a new client, they may ask us to help them out of a Database version control hole of their own making. Everybody wants to develop like a CI/CD professional using a DevOps methodology. However, there are things we can do right now, to make deployments way less stressful. I will show you how to make a developer's life easier by tracking database changes without implementing full-blown DevOps. The tools I will use are Liquibase (Standalone and built-in SQLcl), GIT and VS Code.
15:00 APEX security scanning - what can we learn from it?
In case you have ever wondered what does it take to run a security scan on your applications this might be a session for you. We will explore options on latest version of APEX SERT and APEX Sec tools and see how these can help us in understanding of core APEX Security flaws we as developers open during everyday development life-cycles. Presentation will be demo based and is intended for audience of all levels.
15:00 Excel-like Grid – a plug-in
Do you like the Oracle APEX Interactive Grid? Do you also miss something with it? Do you think data editing could be easier/quicker, more Excel-like? While Interactive Grid is a really good component with lots of features, advanced data editing is not its strongest part. There’s room for improvement and here’s where the Grid plug-in comes into play. In this session, I’ll present the whole path of building such a region plug-in: - why we even started with the development of a plug-in (business needs) - picking “the right” JavaScript library to start from - defining the scope of what use cases the plug-in will cover - ... I'll also point out the decisions I had to make and the issues I encountered while building it – and these should help you when you start building a plug-in yourself too. You will be aware of what to expect along the way. If you haven't built a Plug-In yet, don't worry. If you have built one already, there will still be interesting things to hear and learn about. Disclaimer: The Grid plug-in, that will be used within the demo app in this session, will become part of United Codes’ Plug-ins Pro package.
15:00 How to transfer bad PL/SQL into good
Whether in classic database development or for the development of modern APEX applications, PL/SQL is a powerful and important tool. From simple help functions over complex calculations, extensive table APIs to multi-layer application logics, many problems can be solved with PL/SQL. There are often different ways to accomplish the goal. Although there are countless websites, guidelines, books, and online quizzes for PL/SQL, we always encounter don'ts and other pitfalls in the source code of our customers. In the database, this quickly impacts performance. Furthermore, poorly written code is often hard to understand and therefore hard to maintain. The reasons are not only lack of knowledge, but often also lack of maintenance and insufficient time for refactoring. In this session, we will demonstrate how to transform bad (or sometimes just outdated) PL/SQL code into good code. It's a mix of: - our "best of" recurring mistakes and how to do it better, - bad & best practice comparisons, - tips & tricks This talk is a discussion between two developers with lots of real-world examples, where the "most experienced" is not always right! It is addressed to beginners who are currently gaining first experiences with PL/SQL but is also applicable for experienced developers who want to improve their knowledge and test it for being up to date.
15:45 Coffee Break
16:15 Generating, Viewing, and Editing documents in APEX
Dealing with Office documents or PDFs and wondering how to get the most out of them in Oracle APEX. Join us to see how you can use APEX Office Print (AOP) and APEX Office Edit (AOE) in Oracle APEX. Generating documents based on a template you create yourself, without ever leaving your APEX app, isn’t a dream any longer, but a reality!
16:15 From Budget to byte and back.
Six Thinking hats in a successful modernization project. You may know the “Six Thinking hats” from Edward de Bono, which is designed for groups to plan parallel thinking processes in a detailed and cohesive way, and in doing so to think together more effectively.(1) The same concept works very well for Modernisation Processes from Oracle Forms to APEX - or in other words - there is no way to do it in another way. Join the session better join the journey of the mixed team consisting of CEO, CTO, Project Lead, APEX and Forms Developer and last but not least the Key-User, from the first project idea down to implementation decision in APEX and back to a successful GO-Live.
16:15 Oracle APEX: the key to break business silos & make your digitalization really happen
According to BCG, 70% of digital transformation projects fail because not all its objectives are fully achieved. This speech shows how the adoption of Oracle APEX from IT professionals working in an AGILE team side by side with business professionals is a weapon to reduce the risks of failure and maximize the adoption of any new solution that bring real and fast value to the entire organization.
17:15 Templating with Tim
Oracle APEX enables developers to customize the appearance of their applications with Universal Theme, Theme Roller, and Template Options. However, for unlocking the true potential of customization, you’ll need to understand how templates work in APEX. In this session, attendees will learn how to use HTML and CSS to personalize the design and user interface of their apps by extending them with templates. The topics covered will include APEX template architecture, editing and adapting different templates, as well as a sneak peek at the new Template Components.
18:05 APEX 22.2/23.1 and beyond
APEX 22.2/23.1 and beyond
19:00 Dinner and Party
Dinner and Party with all your old and new APEX Friends. Glad to have you !