We are working on a proof of concept of the the “people registry” (folkeregisteret) in Norway, where we want to show things that has happened as an atom feed. In the first version of the PoC I was thinking I could just show the feed from ES as it is quite simple. As of the moment I’m creating one stream per aggregate (person aggregate so far), as such, https://github.com/mastoj/nytt-folkeregister-atom/blob/master/dotnetES/src/Folkeregister.Infrastructure/EventStoreDomainRepository.cs. This is heavily inspired by the code you had put up us an example. Since I want to expose all the events as one stream and as well as one stream per person I thought a simple solution was to use categories. If I just prefix/postfix all the streams I create with something that would give me all the events in that stream as well as one stream per person.
So basically I write to streams named: folke-aggregate type-unique id. After updating the category projection to take the first word as a category I know get one stream called $ce-folke that contains all the events that I think should go into the “all” feed and I don’t have to do any client side processing.
Am I doing something totally wrong? If you look through the code I know I might be doing something wrong since I’m using signalr to update my live feed, which I also have, when I could just consume the feed from the web client directly using long polling as Greg suggested to me at NDC.
@James, I meant category on the streams :).