They are addictive
I've seen a video of a David Peake presentation about IGs where he warns that developers will be tempted to overuse them. It's true: once you've built a couple of IGs you are inclined to want to use them on every page instead of showing a report with an edit link. They are very slick and modern in appearance. But it's important to consider the users and whether the IG is the best interface for what they need to do.
They are very new
Like anything very new, they having teething troubles. I've raised a number of issues on the Oracle APEX forum where things don't seem to work quite as they I would expect, or found issues that others have already raised. These include:
- Issue with master-detail IG when master column is a select list (IGs are a lot happier with a hidden surrogate key or ROWID rather than a manipulable column as key)
- IG scroll-type pagination doesn't work in modal pages - you just get the first 40 rows returned.
- Editable IGs are too wide by default with columns scrolling off to the right.
A common thread here is that these questions often don't get answered. I think this is because there is only one person who might know the answer, and he is no doubt a very busy man!
Being new they are also somewhat scant on documentation.
They are complex to configure
Out of the box you can configure a few properties of an IG via the APEX Builder such as:
- Grid is editable or not
- Insert/Update/Delete operations allowed or not
- Toolbar is shown or not
- Save and Reset buttons are shown or not
- ... and several other things
I think that this complexity of configuration rather goes against the APEX principle of "low code", and very much hope that a lot more declarative control will be added in future versions of APEX. But I appreciate that's a pretty tall order and Rome wasn't built in a day!
They can be slow to load
Interactive Grids are a great and powerful addition to the APEX toolkit, a vast improvement over the old tabular forms. They should be used where they really add value, and not overused. Being very new, they have a few issues, are not well-documented (compared to the rest of APEX), and require some quite advanced coding (and a lot of Googling) to configure if the default behaviour is not what you need. I'm sure that by the time APEX 6.0 comes out they will be even better, and much easier to configure!
it's actually by intention to not expose every switch Interactive Reports had as a declarative option in Interactive Grid. The reason is that we noticed that most developers never changed those default settings, but having all those switches added a lot of clutter to the configuration pages of an IR.
Even worse, some IR features which have been added later had to be migrated by switching them off (to not change existing behavior of the app). But when a developer created a new IR, it's on by default. With the result that end users experienced a different feature set between IRs of an application if the developer didn't modifies all existing IR.
I would be curious to find out what kind of customizations do you want to perform on a regular base and what is the background off limiting the out-of-the-box functionality? Maybe some of them can be exposed as a declarative option in the future.
I disagree with what you described as intentional. Let's go back to basics, APEX is a low code platform by design and forcing the developer to write JS to get the IGs to work while a switch could define the behavior is a contradiction to the low code principle. Especially for basic things like disable actions on the IG toolbar.
In my opinion a developer is the one who decides to rely on switches or code and it's his/her responsibility to compare or whatever.
In my opinion the Interactive or Classic reports are not cluttered and we know they can be customized if needed. This is what makes APEX so good, just click on options or write code and produce an function rich app! Not offering the declarative options only takes away from the platform cause it adds nothing to it.
I hope oracle APEX team reconsiders that statement/direction for the sake of keeping the low code platform as low code.
The sort of customisations I want to perform are quite simple and are generally to declutter the UI for users by removing redundant (for their requirements) features:
- remove the filter/search functionality while retaining the toolbar for e.g. Add Record, Save.
- remove the toolbar action list completely
- remove individual actions from the action list e.g. Chart
- add a button to the toolbar
Basically, the sort of things you can do declaratively with IRs!
I am with Tony and Gaspar. It seems to me Oracle release IG too soon ... and decide to unplug tabular form too soon.
Given all the threads I had read about IG, I decide to not use it for now. I will wait for next major improvement of the IG then start to explore it further.
The launching of IR is a wow to me... the launching of IG is "not that bad ... but please improve it".
Post a Comment