Hi,
Let's say we want to create project like wiki. Users can edit articles, revert changes, see diffs, etc.
First thought is "oh, every change of an article is an event, ES fits naturally here".
And technically, it's possible to get diff and attach it to a domain event, then apply that diff/patch to the Article.text during replaying.
But I wonder if it's even reasonable to go with this way, because I see some issues:
* potentially large events;
* events will be locked with specific diff algorithm.
Is it worth it? Probably, it's better to delegate it to git, for example?