Discorso personalizzato con funzionalità limitate

Ciao Team,
sto lavorando a un piccolo progetto in cui stiamo personalizzando Discourse per indirizzare direttamente l’utente a “un argomento”, con molte personalizzazioni lato client. L’utente atterra direttamente sull’argomento e può semplicemente pubblicare o rispondere al thread. Discourse viene caricato in una webview all’interno di un’app mobile. Ho anche rimosso il composer originale e ne ho implementato uno personalizzato, con alcune opzioni eliminate. Il composer personalizzato rimane sempre fissato in fondo alla pagina aperta per rispondere rapidamente ai post degli utenti.

Utilizziamo una configurazione minima di 2 GB (senza Docker). Quando un utente si registra al forum, lo reindirizziamo (lato client) a un argomento; a volte questo reindirizzamento richiede tra 10 e 25 secondi. Ho provato altri siti web, come swift.org, e il loro Discourse è sufficientemente veloce nel caricamento delle pagine: ci vogliono tra 3 e 6 secondi. Ho ispezionato le schede di rete: vengono caricati gli stessi file JS e CSS dalla rete; l’unica differenza è che la versione mobile carica “mobile.css”.

Qual potrebbe essere il problema con il nostro Discourse personalizzato? Avete qualche indicazione per ottimizzarlo? Pensate che sia necessario aumentare le specifiche del server? La base di clienti è di poche centinaia di utenti; attualmente ci sono solo un paio di utenti (sviluppatori) e stiamo riscontrando questo problema.

Non hai seguito la installazione standard ufficiale di Discourse, ma hai invece eseguito un’installazione per lo sviluppo? Quello che descrivi sembra essere il comportamento atteso per un’installazione di sviluppo.

Hai apportato le tue modifiche in un plugin o hai fatto un fork?

4 Mi Piace

Sì, ho fatto un fork. Non ho usato Docker; ho apportato alcune personalizzazioni lato server e principalmente modifiche lato client come JS e CSS. La documentazione ufficiale per l’installazione non era chiara riguardo alla configurazione del codice personalizzato. Potresti dirmi dove posso trovare la configurazione Docker con codice personalizzato? In sostanza, voglio solo clonare il codice dal mio repository. [Sono nuovo a Docker]

Il tuo codice personalizzato dovrebbe essere sempre costruito come un plugin, non come un fork del core.

Sono d’accordo, non hai un’installazione di produzione. Ottieni un’installazione di sviluppo appropriata, crea il tuo plugin e mettilo su un’installazione di produzione adeguata.

3 Mi Piace

Consulta la Guida per sviluppatori ai temi di Discourse e la Guida per principianti alla creazione di plugin per Discourse, parte 1: Creazione di un plugin di base.

1 Mi Piace

Per “codice personalizzato” intendo non toccare il nucleo di Discourse. Solo alcune modifiche CSS e cambiamenti in JS per adattarci alle nostre esigenze. Volevamo semplicemente reindirizzare gli utenti (in base a determinate impostazioni) direttamente alla schermata di discussione dell’argomento (come questa).

I plugin servono per aggiungere nuove funzionalità, corretto?

È almeno in parte vero che se stai modificando solo JavaScript e CSS, probabilmente puoi apportare tutte le tue modifiche utilizzando i Componenti del Tema. Se devi apportare modifiche al backend in Rails, avrai bisogno di un plugin.

Ti consiglio di iniziare dal link per lo Sviluppatore di Temi sopra e vedere se riesci a apportare le tue modifiche nei componenti del tema.

3 Mi Piace