Hi,
Following the "hiding technical content" it seems logical to hide
events fired by hidden documents in the activity stream.
Since the activity stream uses its own store for performance I don't
see any other solution than to duplicate the "hidden" information in
it.
I'd like to commit the following implementation:
- no change to the ActivityStream / ActivityEvent APIs
- additions of ActivityEventImpl#isHidden() and
ActivityEventImpl#setHidden(boolean)
- modification of ActivityStreamImpl#addDocumentActivityEvent() so
that it sets the event as hidden when it's been fired by a hidden doc
- modification of ActivityStreamImpl#searchEvents() so that it tweaks
the hibernate query when the user doesn't want hidden docs to be
displayed (same principle as in the query manager)
- addition of a ase_hidden column in the activity stream DB table
This way events can be filtered without any modification to the existing APIs.
WDYT ?
Note: naming this new property "hidden" and not something like
"hiddenpage" allow us to extend the concept in the future.
We could put the setHidden / isHidden methods at the API level and any
extension would be able to mark an event as hidden.
But it's not part of the current proposal.
Thanks,
JV.