Plugin Locations 🌍

Quindi, un anteprima di alcuni lavori prototipo che sto realizzando.

Intendo offrire l’accesso anticipato a questo per i sostenitori attuali e recenti per un periodo (indipendentemente dal livello di sponsorizzazione).

In futuro, offrirò l’accesso anticipato ad alcune nuove funzionalità a partire da 7$/mese per singoli sponsor o piccole comunità e 40$/mese per le aziende.

5 Mi Piace

Gli inviti iniziali per l’accesso anticipato sono appena stati inviati agli sponsor attuali. Presto estenderò questa possibilità anche agli ex sponsor; l’accesso rimarrà attivo per un certo periodo, dopodiché sarà necessario mantenere un livello minimo di sponsorizzazione.

La lista degli sponsor viene revisionata quotidianamente, quindi ti invito a valutare una sponsorizzazione se desideri utilizzare le ultime funzionalità relative alle Locations e/o se sei semplicemente interessato a sostenere il mio lavoro.

Le funzionalità verranno migrate al repository pubblico caso per caso e con un certo ritardo…

3 Mi Piace

Ho appena implementato la fantastica Determinazione automatica della posizione dell’utente, che richiede una corretta configurazione di MaxMind. Questo è stato fatto su una nuova istanza.

Il nuovo file app.yml è splendido e snello, ma non include più i commenti sulle variabili d’ambiente MaxMind.

Se si vuole rendere tutto più accessibile anche agli amministratori di sistema self-hosting meno esperti, potrebbe essere necessario fornire una guida chiara e indirizzarli a questo argomento:


Inoltre - una piccola questione di UX

Appare un link alla mappa che non desideravo (almeno nel mio caso) nella barra laterale, e questo non è gestito da alcuna impostazione. L’ho nascosto in questo modo:

// nascondi il link alla mappa degli utenti
.sidebar-sections li[data-list-item-name="users map"] {
    display: none;
}

Forse è il momento di deprecare sia questo sia il link alla mappa degli argomenti (controllato da un’impostazione)? Ora possono essere aggiunti facilmente tramite l’interfaccia standard, se l’amministratore lo desidera.

1 Mi Piace

I link che l’amministratore aggiunge alla barra laterale non sono attualmente traducibili. Quindi, per una comunità in cui gli utenti potrebbero preferire lingue dell’interfaccia diverse, il plugin che aggiunge il link alla barra laterale offre la possibilità di tradurli e visualizzarli in più lingue.

2 Mi Piace

Ho notato di non poter autorizzare la geolocalizzazione dei topic per una categoria

Non viene proposta l’opzione per salvare le modifiche :thinking: (sto utilizzando la versione 2026.5.0-latest)

1 Mi Piace

Questo dovrebbe essere risolto ora.

La correzione sarà distribuita nelle versioni Early Access e pubbliche del repository, insieme a una serie di correzioni di compatibilità.

Come parte di questo lavoro, ho aumentato la differenza tra le versioni.

La versione Early Access, accessibile agli Sponsor con privilegi sufficienti, include le seguenti funzionalità che la versione pubblica di Locations attualmente non possiede:

Titolo Descrizione
Mappa utenti-globo Aggiunge una vista interattiva del globo 3D per la Mappa Utenti, con avatar posizionati in base alla località, rotazione tramite trascinamento/tocco, zoom, reset, focus sulla ricerca, clic sulle schede utente e mappatura bump sempre attiva.
Salvaschermo globo Salvaschermo opzionale e sperimentale che mostra un globo 3D in rotazione con gli avatar degli utenti sotto l’intestazione durante l’inattività.
Filtri avanzati per la mappa utenti Aggiunge controlli per il limite dei risultati, il tipo di ricerca, il termine di ricerca e il filtraggio per gruppi sulla Mappa Utenti.
Filtro argomenti vicini Aggiunge un filtro sperimentale per gli argomenti vicini basato sulla distanza dalla posizione attuale dell’utente.
Ricerca della posizione utente basata su IP Stima e memorizza automaticamente le posizioni degli utenti dai dati IP, con modalità di attivazione configurabile, granularità, tempo di attesa, risoluzione tramite GeoNames, comportamento da saltare se già esistente e registrazione dei log di debug.

Ciò significa che la versione pubblica mantenuta è stata leggermente ridotta. Temo che ciò sia necessario per garantire che i miei sponsor ricevano un beneficio sufficiente.

Se desideri queste funzionalità aggiuntive, valuta di sponsorizzarmi assicurandoti di scegliere un piano mensile che includa l’accesso anticipato. Sponsorizzandomi al livello corretto ti darà accesso alla versione Early Access entro 24 ore.

