Sto valutando l’importazione di circa 600 indirizzi email da una mailing list in Discourse, con l’obiettivo di impostare automaticamente tutti gli utenti come “osservanti” della categoria Announcements, che servirà essenzialmente a replicare la funzione principale della mailing list.
Ho capito che, durante il processo di importazione (so che sono coinvolti degli script e dovrò coinvolgere il mio sviluppatore), è possibile forzare tutti gli utenti importati a osservare la categoria Announcements, in modo che ricevano sicuramente un’email per ogni nuovo post (a meno che non smettano manualmente di osservarla). È corretto?
Ciò che è meno chiaro per me è l’esperienza utente per gli utenti importati. Ognuno di loro avrà un account, ma presumo che non potranno accedere finché non impostano una password; la prima volta che visiteranno il sito, Discourse gli chiederà di farlo. Corretto?
E se non impostano mai una password? (La maggior parte non si rende conto di avere ora account Mailman; quindi c’è stata resistenza all’idea di dover avere un altro account. Sigh.) Se qualcuno non visita mai il sito e non accede, riceverà comunque email per i topic e i post nella categoria Announcements?
Per chi ha già fatto questo tipo di importazione, quali problemi di supporto avete dovuto affrontare dopo l’importazione?
Se hai già una relazione transazionale con queste persone, ovvero li stai spostando su una nuova piattaforma, esistono modi per abbreviare il processo di creazione degli utenti. È una procedura pensata per amministratori più esperti, ma ecco alcune idee da riga di comando (rails console) che potrebbero funzionare:
Dalla mia esperienza, questo creerà il nuovo utente con i dettagli forniti, attiverà il suo account in modo che possa ricevere email e poi gli invierà una comunicazione per informarlo che è stato creato un account per lui sul tuo sito Discourse, fornendogli anche un link per configurare il proprio account:
È stato creato un nuovo account per te su Nome del tuo sito Discourse
Ci sono persone più esperte di me su questo argomento, ma penso che, dato che esegui il comando u.activate();, siano già completamente attivate e l’unica cosa che fanno tramite l’email sia cambiare la password dalla stringa casuale iniziale che nessuno conosce.
Esiste l’idea che gli utenti inattivi smettano di ricevere email nel tempo, ma non sono sicuro che questo si applichi qui alle categorie “osservate automaticamente”; ho pensato a questo aspetto principalmente in relazione ai destinatari del riepilogo/digest. Spero che qualcun altro possa intervenire su questa risposta.
Un’altra domanda veloce sugli importi. Sai cosa succederà se provi a importare un indirizzo email già assegnato a un utente nel sistema? Verrà semplicemente ignorato?
Avevo paura che lo avresti detto. L’approccio tramite la console di Rails si è rivelato ampiamente al di là delle mie capacità di amministratore (Rails non era nemmeno installato sul nostro VPS, e non vedevo come avrei potuto importare 600 indirizzi in quel modo), quindi sto coinvolgendo il nostro sviluppatore. Gli chiederò di verificare.
Grazie! Ho dovuto aggiungere sudo su prima della terza riga per ottenere i permessi necessari per connettermi al daemon Docker, ma poi ha funzionato e sono riuscito a eseguire le righe nello script Rails sopra e creare un utente di test. Evviva!
Come si potrebbe estendere questo script per gestire un elenco di 600 indirizzi email? Eseguirlo 600 volte sembra… noioso.
Dato che nessuno qui aveva esperienza con Ruby, abbiamo optato per creare un file di grandi dimensioni contenente tutti i comandi e incollarli nella console di Rails. Sembra funzionare, tranne per il fatto che ora ci sono quattro errori in Sidekiq (su un totale di 50 importazioni di test iniziali), e non so cosa farne o cosa significhino. Gli utenti sono stati creati? O semplicemente non hanno ricevuto l’email di benvenuto? Dato che i tentativi di riprova stanno fallendo, dovrei semplicemente eliminare questi errori e procedere?
Mi è difficile immaginare come l’user_id potrebbe essere non valido.
Probabilmente sì, ma dovrai capire quali utenti hanno fallito e perché. Sono comparsi errori quando hai incollato i comandi? Se non riesci a scoprirlo, dovrai esaminare gli utenti esistenti e quelli che ti aspetti che esistano, per vedere qual è la differenza.
Se non hai un modo semplice per scorrere indietro attraverso le informazioni, dovresti lavorare in batch più piccoli in modo da poter verificare più facilmente il loro avanzamento.
Non sono stato avvisato di questo fino a molto dopo, quindi non c’era modo di tornare indietro. È possibile che questi errori si verifichino quando un indirizzo email importato esiste già nel sistema: posso testarlo. Tutti gli utenti che mi aspettavo venissero creati lo sono stati.
Ma ciò che non riesco a capire è se ci sia qualche connessione tra le informazioni in questa schermata e qualsiasi cosa potrei cercare in Discourse. Gli email_tokens sono qualcosa che può essere collegato ad altre informazioni?
Sembra che dovrò continuare a farlo in piccoli lotti e vedere se riesco ad associare un errore a uno di questi messaggi.
Si è scoperto che questi errori venivano generati ogni volta si verificava un errore nell’importazione, come ad esempio nomi utente superiori a 20 caratteri, due caratteri speciali consecutivi in un nome utente o, forse, l’email già in uso (ho notato risultati incoerenti in quel caso). Ho semplicemente corretto ogni problema e proseguito, eliminando infine tutti gli errori da Sidekiq.