These are chat archives for ractivejs/ractive
I'm currently building realtime web based ERP solution for a company. there are actors in the system, like clients, databases and some custom built physical devices. it can be thought as a chat room + issue tracker
Simplest thing is sending any message to some clients. what if some messages will be delivered to some clients fully and some clients partially? for example, some users/workers can see the price of a product and some others can not. some users can see client names and some other can not. how and when can you blackout the appropriate fields?
most groups don't have more than a few tens of members, including other groups, so updating the cache entries is usually pretty painless for the system
I agree, it won't be a headache unless you are updating very frequently
filters. filters are two separate (incoming and outgoing) functions. routes are simple topics. if message route matches with user's permitted routes, message will be delivered to the target. there are permissions where users send messages to the target (for example, database) by including "I have
some.permission" string. this is checked and approved by the intermediate server. this string is directly handled by target.
probably not as big a deal with couch, which is designed to be fully distributed to start out
actually I'm not using any bit of authorization or authentication features of CouchDB anymore because its authentication mechanism does not fit in my case
I tend more toward a room-like approach e.g. user foo is interested in bar messages and wants to register, so check to see if that's ok and add that socket to the bar room if it is
that's how routes work in my case. routes are lists that user is able to register. if user registers to that route, then it starts sending and receiving by that route. user may subscribe or cancel its subscription dynamically