Ciao, ho effettuato 2 installazioni di prova con il backup della mia migrazione Drupal, che ho ripristinato su nuove istanze di Discourse in un VPS diverso con FQDN correttamente configurato e email funzionante. L’istanza di importazione utilizzava solo l’indirizzo IP del VPS e non aveva la posta elettronica configurata. Non sono sicuro se ciò abbia a che fare con questo problema, ma in entrambi i miei test di ripristino del backup, dopo che il ripristino è completo e mi porta alla pagina di creazione dell’account amministratore, non riesco ad attivare l’account perché non invia l’email. Sono riuscito a risolvere questo problema con: launcher enter app, rake admin:create. Dopo di che posso accedere all’applicazione web ed eseguire correttamente i test di posta elettronica, e se abilito le email per tutti gli utenti, gli altri account utente possono ricevere correttamente l’email di reimpostazione della password dimenticata. Quindi questo sembra essere un bug con l’impostazione predefinita dopo il ripristino di nessuna email per i non staff. Suppongo che dovrebbe considerare gli indirizzi email definiti come utenti amministratori come staff anche prima che i loro account vengano convalidati.
Ciò suggerisce che lo script di importazione non ha creato un account admin. Se effettui semplicemente l’accesso e/o crei un account utilizzando l’indirizzo email developer_email, andrà tutto bene.
È probabile che il ripristino del backup abbia disattivato le email per i non staff e che quell’utente non sia staff.
Forse? È sicuramente un problema dell’uovo e della gallina con un nuovo sito e una migrazione. Penso che se aggiungi il tuo utente a developer_emails funzionerà.
L’altra cosa che puoi fare è aggiungere qualcosa di simile al tuo script:
User.create(username: 'pat-the-admin', email: 'pat@user.com',password: 'very-safe-123', active: true, name: "Pat User") unless User.find_by_email('pat@user.com`)
Grazie per la risposta Jay. Sì, sembra che sia successo proprio questo. Eppure, in qualche modo, dopo aver usato la console per attivare il mio nuovo account amministratore temporaneo e aver controllato l’elenco degli utenti, ho visto che il mio precedente nome utente Drupal che aveva i permessi di amministratore Drupal ha ricevuto automaticamente lo stato di amministratore Discourse.
Nel mio app.yml ho:
DISCOURSE_DEVELOPER_EMAILS: 'new-discourse-user@email.com,old-drupal-user@email.com'
Sì. Sospetto che un utente non sia staff finché l’account non viene attivato. Quello che faccio di solito è usare un’autenticazione Google sui miei siti di importazione e assicurarmi che le persone che voglio possano accedere siano in DEVELOPER_EMAILS e abbiano un indirizzo Gmail.