Split Regions, Zip & Download Files, and a Redirect Dynamic Action

We’ve just added 4 new open source Oracle APEX plug-ins to the FOS suite that we’re pretty confident you’re going to find some good use cases for. The new 20.1.1 release of FOS plug-ins introduces these little gems:

  1. Region Splitter
  2. Download File(s) Dynamic Action
  3. Download File(s) Process
  4. Redirect Dynamic Action

Lets have a look each of them in a little more detail:

Region Splitter

Have you ever been tasked with designing a page with many regions that require a specific layout that needs to be responsive? It can be a time consuming and frustrating task especially when you get conflicting feedback on which region should be wider or thinner during user acceptance testing. You might end up writing a bunch of CSS and in the worst cases some Javascript to achieve something everyone is happy with.

If you find yourself in this position then consider using our new splitter plug-in to make things much easier for you. You can even nest splitters within splitters to create some pretty complex responsive layouts.

video

Zip & Download File(s)

How many times have you found yourself adding some PL/SQL to your application to download a file? What about zipping and downloading multiple files? Or how about a subset of files that the user chooses? If you’re like us, this requirement can popup many times. So we thought we’d make things a little easier for ourselves (and everyone else) by writing 2 plug-ins to do all the work for us. You might find yourself asking why did we create 2 plug-ins instead of just 1? Let us explain…

Process plug-in

Using a process plug-in is very similar to the way we’ve all been downloading files using some PL/SQL that we’ve found in how-to’s etc. on how to do this. In most cases you simply create a blank page and add your process in a “Before Header” point. By following the same approach with the plug-in it makes it easy for replacing existing functionality if you wanted to offload some of your code maintenance.  e.g.

Downloading a File using a Process

Dynamic Action Plug-in

This plug-in allows you to download files in a dynamic action, meaning you can run some actions before and/or after the downloading of file(s). It gives us much more flexibility than a process plug-in and allows us to gracefully handle errors without being redirected to the application error page when a PL/SQL exception is raised. We’ve also included file preview support for images, pdf’s, and text/html files in either a dialog or a new browser window/tab so you can give your end users the option of looking at the file prior to downloading it to their local file system.

video

Redirect Dynamic Action

How many times have you found yourself wanting to redirect to another page after performing several actions first, and have found yourself having to use “Submit Page” with some branching logic before or after processing. Sometimes submitting a page can cause some unwanted side effects like client side validations firing, or needing to run some PLSQL prior to branching resulting in adding extra conditions to all our validations/computations/processes/branches which can result in a fair amount of work.

We’re introducing a new plug-in to avoid this issue. Inspired by the original Redirect plug-in from Menno (who’s now an official member of the APEX team) we decided to add our own version which has the added bonus of letting you execute some PL/SQL prior to redirecting and allowing you to change the URL at the time of execution.

video

In Summary

You can see a live demo of all of our FOS plug-ins here in a single application which you can easily download and install in your own environment. Alternatively you can go directly to apex.world or GitHub to download individual plug-ins.

Hopefully you find a use for one of these in your apps at some point in the future, and remember these are supported free plug-ins, so there shouldn’t be an argument why you shouldn’t use them 🙂

Add your comment

Your email address will not be published. Required fields are marked *