Hello, I was wondering if adding a predefined data model for navigationPath using the true path visited by the user rather than just another representation of the menu hierarchy would be interesting. An user asked for that on the user list not too long ago. I would implement it using a PhaseListener automatically attached by AdfFacesFilter. That listener would simply register the viewed viewIds in the user's session before the render response phase if the request was not a PPR one. The model would then simply read the saved list and expose the locations accordingly. The only problems I see are:
1) If the user never use the breadcrumbs, the phase listener will work for nothing consuming both memory and CPU usage. Maybe the listener should be attached only if a specific context-param exists? Another way would be to ceate a new functional tag used to mark a page as visited when executed. That solution would make it easier for users to exclude some pages from the history, but requires an user intervention in all the pages. Yet another way to acheive it would be to include the code in af:document and/or in af:body directly, but that solution have the same disadvantages as the phase listener and is quite unclean. 2) Where should the max amount of visible location specified? context-param? breadcrumbs component attribute? skin? 3) What kind of action should be taken when the user click the link? The model could expose an execute method, but unlike the menu model I uploaded on JIRA, the path is not configured in any XML file and thus you cannot attach a method binding to it. If the user simply add its own action binding, then he'll need to access the right viewId. That could be done using getRowData, but from experience users are not huge fans of messing with DataModel directly. Simon Lessard Fujitsu Consulting
