All,
We're getting ready to release 1.0.0.Alpha01 of the public API which
aims to support all that is required for portal navigation. Whether
that be creating a custom navigation menu or writing an application
to administer navigation nodes of the portal. Pull request for
implementation to merge to upstream can be found here
https://github.com/gatein/gatein-portal/pull/324
Some quick highlights:
Simple access to navigation structure of portal
Navigation navigation =
PortalRequest.getInstance().getNavigation();
Node rootNode = navigation.getRootNode(Nodes.visitChildren());
// Retrieves root node and loads it's children
Complete control on what is loaded
Node rootNode = navigation.getNode(NodePath.path("foo", "bar"),
Nodes.visitChildren()); // Retrieves the /foo/bar node and loads
it's children
Refresh current node with backend
navigation.refresh(rootNode)
Easy iteration
for (Node child : rootNode)
Build in filtering
Node filter = rootNode.filter().showDefault(); // Filters like
the current navigation menu (based on if the current user has access
to the page the node is pointing to)
Node filter =
rootNode.filter().showHasEdit(user).showVisibile(); // Same as above
but instead of access permission, it checks edit permission
These are just some examples and I encourage anyone to check out the
java docs http://gatein.github.com/gatein-api-java/
and the project on github
https://github.com/gatein/gatein-api-java
- Nick