Wednesday, April 10, 2013

APEX 5 - New features that may or may not be included


Development Team Status Report from David Peake during OGh APEX World

UPDATE:  Screenshots of the new APEX 5 Page Builder Interface

Yesterday (April 9th, 2013) David Peake opened the Dutch OGh APEX World conference with a keynote presentation. As expected, he talked about the future release of Oracle Application Express, version 5. Another very interesting part of David’s presentation focused on the architectural aspects of APEX running on the upcoming 12 c release of the database. Here’s my summary. But before you start basing any business critical decisions on this blog post, I have to mention thatoracle_save_habour
  • everything I’m writing in this article, may or may not be included in future releases of Oracle products
  • is my personnel view or opinion and that I’m not related in any kind to Oracle Corporation


The APEX development team is currently in the process of investigating functionality and possible solutions to include into APEX 5, and it seems that some of the features David was talking about were more idea’s and general directions. There was no live demo, understandably, just a few screenshots and a very interesting mock-up of the builder interface.

APEX on Oracle DB 12c

APEX version 4.2 will be preinstalled in the 12c root database. All pluggable databases (PDB) of this root instance will be running the same APEX version, but are isolated instances. The first thing after installing a 12c DB, probably, is upgrading the APEX to the latest release, currently 4.2.1 (there will be a 4.2.2, David told us). Upgrading APEX in 12c, when installed in the root database will be very easy, as all PDB’s get upgraded at the same time. For upgrading an 11g APEX installation to 12c, there will be scripts provided to convert the it into a root installation.
If you want to run different version of APEX in different PDB’s on the same 12c root instance: you can. Oracle will provide scripts to remove the root installation of APEX, so you can install independent repositories and versions of APEX in each PDB. It is more administration, but as a developer, I’m glad to get this possibility.
There are some new 12c DB features, that will be supported by APEX 4.2.something:
  • VARCHAR2 32k support. As HTML text fields didn’t care much about field length anyway, this is manly an enhancement on collections.
  • Identity Columns. This means, you won’t need to specify a sequence or function to populate a PK, because this will happen automagically.
  • Invisible Columns: will not be displayed by default.No values will be inserted when basing forms on this type of columns. You can manually add code to your page to show the value of an invisible column.
  • Data Redaction. This is a feature that does not need much of a change in APEX itself, as data is masked in the database, depending on policies. But there will be a change in the SQL workshop to support administration of these policies.

APEX 5

We all know the Oracle Application Express Statement of Direction, so I don’t have to list features already mentioned there. David pointed out, that the development of APEX 5 has to main focuses:
  • Improve Developer Productivity
  • Quality
Here what drew my attention during David’s APEX 5 possible feature presentation.
  • we will be able to declarative define Modal Dialogs in APEX 5. We even can stack multiple modal dialogs.
  • the APEX dev team is thinking of enhancing the Builder interface and the concept seems to be inspired by interfaces we know from SQL Developer, JDeveloper and other similar IDE’s.
    • a tree navigation on the left hand side to access page components
    • possibility to switch to a component view instead of tree view
    • a large layout editor (welcome back) in the middle of the page with predefined components to (drag & drop) place into your page layout
    • a property editor showing the properties for the selected page region/item.
apex5_builder_concept
Revamped APEX 5 Builder Interface; Artist Impression (i.e. mine)
  • a new tabular form component based on jQGrid with inline editing ability:
apex5_jqgrid_concept
jQGrid screenshot (not from actual APEX screen)
  • PDF Printing, using APEX Listener 2.0’s FOP support. Integration will be more declarative, and the possibility to specify formatting options through templates, break control and master/detail layouts.
  • further extension of WebService capabilities, like publishing and SOA integration. Allowing to connect with remote Oracle DB’s through WS, as an (better) alternative to database links.
  • the rest pretty much was known from the SOD …

Wrapping it up

