chat search schema design - elasticsearch

I have to design a chat search capability on my chat software. The chat software allows the user to talk to users/channels inside the same company. I want to build a chat search functionality for users to whom he had chats or channels to which he is a member.
I am aware of ElasticSearch which is good for doing some global searches (irrespective of user's context) but in chat application the search is always limited to chats of the user who is performing the search. That is, if I am searching for 'hello' no need to search for all the 'hello' sent by other users or to channels to which I am not a member.
Can someone suggest some docs/reference/technologies to be used to power this feature? Also what might be the possible schema design so that it is very fast.

Related

How to find messages by text in a Dynamodb chat application?

I see a lot of recommendations for using dynamodb with chat applications. It is really fast when querying by keys. However a chat needs search by message text functionality which could not be implemented in dynamodb, I’m interested how other people deal with this problem ?

Send automated mass, uniquely tailored messages to a list of participants (is it possible?)

My company wants to conduct a pilot to see if providing doctors with certain risk information about their patients would help them make better decisions. Before we build a full scale app, we just want to determine if the information is useful to doctors, it helps patients, and if generating the data and getting it to doctors is even feasible. Unfortunately, due to institutional data security and privacy rules, I have to use Microsoft Teams messaging to test this. Otherwise, I'd use Microsoft Access VBA, loop through a list of emails, and send the tailored information that way. However, because I won't be able to easily encrypt emails like this (and it prone to people forgetting - unless there's a way to set up encryption from MS Access VBA) I can't use MS Access/Outlook.
So bottom line, say I have a dataset with 20 emails/Teams contact information of doctors, along with unique medical information about 1 of their patients. Aside from copying and pasting the data into a message, and sending it in Microsoft Teams for each doctor, is this a more automated way to do this? Think of this as sort of a Microsoft Teams mail merge.
You can do it with Company communicator app template. Company Communicator is a custom Teams app that enables corporate teams to create and send messages intended for multiple teams or large number of employees over chat allowing organization to reach employees right where they collaborate. Please go through this sample.
Hope that answers your question!

How to host BF Skills in Teams App Store?

We have a bunch of Microsoft BF Bot Skills that we are using with our Virtual Assistants. Not all skills are applicable to all our users. Teams being our collaboration platform, I was thinking if we could host these skills in our Teams enterprise app store and then let our users dynamically add them to the VA as needed. Is this even possible? Has anyone tried something like this?
Unfortunately, I don't believe this would work as they are currently designed. The relationship from bot:skill is managed, primarily, by the bot via AppId's, keys, endpoints, etc., shared between the two. The issue is each skill uploaded into Teams would require it's own manifest whereas normally only one is promoted, the primary bot. By each skill having its own manifest, Teams is going to treat it as an individual app. I believe this would interfere with the bot and skill properly connecting.
That being said, you could forgo the current bot:skill design and create smaller independent bots. By using proactive messages, it is perfectly feasible to send messages between bots. As a user interacts with the HR bot and answers some question about payroll, that message is forwarded as a proactive message to the Payroll bot which does stuff and then returns a message back to the HR bot and, subsequently, to the user.
Hope of help!

Integrating Microsoft teams into my windows application

I have a desktop app to which I want to integrate Microsoft Teams.
Does Teams provides an API for the integration.I read few articles but they all explained how to create apps in Teams and use of Microsoft Graph API to get information about Teams/channel etc.
Could someone help me with this, if they had any solution.
few of my finding on the internet:
https://blog.thoughtstuff.co.uk/2017/04/microsoft-actively-working-on-a-teams-api/
https://developer.microsoft.com/en-us/graph/graph-explorer#
https://microsoftteams.uservoice.com/forums/555103-public/suggestions/16972258-developer-api-to-read-create-teams-and-channels-in?page=2&per_page=20
There are two distinct ways of accomplishing this:
Using the Microsoft Graph API to create/read/write information. Currently the only thing we support is the ability to add a team to an existing Office 365 Group, the ability to create and read channels within a Team, and to post a message to a team/channel. We are adding more APIs, including the ability to read messages from a channel, but it's not available yet (and we don't have a public ETA). The ability to read and write channel messages from a channel should allow you do what you want.
Controls that you can embed in an application that read/write the data for you. That's a common developer request and we will deliver that eventually, but it's further out.

SSRS Subscription Permissions

I can't find much about this online so I was wondering if someone knew here.
Is SSRS 2005 if a user creates a subscription, will other users be able to view and edit those subsciptions? If not, is it possible to make subsciriptions visible to everyone?
Thanks
Quick answer is no.
Long answer is:
AFAIK, there is no site-wide subscription management functionality. The best you can do within Report Manager is site-wide schedule management, which allows admins to set up schedules at preferred times and let users choose those schedules when creating their subscriptions.
Our solution for controlling/centralising subscriptions was to set up a generic Windows user, log in to Report Manager and use that user to create all subscriptions. This means that all requests for subscriptions go through the IT department (+ or - depends on your situation. We didn't want users creating subscriptions themselves). All users who know the generic username/password can manage subscriptions in one place. Not ideal but it works for us.
Another option is that all the data for subscriptions is held on the Server, either in the Reporting Services database or in the Jobs themselves. If you are brave you can delve in and set up some sort of interface to access this.
This is definitely an area in which I find SSRS lacking.
Update:
You live and learn. I've just found that (provided you have sufficient privileges) if you open a report, then go to the subscriptions tab, you can view and edit any subscriptions that are set up on this report by any user. Still not ideal as you don't get an overview of the subscriptions across the system but better than the bleak picture I painted previously!

Resources