Il problema si presenta anche con alcuni siti per adulti, dove i membri stavano cercando di condividere link; ho fatto un rapido test incollando diversi URL video da varie fonti e anche diversi dei principali siti per adulti non funzionano.
Sembra un bug relativamente serio, soprattutto perché impatta l’incorporamento dei video di Facebook. I miei membri (meno esperti di tecnologia) amano condividere link a contenuti su Facebook proprio perché è così popolare e universale. Inoltre, se qualcuno invia quell’URL in un messaggio, viene convertito in qualcosa che non funziona e l’URL originale scompare. Quindi non è nemmeno possibile accedere a quell’URL se lo si volesse… non è più disponibile in alcun modo.
Quindi… è possibile dire a Discourse di NON tentare di incorporare automaticamente i video da quei domini? Stavo cercando un’impostazione tipo “blocca l’incorporamento di media per URL contenenti queste parole”, dove potrei aggiungere quei domini. (O forse una lista bianca di URL approvati come YouTube e Vimeo, per prevenire futuri problemi con nuovi siti.)
Se non è possibile, c’è una soluzione rapida che posso applicare ai miei forum per risolvere?
Sì, direi che è fondamentale. Per me non è un grosso problema se Discourse non supporta i video di Facebook. È un grosso problema quando un membro incolla un link (cosa tutt’altro che insolita) e viene visualizzato un messaggio di errore… e il link originale viene perso. Ho diversi messaggi del genere nel mio forum in questo momento. Noi amministratori li stiamo correggendo manualmente man mano che li rileviamo, ma ovviamente non è una soluzione ideale.
Credo che si tratti di un bug serio, solo nel senso che Facebook (insieme ad altri siti video con cui l’ho testato) è estremamente popolare.
Mi piacerebbe trovare una soluzione rapida… fatemi sapere se posso aiutare?
La soluzione più rapida qui sarebbe aggiungere www.facebook.com all’impostazione: onebox domains blacklist. In questo modo, onebox non tenterà di incorporare i video di facebook.com.
Il collegamento video sopra riportato mostra l’errore: Bad URL timestamp.
Anche il collegamento nel tag og:image mostra lo stesso errore.
Non abbiamo alcuna informazione da mostrare nella onebox di Facebook tranne il titolo del video. Penso che dovremmo codificare a mano la onebox per mettere in blacklist i collegamenti video di Facebook.
A proposito, ricordo che questo accade anche su altri siti oltre a Facebook; un membro ha provato a pubblicare un link a una pagina video su xvideos.com ed è fallito anch’esso. (Avviso NSFW! È ASSOLUTAMENTE un sito per adulti!) L’ho testato con alcuni altri siti e ho riscontrato lo stesso problema.
Non credo che il link scadrà perché l’URL punta fondamentalmente a un plugin di Facebook che incorpora il video per qualsiasi link video passiamo nel parametro href.
Tieni presente che il blocco del video che non funziona indica solitamente che l’errore risiede nel sito che stai cercando di incorporare. Nel caso di Facebook, era dovuto alle restrizioni eccessive di Facebook, che consentivano la riproduzione del video solo per un determinato periodo.
Di solito aggiriamo questi errori solo per i siti molto popolari (ad esempio: Instagram), in modo che la comunità più ampia possa trarne beneficio. Se il sito non è popolare e hai bisogno di incorporarlo sul tuo sito, il metodo consigliato è creare un plugin personalizzato aggiungendo un motore Onebox personalizzato per quel sito.
Hmm. Esiste un modo per includere nella whitelist i domini che OneBox cercherà di incorporare? Se non è così, sembra che ci troviamo in questa situazione:
Gestisco un forum della comunità dove i membri amano collegarsi a siti con video. (Questi potrebbero essere qualsiasi sito, naturalmente… al momento non lo sappiamo.)
Se un sito presenta un errore nel codice che impedisce il corretto funzionamento dell’incorporamento, Discourse altera l’incorporamento (brutto), e peggio ancora, rimuove l’URL originale così che gli altri non possano vedere cosa l’OP stava cercando di condividere.
Non sembra che il punto 2 dovrebbe essere: “Se un sito presenta un errore nel codice che impedisce il corretto funzionamento dell’incorporamento, Discourse smette di tentare l’incorporamento e lascia semplicemente passare il link?”
Non posso risolvere questo problema con la blacklist perché non so quali domini siano interessati da questo problema, e naturalmente, qualsiasi sito potrebbe avere questo problema in futuro. Proprio come abbiamo visto qui con Facebook.
Ok, va bene. Non ho una chiara idea di quanto sia grave il problema; gestirli manualmente è un’ottima soluzione se non ci sono molti domini con questo problema.
Credo comunque che Discourse dovrebbe gestire i dati esterni malformati in modo più elegante, invece di “generare un enorme messaggio di errore e rimuovere il contenuto più importante dal post dell’OP”—e credo che probabilmente la pensi anche tu così. Ma per ora la blacklist è un workaround accettabile. Grazie.