# Accoppiare il discorso con chat e cloud

**URL:** <https://meta.discourse.org/t/coupling-discourse-with-chat-and-cloud/165463>\
**Category:** Community Building\
**Created:** [26 Settembre 2020, 4:30pm UTC](https://meta.discourse.org/t/coupling-discourse-with-chat-and-cloud/165463 "2020-09-26T16:30:19Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![rogerco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rogerco/32/161338_2.png) [@rogerco](https://meta.discourse.org/u/rogerco)\
**Post date:** [26 Settembre 2020, 4:30pm UTC](https://meta.discourse.org/t/coupling-discourse-with-chat-and-cloud/165463/1 "2020-09-26T16:30:19Z")

</div>

A seguito di una domanda posta da @debryc [qui](https://meta.discourse.org/t/what-do-you-all-call-your-discourse-forum/160991/24), ecco una breve nota su alcuni lavori che abbiamo svolto per far funzionare insieme i nostri forum Discourse con l’archiviazione cloud (un’istanza NextCloud) e la chat (nel nostro caso, Mattermost).

Un post lungo, quindi nascondiamo i dettagli finché non clicchi sulla freccia…

> **Post completo e lungo**
>
> Devo subito precisare che non sono lo sviluppatore di questo sistema: è stato realizzato in C#/.NET da un altro membro del team Tech, quindi non posso rispondere a domande tecniche dettagliate. Mi limito a esporre il problema che volevamo risolvere e ciò che abbiamo fatto.
> 
> Contesto: utilizzavamo un sistema integrato (Basecamp) per fornire discussioni, chat in tempo reale e integrazione per l’archiviazione dei file. Presentava molti elementi insoddisfacenti, sia a livello strutturale che di sicurezza, così abbiamo deciso di migrare l’organizzazione verso un nuovo sistema o nuovi sistemi open source.
> 
> Abbiamo fatto un’ampia ricerca e valutazione: alcune delle nostre scelte sono state dettate dall’opportunità, altre dalla ricerca della soluzione più adatta alle nostre esigenze e altre ancora dalla necessità di rendere il percorso di migrazione il più indolore possibile per 10.000 utenti (tra cui una percentuale elevata di non tecnici e un numero significativo di utenti tecnofobici, tutti con le proprie opinioni fortemente radicate: non è facile accontentarli!)
> 
> Per arrivare al punto, abbiamo optato per tre componenti separati: Mattermost per la chat in tempo reale, Discourse per discussioni più ponderate e Nextcloud per l’archiviazione sicura dei file e la modifica collaborativa (sostituendo una combinazione di archiviazione nativa di Basecamp e Google Docs). Tutti ospitati sui nostri server gestiti.
> 
> Ora dovevamo trovare un modo per unire in modo relativamente fluido i tre accessi richiesti e creare automaticamente gli account utente, assegnando gli utenti ai gruppi/forum appropriati (Discourse), ai gruppi di archiviazione condivisa (Nextcloud) e ai team e canali (Mattermost).
> 
> L’organizzazione conta alcune centinaia di gruppi/team distinti (per ubicazione e funzione) e gli utenti possono far parte di molti gruppi: alcuni sono chiusi, altri sono aperti e chiunque può unirsi liberamente.
> 
> Il primo problema era creare account utente su tre sistemi diversi e, inizialmente, assicurarsi che avessero lo stesso nome utente (in modo che potessero riconoscersi) e la stessa password (in modo da avere almeno un unico insieme di credenziali da ricordare o memorizzare e, in definitiva, un accesso singolo a tutti e tre i sistemi).
> 
> Avevamo anche bisogno di un metodo per gestire l’assegnazione delle persone ai gruppi corretti al momento della creazione dell’account: nel vecchio sistema non c’era una corrispondenza adeguata tra i gruppi reali e quelli online, quindi non potevamo semplicemente migrarli.
> 
> La soluzione che abbiamo elaborato è stata un sito web separato, chiamato Hub, che si occupa di tenere traccia degli account utente e utilizza le API dei tre sistemi per creare e aggiornare i dettagli degli utenti.
> 
> L’Hub permette inoltre ai “Campioni Tecnici” di ciascun gruppo (o insieme di gruppi) di invitare persone sui nuovi servizi, assicurandosi così che solo le persone giuste finiscano in ciascun luogo.
> 
> Quindi, un utente riceve un’email di invito per unirsi ai nuovi servizi con un link monouso all’Hub, dove può creare un nome utente e una password. Questi vengono poi utilizzati per creare automaticamente gli account utente corrispondenti sui tre servizi separati.
> 
> L’Hub sa anche a quali gruppi/forum, team/canali e aree di archiviazione l’utente dovrebbe avere accesso e li aggiunge nei luoghi pertinenti tramite le API.
> 
> Con l’evoluzione, l’Hub ha visto lo sviluppo di ulteriori funzionalità, così che ora un utente può utilizzarlo per cercare canali e forum, richiedere di unirvisi e svolgere varie altre funzioni amministrative sia per i Campioni Tecnici che per gli utenti.
> 
> Ora può anche fornire una forma di accesso singolo (single sign-on), in modo che, accedendo all’Hub, un utente possa accedere a uno degli altri servizi con un singolo clic (alcuni dei lavori in quest’area hanno incluso l’esclusione dei login standard di tipo social media aziendale in uso).
> 
> Abbiamo esaminato vari modi per integrare la chat e gestire l’archiviazione dei file in un unico sistema (tutti e tre offrono alcune di queste possibilità), ma in tutti i casi si tratta di enormi compromessi e si finisce per ottenere un cammello (un cavallo progettato da un comitato) come Basecamp. Meglio attenersi a una soluzione dedicata di razza per ciascuna delle funzioni principali e farle bene.

---

_[View the full topic](https://meta.discourse.org/t/coupling-discourse-with-chat-and-cloud/165463)._
