-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
StartChat and SendChatMessage #574
Comments
Hi @rikoe - could this be put a next meeting agenda? |
Hi @bertrand-s, thanks for filing and including lots of details! Just adding my comments from the call last week. My concern here is that it might complicate the intents flow a bit too much? While several apps might be able to handle eg "SendMessage" based on their app configs, this is introducing context that only the application itself can handle - eg does the user have access to the chatroom provided and are they able to send the message (considering all the various restrictions you can put on a room). I do like the general idea of “chat init” where any custom options can be put in to improve the workflow but maybe “init” is a bit of a technical name? Anyway, these are quite general concerns - if there's not a technical issue FDC3 should be "open" enough to allow for all of this to tested and proven amongst the community. We can then move to aiming to standardize based on what is actually being used? That said - I think there might be a good argument for standardized "body" content or "message" so that a receiving application knows what to expect or how to handle the data. Please see my comment on #575 Best regards, Johan |
I disagree that this complicates the intents flow, you would raise the intent (in this case
The group specifically addressed this comment already in its first meeting - intents already have a proven use case, the goal is now to propose specific intents for use cases that already exist and hence to try to both promote implementation and limit fragmentation. If we require every intent proposed to have already been in use then we risk: namespace conflicts (if they try to use a
In this case, there already exist numerous examples of applications that can trigger sending a message or creating a chat in a different application. However, I think the point more valid on the type of the message field (but then I'm not as familiar with the specifics of chat applications as the proposer - @bertrand-s did point to a couple of examples of JSON already being used to encode messages rather than markdown or HTML). Would it make sense to add a string |
Thanks @kriswest, I guess my thought regarding complication was more from a user perspective where I would expect the intent resolver to show me "useful" apps - that could actually perform the functionality for me and not show an error once I raise it. You are right that the same thing exist for most if not all intent/context combinations but the more complex/unique the context - the more of this we'll see. I stand corrected on the specific intent naming - of course we should standardize intents when there is enough interest without requiring them to be in use already. Best regards, Johan |
Good point! Although for |
We're super-keen to see these Intents. IM integration, specifically with Symphony, is our customers' #1 request for our desktop integration! Some thoughts on the proposed spec, none of which are strongly-held views: initMessage on ChatInit is particularly important to us most of our use cases are one-shot hand-offs. E.g. starting a research discussion chat with a link to a research model or pack of research, starting a client review chat with recent interaction information, etc. We're unlikely to maintain a ChatRef and use this to continue to post although I can see there might be other systems that use this. The use of SymphonyChatOptions kind of makes this specific to Symphony. As soon as you have to tie vendor-specific information into a call, you're effectively integrating 'directly' with the vendor. So my question is whether we can either make the Intent more Symphony-specific, and get advantage from that, or else make the options less Symphony-specific. Obviously the latter is preferable from an interop point of view as long as it doesn't limit the richness of Symphony integration. From my reasonably broad knowledge of chat system, 'public' and 'private' are fairly standard concepts even if different systems have slightly different interpretations about what they mean. I don't exactly know what the Symphony interpretation of "EXTERNAL-SINGLE" and "EXTERNAL-MULTI" but these seem to be as much properties of the contacts (is there one of them, are they external to the organisation the user is from) as the chat room. Could they be removed without losing functionality? Likewise the options for member permissions and discoverability. I don't think any CRM user would want to select these as part of initiating the chat ... they just want the system to do the right thing as quickly as possible. So can these just be defaulted in Symphony? This is how we integrate with Zoom ... you can one-click organise an online call from Singletrack and if you want to change the default perms, you get a URL to navigate to do that natively in Zoom rather than make these choices in our system. But I can see these are optional so maybe it doesn't matter, we just won't use them. As mentioned, I don't think we have a use case for posting subsequent messages into the chat room but I can see value in having a quick way to navigate back to a running chat from the CRM. In that case, could we have an 'empty' version of ChatMessage that just opens the relevant chat channel without posting a message? |
Many thanks for your feedback.
Notes:
|
@bertrand-s when this issue auto-closes when the StartChat PR is merged you'll need to re-open or open a new one for SendChatMessage (which is not in the PR, right?) |
Enhancement Request
Use Case:
This proposal covers two connected use cases:
Intents
StartChat
The proposal is to support a new context type (ChatInit) to initialize a chat creation with new optional parameters:
Example:
Which would translate into this type of interface:
Notes:
SendChatMessage
This new intent would be used to send a message into an existing chat (that may have previously been created through StartChat).
SendChatMessage would take a ChatMessage as input and would return
Note: the RichTextBlock type will be discussed in a separate thread
The text was updated successfully, but these errors were encountered: