Return the home node for the current user.
In order of preference, the user's home node is read from:
- The Home Node (system.HOME_NODE) member of the user's user node.
- The Home Node (system.HOME_NODE) member of the user's account node.
- The first high level package listed in the user's account node.
- If the user is signed on, the Signed On Home Node (library.domain.SignedOnHomeNode) member of the domain node associated with the server name.
- If no user is passed, the Signed Off Home Node (library.domain.SignedOffHomeNode) member of the domain node associated with the server name.
Server names are associated with domain nodes in the node 'domains'.
User credentials are optional. If not passed (e.g. because nobody is signed on), the home node is calculated using the Signed Off Home Node member of the domain node.
Server name should be the domain name used to access the service, e.g. www.metrici.com.
homeNodeReference contains the node version reference of the user's home node. If blank or omitted, the user has no home node and a default should be used.