Even in pure ADF you could have a backing bean containing visibility flags for region/task flows. The visibility flags would be toggled based on data from your drop down.
Few things to consider:
- do you want to store your settings? (for returning users)
- do you want the setting to apply for the current user, or across all the users?
Now, in portal environment, you could use the Composer (not exactly the drop down box) and have the user to modify the page using personalization or customization (see also Andrejus Baranovskis Blog: Applying Personalization and Customization in Oracle ADF 11g and Oracle WebCenter 11g)
Take the tutorial for Spaces (exposing the Composer): Creating Pages - 11g Release 1 (18.104.22.168.0)
With the Composer you get the "Add Content" button, and/or Visibility flag (available in properties under one the wrench key icons).
- like that a user can do any type of modifications - not just "turn on/off" the section
- (not sure about that) if turned off, the space used by the region might stay empty
- you may add dynamically data sources to the business catalog and have users decide what they want to use
- it's OOTB! (no programming)
- it supports both Personalization/Customization options
Thanks for ur inputs. I have been using composer in WC Implementations.
If we go with this approach, we need to customise the composer so that , particular users only sees particular task flows in it. For that we might need to create another resource catalog and map it to roles. Not sure how to do this.
Also composer provides lot of personalization. We reuire only to personalize showing and hiding of widgets. We do not want user to change styles etc which composer provides. Is there a way to restrict those?
These are very good questions (developing my first cons), and I'm afraid I have no answer to them - except, perhaps, a customization.
In fact, a requirement that a user authorized to modify a page through the Composer has access to only limited number of resources could be a nice enhancement. It might be worth to get an official response from the Metalink.
Adding a technical point of view to jiri words.
It is feasible in two ways:
- Resource Catalogs accepts to register a CatalogFilter class to filter the resources based on your Java.
- All items of a Resource Catalog admits a property called Visible where you can map an EL Expression. You can use a security EL Expression to check if the item has to be visible or not to the user (as the Navigation Model).
I hope this information helps.
Official Documentation: Developing Resource Catalogs - 11g Release 1 (22.214.171.124.3)
Anyway, maybe mapping EL Expressions to the Visible property is enough and easier. It depends about the complexity of your code to check if an item is visible or not.
Update: Sorry, post links uses Navigation Model but it can be applied to Resource Catalogs in the same way .
In the method includeInCatalog return true or false depending if the Catalog Element has to be visible.
I hope this helps.