Ciao a tutti,
Recentemente ho scritto un componente tema di Discourse (GitHub - Beholder-Vision/discourse-insert-model-3d: A Discourse theme component for adding 3D models to topics) che consente agli amministratori di Discourse di abilitare il caricamento e la visualizzazione di modelli 3D sui loro forum.
All’inizio sembrava funzionare bene finché non ho ricevuto una segnalazione che alcuni modelli caricati erano scomparsi, e poi controllando il mio forum ho visto che anche gli asset caricati (modelli 3D e immagini di anteprima) erano stati eliminati Insert Model 3D - #2 by patrickemin.
Leggendo la documentazione (Understanding Uploads, Images, and Attachments), avevo presunto che gli asset caricati sarebbero stati a posto perché referenziati da un post, ma dopo aver approfondito, ho trovato questo codice, discourse/app/models/post.rb at 03bb43f7468d3aa6e73bba0805193ae50c7ec2d5 · discourse/discourse · GitHub che sembra fare il lavoro di identificare gli upload sul server. Da quello che ho capito, un file caricato viene conteggiato come referenziato da un post solo se è referenziato da uno di un numero limitato di tag HTML. Quindi un upload collegato verrà riconosciuto se referenziato dall’attributo href di un elemento <a> ma non se è referenziato dall’attributo src di un elemento <model-viewer> (che è ciò che aggiunge il mio nuovo componente tema).
Qualcuno che ha familiarità con quel codice può confermare se la mia comprensione qui è corretta o meno? Se è corretta, penso che le persone che creano componenti tema possano contrassegnare gli asset come upload generando un link <a> nascosto che fa riferimento all’asset, ma sarebbe molto utile se la documentazione (Understanding Uploads, Images, and Attachments) potesse essere aggiornata per evidenziare questo tranello.
Molte grazie
Alan