Over the weekend, we released an “extension” to the APEX environment on apex.oracle.com.
First, you’re probably wondering: what’s an extension? Basically, we’re trying a new way of developing some of our new features. There was a long delay between APEX 4.2 and 5.0. We added a lot of really nice features during that time, but that didn’t really help our users, who were stuck waiting for the next big release before getting to work with the new functionality. With the new extension approach, we plan on building out features and adding them to our cloud environment as we go. If the features work out well, they can be rolled into the next release of APEX. This also means that we can collect user feedback and alter the extensions long before they’re “burned into” a release.
So, back to the new extension: We’ve built out a new way to create applications. Previously, you had effectively two options when creating a new application, assuming you had some basic functionality that you want in all of your apps–you could create a blank app and build in all of your basic functionality (Access Control, Timezones, etc.), or you could copy an application, strip out all of the non-basic functionality, and hope you caught all references to the old application’s tables. Neither of these are great, and since the Packaged Apps all have a lot of common functionality, this was a significant pain point for our team as well.
The new extension is a first stab at addressing this: if you create a workspace on apex.oracle.com and click on the Create button, you’ll be presented with the standard Create App page, with one small addition–there’s a link under the buttons that says “Try our new Create App Wizard”. Clicking on this link will take you into the extension, where you can specify the name of your application, add pages, and set the application ID and schema like the old wizard. But you can also select from a list of twelve features to build into your app, all of which are based on our experience with the Packaged Apps.
Most of these features require tables (or other database objects) to provide their functionality, so you also can specify a Table Prefix which will be prepended to the table name to ensure uniqueness. When you create the application, all of the necessary database objects will be created in addition to the pages that provide the functionality. These scripts are also added to the Supporting Objects scripts, so you can export the application and import it into your own (on-premise) workspace.
David Peake, our product manager, has released a video about the new extension.
One really nice thing about the extension approach is that we can roll out updates whenever they’re ready; we don’t need to wait for a release window. So please, try out the new functionality, and if you have issues or ideas on how to improve them, send them to us. We’ve got ideas of how we want this feature to grow, but we want to hear from you as well!