Null Object Value Management for SITE attribute

Description

Currently, SearchServices sets a special value (_REPOSITORY_) for the SITE attribute, in those cases where the incoming node doesn't belong to a site.
That enables, at query time, the possibility to ask all nodes that belong to a site (whatever site). In other words, we need that null value for being able to search for all nodes whose site is / is not null.

On Elasticsearch side, we need to populate an attribute which indicates if a given node belongs to a site or not.

In order to do that, the incoming node events contain an attribute called “primaryHierarchy” which could include (or not) the node reference of the node corresponding to the owning site.

In repository all sites are children of a special node whose type is st:sites. The node reference of this special node could be configured in Elasticsearch connector and when a node event arrives we should check the primary hierarchy: if we find it then the node belongs to a site

Acceptance Criteria

  • when a node event arrives and it contains site membership (see above how to get that information) then a boolean attribute "hasSite" set to true will be part of the document that will be indexed

  • when a node event arrives and it doesn't contain a site membership then a boolean attribute "hasSite" set to false will be part of the document that will be indexed

  • Implement Unit and Integration Tests

  • Update Documentation

Assignee

Unassigned

Reporter

andrea gazzarini

Labels

None

Release Train

None

Delivery Team

None

Story Points

8

Epic Link

Priority

Unprioritized