Plugin Località 🌍

Volevo solo sollevare di nuovo la questione come richiesta di funzionalità.

Ci stiamo appena imbattendo in questo nella nostra community quando pianifichiamo un evento. Le persone ora usano Google Maps per vedere quanto è lontana la località suggerita per l’evento.

Inoltre, è utile quando si controlla quanto è lontano l’altro utente. (Gestiamo un forum di immersioni subacquee e le persone cercano compagni di immersione nel nostro forum.)

3 Mi Piace

@Roi, potresti essere interessato a questo:

Con questo rilascio introduciamo la ricerca (sperimentale) in linguaggio naturale per le posizioni degli utenti con Discourse Chatbot :robot: , così puoi chiedergli cose come:

  • “Elenca i cinque utenti più vicini alla mia posizione” … (se hai registrato una posizione) … o anche
  • “Elenca tutti gli utenti entro 500 km dalla mia posizione.”
  • “Elenca gli utenti entro 200 km da Berlino.”

Non supporta ancora le posizioni degli argomenti … ma è fatto per 2/3 ed è in lavorazione …

C’è una migrazione dei dati in questo rilascio, quindi fammi sapere se qualcuno ha problemi e cercherò di aiutarti.

8 Mi Piace

So che questo è ancora un lavoro in corso, quindi potresti già saperlo…

  1. A volte, quando apro la Mappa Utente, ottengo una mappa vuota, cioè la mappa dei paesi visualizzata ma nessun utente su di essa. Se aggiorno la pagina, gli utenti mappati riappaiono. Non ho trovato un modo garantito per replicare questo problema, ma vedo la mappa vuota almeno il 50% delle volte in cui apro la mappa utente. La mappa vuota sembra apparire solo sulla mappa utente. Non l’ho vista sulla mappa degli argomenti, almeno finora.

  2. C’è una casella bianca vuota a sinistra dei campi dei pulsanti di opzione nome/nome utente/ecc., ad esempio

image

1 Mi Piace
  1. Sì, la soluzione non è perfetta. Al momento non è il mio obiettivo. PR accettato.

  2. è del tutto intenzionale: è una casella di ricerca.

1 Mi Piace

Ahhh! Così è.

Ho appena trovato qualcos’altro. La mia mappa degli argomenti non ha molte voci, ma negli Stati Uniti ho 3 raggruppate sulla costa orientale e due raggruppate sulla costa occidentale. Se clicco sul cluster della costa orientale, si ingrandisce per mostrare le tre singole posizioni degli argomenti. Se clicco su una di quelle posizioni, invece di aprire l’argomento associato, si ingrandisce per mostrare le due posizioni della costa occidentale. Questo è ripetibile: provalo sul mio sito https://discourse.weather-watch.com/map

2 Mi Piace

Molto curioso davvero! Stranamente funzionano bene sui miei dati. Noto anche sulla tua mappa, c’è un errore quando si passa il mouse sopra un cluster.

La versione di Leaflet è seriamente datata… potrebbe essere un problema…

1 Mi Piace

OK, ho aggiornato Leaflet e il suo popolare plugin marker cluster all’ultima versione, vedi se questo aiuta:

Tanto vale romperlo definitivamente con il codice più recente :sweat_smile:

(non ha senso discutere di tali problemi se stiamo eseguendo una libreria obsoleta, chissà cosa hanno risolto!).

3 Mi Piace

Grazie per il rapido aggiornamento. In un test iniziale si sta comportando meglio ora. Non ho riscontrato il bizzarro salto da costa est a costa ovest nei pochi test che ho provato. Farò altri test domani.

2 Mi Piace

Sì, posso vedere. Fantastico! Grazie per aver ricontrollato tempestivamente.

2 Mi Piace

Dopo ulteriori test oggi sembra che l’ultimo aggiornamento abbia risolto la mappa vuota alla prima apertura e anche lo strano salto da costa est a ovest da posizioni raggruppate :grinning:

4 Mi Piace

Grazie per avermelo fatto notare e mi scuso per non essere stato qui per qualche giorno per commentare.

Sembra davvero promettente. :slight_smile: Ma al momento non abbiamo il chatbot AI attivo nel nostro forum. Sto ancora lottando per indovinare quanto ci costerebbe ottenere una chiave API da OpenAI. Poiché gestiamo la nostra community senza scopo di lucro e non facciamo pagare, riusciamo a malapena a coprire i costi del server e del dominio con le poche donazioni e altre cose del genere. Quindi questo è un argomento importante per noi. :wink:

Il link alla risposta nel post con i calcoli di esempio non funziona più. Puoi dirmi dove trovarlo? :slight_smile:

E oltre all’integrazione del chatbot AI: stai pensando di inserire anche un’informazione sulla distanza nel plugin? Quindi semplicemente mostrando la distanza dall’utente attualmente connesso a un evento o a un altro utente, se entrambi hanno impostato una posizione? Questo era il modo semplice in cui veniva gestito nel plugin di localizzazione per phpBB che usavamo in precedenza.

Temo che il post sui costi sia stato eliminato perché l’argomento stava diventando stupidamente lungo. Rimuoverò quello dall’OP. (Fatto)

Suggerisco di provarlo: inizialmente solo per lo staff autorizzato.

No, non ho intenzione di renderlo disponibile nel plugin Locations senza il Chatbot.

Per tutti voi utenti di sottocartelle sovversive, @renato ha gentilmente creato una PR per assicurarsi che i marcatori funzionino in tale configurazione:

