Ok, so here are my ideas how this could be solved. This is indeed much better to discuss in writing, as I needed a day to think it through. I would not have had any proposal yesterday.
First of all, let me talk you out of using Slack. Not only is Slack the most sluggish, inefficient and bloated of the six web-based chat tools that I have open all the time. It is also not open source, and not frictionless for people who are not on the platform. Because they need an account on our Slack (let’s say edgeryders.slack.com), even if they already have one or more other Slack accounts. And if they are going to need a new account anyway, they could just as well have made one on our Discourse platform.
Also I think that we should look for a more general solution than “just” being able to post Slack transcripts to Discourse. It should be applicable, with little work, to any chat tool; of which we use several already. For example, when community managers hold a webinar in Zoom or Google Meet, the chat among the audience might contain relevant content, and we’d want an edited transcript on Discourse.
Below is my proposal how such a solution could be created technically. (But I have no idea how this could be funded: there is zero IT budget left for new features. Which should not be a surprise, given how underfunded IT has been for the current H2020 projects …)
Generic Chat Transcript Import for Discourse
Here’s how my proposed solution would be used, from chat to coding in Open Ethnographer:
People chat, in any tool. Could be Zoom, Google Meet, Matrix / Element, Slack, Rocket Chat, even Google Docs comments. The only requirement is that one can copy & paste the chat messages in text or HTML format, and that a filter has been defined in the transcript import for that particular chat application. Note that both Matrix / Element and Rocket chat support chat room access by users without having to create an account, providing the frictionless experience you’re looking for.
After the event or chat session is over, somebody goes to Discourse and clicks + New Topic. Same as when posting anything else to Discourse.
In the Discourse editor, they now click “ → Import Chat Transcript”. A wizard dialog opens, which is possible in Discourse (compare “ → Create Poll” right now).
In the dialog, they now select the chat platform to import from, and copy & paste the chat transcript, possibly in multiple parts if only a few sections are relevant to post.
In the next step of the wizard dialog, the system will show a list of detected usernames, each with a box behind to select a corresponding Discourse username (if any).
In the next step, the wizard dialog will disappear and leave the user with a draft of a chat transcript inside the Discourse editor. Similar to what happens when using the Discourse / Slack integration to post to Discourse, as seen in this video.
Notably, the transcript will use the usual Discourse quote formatting to attribute chat messages to users (such as
[quote="username"]…[/quote]). It will not create one Discourse post for every chat message. Usernames would correspond to Discourse usernames where a mapping has been provided, and otherwise would use a special prefix such as
Posting each chat message as a Discourse post is not a good idea because Discourse posts are meant to be longer. Many short chat messages will lead to a lot of notification spam, and also many users would have to be created who would never come and post anything in person on Discourse, thus cluttering the database.
The user posting the transcript can edit the draft at will (shortening, fixing spelling and grammar, editing out personal data etc.) and would then post this as a new topic to Discourse. It can serve as a conversation starter, allowing other Discourse users to add their own posts as usual.
When coding in Open Ethnographer, ethnographers would code the transcript as usual, just making sure that annotations use text from one quote only.
For this to work, we would extend Open Ethnographer so that it recognizes that the text is in a quote, and would record this into the database attributed to the quoted user. It would thus show up properly in the network analysis, just that some usernames would not be linked to Discourse users.
As a nice side effect, this solution will also enable the ethnographic coding of video call transcripts. It’s just about manually creating a post made from quotes, in analogy to what the chat transcript importer would generate. This also means that only the Open Ethnographer extension is crucial to start with posting chat transcripts to Discourse, since adding the
[quote="…"]…[/quote] syntax can also be done manually during a test period. Still, the Open Ethnographer extension would be 2000–4000 EUR, and better at the upper end because we need to use some more solid programming techniques from now on to keep Open Ethnographer more stable, as it’s becoming too complex for “just adding something here and there”.
Over to @amelia and @nadia for deliberation.
I liked the chat export idea for the now.edgeryders.eu video call application; it had login integration with Discourse anyway, so attributing the transcript properly was easier that way. However, let’s not reinvent the wheel I’d say: creating a chat application with the frictionless UX desired here is a lot of work, which others did already. Also, having our own chat application still would not allow to utilize the transcripts from Zoom, Google Meet etc…