All together, I think version 5 will be a release to look forward to, from a developer perspective. It looks like, some of the current shortcomings, like master-detail-detail and multiple interactive reports on one page, will be tackled by the APEX development team. Especially the revamped builder interface is a very interesting idea, but, when keeping the current Tree View AND Component View, there will be a lot more pages/code to maintain by the dev team.
Oracle currently is working on enhancing version 4.2 (12c DB integration) as well as version 5. With 12c expected for somewhere in 2013, we can easily guess the priorities. APEX version 5 will not be as spectacular as 4.2 with respect to end-user functionality (jQM and RWD), but consolidate the development of the past years and enhance existing functionality (mobile: table support, IA Reports: multiple on one page, Master/Detail/Detail, …)

themes4apex

11 comments:

  1. Nice post Christian, thanks for sharing!

    ReplyDelete
  2. Really interesting blog posting.

    ReplyDelete

  3. Nice Blog Christian. I'm very happy to see the improvement in the Builder. It will hopefully save me buying some new mouses every year....

    ReplyDelete
  4. Thanks for sharing this! I'd LOVE to see the new Builder interface as described. I think that the fact that layout and placement are so hard is part of what holds APEX back from being more widely adopted. This could be HUGE!

    Not to mention the rest of the features!

    Really looking forward to V5.0!

    ReplyDelete
  5. i can see a move towards jdeveloper, layout-wise. is that intentional?
    good mix of presentation on last tuesday apex event in zeist (the netherlands). i was truly inspired.

    ReplyDelete
  6. Christian,

    Nice post!

    I really enjoyed attending and presenting the OGh APEX World Conference.

    Slight Correction: In order to install different version of APEX into each PDB you must use the Oracle Database 12c DBCA Installation Option where you have a choice to *not* install Application Express. Once you have installed APEX into the root (Container database or CDB) then you can't remove it from the root database using scripts.

    I really appreciate you including the Safe Harbor information. It is very important that people understand that the information we provided is not a guarantee and it is very likely that at least some of the features discussed will change between now and us releasing APEX 5.0. For example, with the new multi-row edit feature we are reviewing the jqGrid control as a possible solution but have made no firm commitment and we are also investigating other alternatives.

    Regards,
    David

    ReplyDelete
  7. David,
    Thank you for your comment and correcting my article regarding the configuration possibilities of APEX in 12c.

    I fully understand and respect your concerns when sharing information about ideas you and your team are working on in such an early stage. I believe the reason for this is to get feedback from the APEX community, and I hope we could provide you with just that; even though, most of the feedback is just being enthusiast about your ideas. We, and I may speak on behalf of the APEX community, very much appreciate your teams work and involving us in the process by giving us the insight.

    Regards,
    Christian

    ReplyDelete
  8. Dear Christian,

    I have one suggestion regarding Classic/Interactive Report: If report can have one-level drill down functionality which will show the detail of selected data in the same report that will be more effective. Can it will be possible?

    Thanks,
    Lalit Pandey
    (India)

    ReplyDelete
    Replies
    1. Hi Lalit,

      Well, this looks like a feature request. The best way to bring suggest your ideas to the APEX Development team is to submit it in the APEX Feature Request application online:

      http://apex.oracle.com/vote

      Regards,
      Christian

      Delete
  9. Dear Christian ,

    Is there any possibility to passing schema owner name dynamically in the interactive report like

    select * from schema_owner.emp ;

    and making ir report search box with auto complete feature .


    Thanks & regards

    Vidyasagar.

    ReplyDelete
    Replies
    1. Hi Vidyasagar,

      You may use the #OWNER# substitution string to reference the parsing schema in SQL queries and PL/SQL. But if you have the same object in multiple schema's, you might have to write a query that is combining all these tables/views with a UNION (ALL) and an extra column to reference the schema and add a condition with a bind variable for the schema name.

      You can add a search box with autocomplete to your IR page/region and reference the value in your IR query, but you can't put it into the IR toolbar declarative (I believe).

      regards,
      Christian

      Delete