On 07/19/2012 12:13 AM, Nguyen Anh Kien wrote:
The Navigation and Node API:
To get a node, I must use: navigation.getNode("foo", "bar", "foobar")
IMO, we should support get node by URI string param like navigation.getNode("foo/bar/foobar"). Because we often has an URI of node by node.getURI();.

The node.getURI() method is slightly different now and is used to construct the URL to the navigation node (relative). So it would render the site name as well as the "node uri". However I don't like the method name, nor am I sure it's exactly what we want.

However I do think it's good to remove any internal separators even tho it's very common for tree based structures to use the '/' character. You have the String[] value of the node by doing node.getId().getPath(). I might add getPath on the node object itself so it's more clear. I would like to remove the dependency of the "/foo/bar" notation but I'll think about it and if it's that important we can support it.

Also, removeNode and addNode methods should be the same behaviour.

How do you mean ? Same return signature ? I'm not sure what the implications are if I return the node that was removed since the underlying impl is connected.


For a Node, We often has cloneable tasks for node, so it should support clone() method in Node api

 
regards,
=============
Kien Nguyen
M&E: (+84) 933.975.960 - kienna@exoplatform.com
Skype & yahoo: nakien2a
Portal Team - eXo Platform South East Asia (http://www.exoplatform.com)