Tuesday, August 2, 2011

APEX 4.1: Not happy, Jan!

"Not happy, Jan!" is a line from a popular TV advertisement that entered the Australian vernacular.
The advertisement showed a manager expressing her displeasure towards the fleeing figure of one of her staff, as she ran having neglected to book an ad in the upcoming year's Yellow Pages.

While I'm looking forward to using the new APEX 4.1 release and welcome the many new features available, my "Not happy, Jan!" moment came when the recently upgraded apex.oracle.com website broke my application navigation.

For a number of years, I've been using hierarchical list templates to output JSON rather than HTML. This has been very useful allowing me to generate data for a JavaScript tree component using the APEX builtin conditional list entries and authorization to control displaying tree nodes.


Changed functionality now means that the "Between Sub List Items" template attribute is not output unless the corresponding "Sub List Template" attribute contains a "</li>" tag.

Why is this necessary?
I guess its to do with changed functionality to support dynamic SQL lists or mobile themes, but couldn't the developer just leave the template field blank for some templates?

Its possible to code around the issue using plugin functionality, but for now my site is broken until I update it.

I think the APEX team are terrific and do a really great job, but perhaps they got this one wrong.

5 comments:

Patrick Wolf said...

Hi Mark,

thanks for letting us know. We will have a look at your reported issue so that you can be happy again :-)

Regards
Patrick

Mark Lancaster said...

Hi Patrick

I'm smiling already.

One of the great strengths of APEX, is the responsiveness of the APEX team to feedback from the community.

Thanks

Mark

Joel R. Kallman said...

Mark,

Trust me - you're the last person I would want to affect with a behavior change in Application Express. However, in this case, we believe we have made the correct decision.

Prior to APEX 4.1 our lists were broken when including sub-lists, i.e. it was not possible to produce valid HTML without hacking the list template and using the the list attributes in a way that they were not designed for. With the changes in APEX 4.1, it is now possible to render valid HTML out of the box. In 4.0, the lists were actually broken in a way such that the hierarchy would be wrong in some cases, i.e. sublists hanging of the end of a list rather than being a child of their parent elements.

Call us Jan all you want, but unfortunately, I think we made the best decision for the vast majority of our customers.

Joel

Mark Lancaster said...

Hi Joel

Thanks for responding, I appreciate your attention.

Please don't get the impression this is a big issue.
To use an analogy, its like picking up your brand new car and noticing it has a tiny scratch on the door. You love the new car, but that tiny scratch spoiled the first impression.

Due to a plugin feature request I asked for in the 4.01 release (thanks APEX team), I already have a working solution that allows me to use lists as a data store and also specify conditional display rules. Combined with a plugin I can achieve the same result.

Can I ask that the atypical behaviour of the template be emphasised more in the documentation.

Regards

Mark

Damien said...

@Mark, would u mind to publish ur solution for 4.1?