Roadmap
Improve typing for event handlersDONE
- Improve documentation (2 hours)
- Client-side security explanation
- Explanation of broadcast vs. local events
- Explain how to write handlers efficiently/easily
- Clearly document which operations will not trigger Tyranid events
- TODO: show an example of imperative vs. event handler / i.e. around org-creation / project/plans transition around participants
- Increase context inside event handlers
- access to current user
- option 1 -- investigate continuation-local-storage / update Tyr.local
(it used to be that this was not well-supported, but later versions of node.js added support
for async hooks which might / might not make this a performant solution now)
(4 hours to investigate feasibility + ? hours
to implement)
- option 2 -- ensure people are specifying auth on all tyranid requests
- access to what was changed / $orig support
We already support this on historical collections, one solution would be
to enable this automatically if
- the collection is historical or
- the collection has event handlers (4 hours).
- Client-side cache invalidation ... ability to specify force querying a fresh copy in certain circumstances
- Multiple Event Handlers
- Improve understanding how errors handled/propagated
- Event transactions ... run all the handlers in a transaction when we go to mongo 4.0 (2 days)
- Event sequencing -- monad, programmable-semicolon, sequencing
- Create Tyranid developer's document for people who would like to contribute to Tyranid
investigate https://help.github.com/en/articles/setting-guidelines-for-repository-contributors
- Client-side Projection Management (3 days)
Includes determining when a cache is missing needed fields.
- devtools for Tyranid
- Unify projection and population syntax
- Use MongoDB 3.6+ aggregations to perform queries that have population in one database operation. This would
- reduce the number of queries but also, more importantly, would
- allow you to do searching/filtering on populated values when doing a paged query.
- First class support for node.js mongodb driver bulk operations
- Services Roadmap
- Tyreant Roadmap