Closed amirhssn closed 3 years ago
That is a really good idea! Once the rocket chat is there we can try it.
@jcklie Do we have the rocket chat server right now?
We have the rocketchat server. I can give access to it. I just need an email address and the role (admin/user/other) or a description of the tasks required.
Great! We might need to start working on it then find the role requirement later. But I guess the application itself would be just a bot that only needs to read the channel stats. Also, I need an account to produce artificial chats to test the code. So, do I need to give you two email addresses(one for the bot and one for myself)?
That is correct. We can continue this by email luciana.benotti@unc.edu.ar
On Tue, Oct 27, 2020, 11:39 AM Amirhossein notifications@github.com wrote:
Great! We might need to start working on it then find the role requirement later. But I guess the application itself would be just a bot that only needs to read the channel stats. Also, I need an account to produce artificial chats to test the code. So, do I need to give you two email addresses(one for the bot and one for myself)?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/acl-org/emnlp-2020-virtual-conference/issues/26#issuecomment-717290421, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATNNODW4L6FVXIDSAJY2ELSM3LTNANCNFSM4RXJPKHQ .
I have checked the Rocketchat APIs and here is my proposed solution:
x
seconds (e.g. 60 seconds), the updater-script will get those numbers from the API and calculates the delta between the current number of messages and the previous number of messages, and sort them in descending order. Lastly, it will cache them in memory and we will return the active channels from this cache for the next x
seconds. This loop will continue until the end of the conference.x
second to update the cache (Here shows how we can do that)@benotti @jcklie Please feel free to feedback on this.
That sounds good, I also thought that lambda would be good. Do you have an estimate how expensive that would get? How much effort would that be for you to build?
I honestly would just use the cheapest EC2 there is and write a small python script.
The script itself should be quite easy, I don't imagine that it takes too long for me to develop it.
I am not very experienced with AWS, not sure how we can have estimates. But if we are on a budget, I might have some ideas to cache them on CloudFront in order to reduce costs.
Also, given the fact that the number of requests would be high, I am really sure whether cheap EC2 instances can handle the load.
Using 1 cheap ecs 2 would just be 20$, we can afford that. You solution sounds great, but I think a but too overengineered for the task. You can just use redis/memcached on the ecs if you need caching
Yeah, that’s probably overengineered. We can start with a simple setup and then load test it to see if we need something bigger. On Aban 8, 1399 AP, 2:15 AM +0330, Jan-Christoph Klie notifications@github.com, wrote:
Using 1 cheap ecs 2 would just be 20$, we can afford that. You solution sounds great, but I think a but too overengineered for the task. You can just use redis/memcached on the ecs if you need caching — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
Great! I really look forward to it. I honestly do not expect this endpoint begin hit that hard, not many pepople will have it open at the same time and you can always add a "refresh now" button in the front end instead of periodically querying the endpoint. If you write the script then I will host it for you.
Hey folks, this is a nice idea, and I want to also point out that for Admin account, you can view the "Engagement Dashboard" to get some relevant information.
Maybe it's useful to contact the sales representative (Eduardo) to ask if they have some similar features implemented. @benotti can you send an email to Eduardo about this?
I imagine if they have a bot/plugin that can post messages to a #channel-statistics channel periodically, we can simply embed this channel on a webpage on the virtual conference website.
I contacted Eduardo. I will let you know when he responds.
Eduardo's answered. They do have a widget that can be integrated with websites - https://docs.rocket.chat/guides/omnichannel-guides/omnichannel-manger-guides/livechat-widget-installation. There is documentation about the utility that @hao-fang showed, it can be found here: https://docs.rocket.chat/guides/omnichannel-guides/omnichannel-manger-guides/analytics
@benotti Thank you! I would then suggest to add it to our virtual website, e.g. use a dropdown in the navbar for chat like I planned for #65 .
@benotti Thanks for contacting the sales representative. But I am kinda confused with the response. What does that have to with we have planned so far? I mean how is the live chat widget related to channel statistics?
I'm not sure I followed the livechat widget. That seems to be a different feature. FWIW -- I took a look over all Apps available on the Marketplace https://rocket.chat/marketplace/ and it seems there is nothing available for the channel statistics feature. It seems that we may need to implement our own then (unless I misunderstood the livechat feature.)
Few people were mentioning papers with highly chats on Twitter during ACL2020. (see this). I think it might be a good idea to add such a section to the conference:
Ideas for implementation: 1- We can have a small script running somewhere to find active chats by actively pulling channel statistics from the Rochet Chat server in fixed intervals. 2- It can store its output, possibly in the JSON format, on S3 (with caching disabled), and then, the web browser can simply use it as a static asset. In this way, we don't need to worry about scaling, racing conditions, and etc.