Custom Navigaton Node Properties

Version 1

    Status

    The feature is being discussed.

     

    Motivation and Use Cases

    A customer needs a way to define navigation nodes pointing to external URLs. They can accomplish this in Portal 4.3 using page properties, storing there not only the URL but also if the link should open in a new window, etc. This data is then used in a custom navigation portlet.

     

    Current State

    Neither org.gatein.api.navigation.Node nor org.gatein.api.page.Page do not allow for storing this kind of information.

     

    Solution Proposal

    • A new properties-like object would be exposed through org.gatein.api.navigation.Node.
    • Both keys and values of the new node Properties would allow strings only
    • The API would guarantee the uniqueness of the keys per node
    • The API would not guarantee anything about store/iteration order of the properties
    • GUI for editing the properties not a priority
    • Authorization: same as for other Navigation Node attributes - who can edit those, can edit also the new properties.

     

    Unclear

    • Acceptable performance impact in following scenarios:
      • Portal using no properties at all
      • Portal using a few (say up to 8) properties per nav node
      • Portal misusing the feature with 10+  props per node