Grazie mille @renato! :pray:

5 Mi Piace

GRAZIE!
Una domanda veloce:
Come aggiorno questo plugin? run ./reset-all-repos sembra rischioso.
L’obiettivo è aggiornare solo questo plugin e non perdere i dati dei 180 progetti già inseriti.

1 Mi Piace

Questa non è una domanda specifica del plugin, ma dovrai eseguire tests-passed e aggiornare all’ultima versione per far funzionare tutte le nuove funzionalità.

È sempre rischioso :sweat_smile: , a meno che tu non voglia eseguire un’installazione Stable? (nel qual caso questo aggiornamento non è ancora rilevante).

L’aggiornamento online (da /admin/upgrade) potrebbe funzionare per te, o come al solito, ricostruisci con ./launcher rebuild app - assumendo che tu stia eseguendo un’installazione standard?

Non posso garantire i livelli di manutenzione del resto dei tuoi plugin, ma buona fortuna! :sweat_smile:

1 Mi Piace

Ho riscontrato lo stesso problema.

Ho provato il metodo elencato qui

Ma non funziona.
Sistema Ubuntu, il riavvio non funziona,
./launcher restart app, ./launcher start app non funzionano.

Messaggio di errore durante l’esecuzione di ./launcher rebuild app

......
111:M 12 Dec 2023 12:11:02.199 * DB salvato su disco
111:M 12 Dec 2023 12:11:02.200 # Redis è ora pronto per uscire, arrivederci...


FALLITO
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' fallito con ritorno #<Process::Status: pid 3553 exit 1>
Posizione del fallimento: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec fallito con i parametri {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap fallito con codice di uscita 1
** FALLITO IL BOOTSTRAP ** si prega di scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.

Grazie a @itsbhanusharma

Dice che è causato da un errore precedente, li elenco qui

I, [2023-12-13T00:50:13.222274 #1]  INFO -- : > cd /var/www/discourse & su discourse -c 'bundl                e exec rake db:migrate'
2023-12-13 00:50:18.347 UTC [3597] discourse@discourse ERRORE:  sintassi di input non valida per il tipo double precision: ""

2023-12-13 00:50:18.347 UTC [3597] discourse@discourse STATEMENT:  INSERT INTO locations_topic                 (topic_id, latitude, longitude, name, street, district, city, state, postalcode, country, count                rycode, international_code, locationtype, boundingbox, updated_at, created_at) (
          SELECT
          tc.topic_id,
          (tc.value::json->'geo_location'->>'lat')::FLOAT,
          (tc.value::json->'geo_location'->>'lon')::FLOAT,
          tc.value::json->'geo_location'->>'name',
          tc.value::json->'geo_location'->>'street',
          tc.value::json->'geo_location'->>'district',
          tc.value::json->'geo_location'->>'city',
          tc.value::json->'geo_location'->>'state',
          tc.value::json->'geo_location'->>'postalcode',
          tc.value::json->'geo_location'->>'country',
          tc.value::json->'geo_location'->>'countrycode',
          tc.value::json->'geo_location'->>'international_code',
          tc.value::json->'geo_location'->>'type',
          ARRAY[
            (tc.value::json->'geo_location'->'boundingbox'->>0)::FLOAT,
            (tc.value::json->'geo_location'->'boundingbox'->>1)::FLOAT,
            (tc.value::json->'geo_location'->'boundingbox'->>2)::FLOAT,
            (tc.value::json->'geo_location'->'boundingbox'->>3)::FLOAT
          ],
          tc.updated_at,
          tc.created_at
        FROM topic_custom_fields tc
        WHERE tc.name = 'location'
        AND tc.value NOT IN ('\"{}\"', '{}', '')
        AND tc.value::json->'geo_location'->>'lat' IS NOT NULL
        AND tc.value::json->'geo_location'->>'lon' IS NOT NULL
        )
        ON CONFLICT DO NOTHING

rake aborted!
StandardError: Si è verificato un errore, questa e tutte le migrazioni successive sono state annullate: (StandardError)

ERRORE:  sintassi di input non valida per il tipo double precision: ""
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.0/lib/patches/db/pg.rb: 110:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.0/lib/patches/db/pg.rb: 110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:202:in `run'

#--------------
Causato da:
PG::InvalidTextRepresentation: ERRORE:  sintassi di input non valida per il tipo double precision: "" (PG:: InvalidTextRepresentation)
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.0/lib/patches/db/pg.rb: 110:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.0/lib/patches/db/pg.rb:  110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:202:in `run'

e il messaggio di docker ps

/var/discourse# docker ps
CONTAINER ID   IMAGE                 COMMAND        CREATED             STATUS         PORTS                                                                      NAMES
d3c8e85149a8   local_discourse/app   \"/sbin/boot\"   About an hour ago   Up 6 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   app

Il tuo errore non è lo stesso dell’OP. Potresti fornire il log completo della ricostruzione?

Grazie Bhanu, ho rifatto il processo di ricostruzione e ho generato i “precedenti errori” nel post precedente. Potresti aiutarmi a capire e risolvere il problema?

Sembra un problema con il plugin delle posizioni. Potresti provare a ricompilare senza di esso per vedere se risolve il problema di compilazione?

1 Mi Piace

Ottimo! Ho appena ricostruito il sistema e funziona.

Devo dire che il plugin di localizzazione è molto buono. Spero quindi che sia possibile eseguire il debug relativo.