3 Mi Piace

Grazie @merefield per la tua velocità :+1:.

1 Mi Piace

Mi sono appena imbattuto in un avviso di deprecazione con l’ultima versione di Discourse:

[PLUGIN discourse-locations] AVVISO DI DEPRECAZIONE: L’uso di api.modifyClass su model:composer è deprecato. Utilizzate invece le API addModelField, addModelAccessor/addModelGetter/addModelSetter, addModelMethod, addModelSaveProperty e addModelCallback. [deprecato da Discourse 2026.8] [id deprecazione: discourse.modify-class-model]

Ho provato con il mio amico immaginario, ma sembra essere al di sopra delle mie rudimentali capacità di programmazione… :see_no_evil_monkey:

1 Mi Piace

FYI:

[Admin Notice] Plugin 'discourse-locations' contains code which needs updating. (id:discourse.modify-class-model)

Ho anche io lo stesso problema:

Questo problema è stato risolto grazie al contributo di @cvx :folded_hands: (in realtà, 5 giorni fa! :sweat_smile: )

PR recenti

PR Scopo principale Autore
#168 Aggiornamento delle dipendenze Ruby e JavaScript per risolvere gli avvisi di sicurezza. angusmcleod
#169 Sostituzione dell’uso deprecato di Composer modifyClass con le moderne API di estensione dei modelli. cvx
#171 Espansione dei test predefiniti delle posizioni di Composer e correzione della sincronizzazione delle posizioni durante il cambio di categoria. merefield
#172 Sincronizzazione del linting del plugin e degli strumenti di sviluppo con l’attuale scheletro dei plugin Discourse. merefield
#173 Aggiornamento della gemma Ruby json da 2.21.1 a 2.21.2 per correggere una vulnerabilità use-after-free. dependabot
#174 Ripristino della gestione degli errori della ricerca delle posizioni, prevenzione di richieste di geocodifica vuote e miglioramento delle protezioni della mappa e della copertura dei regressioni. merefield

Grazie a @angus e @cvx per i loro contributi.

Questa modifica è stata applicata sia al plugin gratuito sia al plugin a accesso anticipato riservato ai sponsor.

Inoltre, il codice responsabile per consentirti di discutere le Posizioni degli Utenti con Chatbot è stato spostato in Locations Early Access per进一步增强 le funzionalità aggiuntive del repository riservato ai sponsor.

5 Mi Piace

Oggi ho back-portato diversi miglioramenti non funzionali dall’early access al plugin principale:

2 Mi Piace

Similmente al plugin Bookmark Notes, ho ristrutturato Locations in modo che, per poterlo utilizzare, sia in ogni caso necessario il plugin base, indipendentemente dal fatto che si sia un sponsor pro o meno.

Questo era necessario per snellire le attività di manutenzione. Inoltre, stabilisce la versione precedentemente denominata “early access” come un’estensione premium definitiva per gli sponsor.

Sostituisci il vecchio comando di clonazione early-access nella tua app.yml con i seguenti, mantenendo il plugin base in prima posizione:

  git clone https://github.com/merefield/discourse-locations.git
  git clone https://YOUR_GITHUB_USERNAME:YOUR_TOKEN@github.com/merefield/discourse-locations-pro-ext.git

Quindi ricostruisci Discourse come di consueto. I tuoi dati di posizione esistenti verranno mantenuti: non è necessaria alcuna migrazione manuale.

L’accesso al tuo repository dovrebbe continuare anche dopo il cambio di nome. Se riscontri problemi di accesso o di installazione, inviami un messaggio e sarò felice di aiutarti.

Grazie per il vostro continuo supporto!

1 Mi Piace

Questa modifica è stata aggiunta come soluzione temporanea tempo fa, ma da allora PM CSS assomiglia di più a un normale argomento, quindi viene rimossa e si torna ad avere l’allineamento corretto dell’etichetta di posizione utente nelle PM, ottimo!:

1 Mi Piace

Esiste un modo per salvare posizioni personalizzate? Ad esempio, una capanna in montagna remota utilizzata da diverse persone: non è facile da cercare, poiché la posizione viene individuata tramite coordinate e non tramite un nome. Sarebbe molto utile poter salvare un set di coordinate lat/lng con un nome personalizzato.

1 Mi Piace

Sì. Puoi salvare solo le coordinate in un Topic.

Assicurati che:

Se disattivi i campi di input, puoi utilizzare la ricerca generica, a condizione che la posizione abbia una voce nel tuo provider di geolocalizzazione:

1 Mi Piace