Avatar

Eigene Bbcodes? (Technics)

by Mardor ⌂, Wednesday, March 14, 2018, 16:16 (2197 days ago)

In der alten Version 1.4.6, von der ich mich jetzt nach vielen Jahren schweren Herzens verabschieden musste, war es relativ einfach, eigene Bbcodes zu ergänzen. Ich hatte mir verschiedene Elemente definiert, mit denen ich Social-Media-Inhalte einbinden konnte.

Eine Zeile wie
[tweet]https://twitter.com/stephenautar/status/971796085743280128[/tweet]
band beispielsweise den entsprechenden Tweet in den Text ein.

Wie funktioniert das in der Version 2.4.8? Ich müsste mir wahrscheinlich eine Funktion „do_bbcode_tweet“ schreiben, die dann wohl über
$bbcode->addCode ('msg', 'usecontent?', 'do_bbcode_tweet', …
aufgerufen würde. Leider durchschaue ich noch nicht so ganz, was die Übergabeparameter $action, $attributes, $content, $params und $node_object genau enthalten. Kann ich die einfach ignorieren, als Validierungsrückgabewert "true" annehmen und mich auf $content konzentrieren?

Der alte Code sah so aus:

$string = preg_replace("#\[tweet\](.+?)\[/tweet\]#is", "\n<blockquote class=\"twitter-tweet\" data-lang=\"de\">\n<a href=\"\\1\">Link zum Tweet</a></blockquote><script async src=\"//platform.twitter.com/widgets.js\" charset=\"utf-8\"></script>", $string);
Avatar

Eigene Bbcodes?

by Mardor ⌂, Wednesday, March 14, 2018, 19:59 (2197 days ago) @ Mardor

Hat sich erledigt. Es funktioniert! :-)

https://bauforum.wirklichewelt.de/index.php?mode=entry&id=11585

Ich habe die functions.inc.php an zwei Stellen angepasst:

Eine neue Funktion:

function do_bbcode_tweet($action, $attributes, $content, $params, $node_object)
 {
  global $settings;
  if(!is_valid_url($content))
     {
      return false;
     }
    else
   {
    return '<blockquote class="twitter-tweet" data-lang="de"><a href="'.htmlspecialchars($content).'">Link zum Tweet</a></blockquote><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>';
   }
 }
 

Eine Ergänzung in function html_format:

    if (true) //($settings['bbcode_tweet']==1)
     {
      $bbcode->addCode ('tweet', 'usecontent', 'do_bbcode_tweet', array (), 'tweet', array ('block', 'quote'), array ());
     }
 
Avatar

Dialogtext erscheint nicht

by Mardor ⌂, Thursday, March 15, 2018, 14:04 (2196 days ago) @ Mardor

Hm, ich dachte, ich hätte verstanden, wie die BBCode-Buttons funktionieren, aber irgendwas fehlt noch. Ich bekomme es einfach nicht hin, dass im Dialogfenster, in dem eine URL eingegeben werden soll, ein benutzerdefinierter Text erscheint, den ich vorher in die german.lang eingetragen habe. Die Dialogbox ist - mit Ausnahme eines sinnfreien Hinweistextes, der bei mir in allen Button-Dialogen auftaucht und den ich gern loswäre - leer:
[image]

Ich wollte, dass in meinem Forum Google-plus-Postings eingebunden werden können. Das funktioniert nun auch und das Ergebnis sieht so aus: https://bauforum.wirklichewelt.de/index.php?id=11440

Ich hätte es aber gern, dass beim Druck des neuen BBCode-Buttons ein hilfreicherer Text als oben angezeigt wird.

Sechs notwendige Schritte zur Button-Einbindung habe ich herausgefunden, ein siebter scheint noch zu fehlen. Folgendes habe ich unternommen:

Datenbank:

INSERT INTO `Datenbankname`.`mlf2_settings` (`name`, `value`) VALUES ('bbcode_gplus', '1');
 

german.lang:

[posting]
bbcode_gplus_label =              'Google+'
bbcode_gplus_title =              'Google+ Posting einfügen'
bbcode_gplus_instruction =        '[googleplus]https://plus.google.com/+example/posts/3i14I5g26S[/googleplus]'
[general]
bbcode_gplus_code =               'Link zum Eintrag, z.B. https://plus.google.com/+example/posts/3i14I5g26S' 

Der Text bbcode_gplus_instruction wird anscheinend überhaupt nicht verwendet, kann das sein?

Subtemplate posting.inc.tpl (dort die gewünschte Button-Position suchen):

{if $settings.bbcode_gplus}
<dt id="googleplus" title="{#bbcode_gplus_label#}">{#bbcode_gplus_title#}</dt>
<dd>{#bbcode_gplus_instruction#}</dd>
{/if}

functions.inc.php Teil 1:

/**
 * processes BBCode googleplus
 */
function do_bbcode_gplus($action, $attributes, $content, $params, $node_object)
 {
  global $settings;
  if(!is_valid_url($content))
  {
   return false;
  }
 else
   {
 return '<div class="g-post" data-href="'.htmlspecialchars($content).'"></div><br /><a href="'.htmlspecialchars($content).'">Link zum Artikel auf Google+</a><script async src="https://apis.google.com/js/platform.js" defer></script>';
   }
 }

functions.inc.php Teil 2, in function html_format:

if ($settings['bbcode_gplus']==1)
 {
  $bbcode->addCode ('googleplus', 'usecontent?', 'do_bbcode_gplus', array ('usecontent_param' => 'default'), 'link', array ('block', 'quote'), array ('link'));
 }

posting.js, in var createBBCodeButton = function(button, list) …

case "googleplus":
bbCodeButton = new BBCodePromtButton( button, lang["bbcode_gplus_code"] ); 
break;

Wer kann mir sagen, was ich vergessen habe?

Avatar

Dialogtext erscheint nicht

by Auge ⌂, Thursday, March 15, 2018, 15:13 (2196 days ago) @ Mardor

Hallo

Ich bin nicht zu allen Punkten aussagefähig. Ich picke mir also jene Punkte heraus, zu denen ich auch etwas sagen kann.

Hm, ich dachte, ich hätte verstanden, wie die BBCode-Buttons funktionieren, aber irgendwas fehlt noch. Ich bekomme es einfach nicht hin, dass im Dialogfenster, in dem eine URL eingegeben werden soll, ein benutzerdefinierter Text erscheint, den ich vorher in die german.lang eingetragen habe. Die Dialogbox ist - mit Ausnahme eines sinnfreien Hinweistextes, der bei mir in allen Button-Dialogen auftaucht und den ich gern loswäre - leer:

[image]

Der Hinweistext dürfte der browsereigene Platzhalter sein. Wenn ich richtig liege und definierter Text angezeigt würde, gäbe es ihn nicht.

Ich wollte, dass in meinem Forum Google-plus-Postings eingebunden werden können. Das funktioniert nun auch und das Ergebnis sieht so aus: https://bauforum.wirklichewelt.de/index.php?id=11440

Frage: Da das auch nur Links mit stinknormalen URLs sind, warum benutzt du nicht den Link-Button, um diese Links zu erzeugen?

Sechs notwendige Schritte zur Button-Einbindung habe ich herausgefunden, ein siebter scheint noch zu fehlen. Folgendes habe ich unternommen:

Datenbank:

INSERT INTO `Datenbankname`.`mlf2_settings` (`name`, `value`) VALUES ('bbcode_gplus', '1');

Eine Einstellung benötigst du nur, wenn du die Funktion an- und abschaltbar gestalten willst.

german.lang:

[posting]
bbcode_gplus_label =              'Google+'
bbcode_gplus_title =              'Google+ Posting einfügen'
bbcode_gplus_instruction =        '[googleplus]https://plus.google.com/+example/posts/3i14I5g26S[/googleplus]'

Das sind, wenn ich den unten aufgeführten Code aus dem Subtemplate für das Erstellen von Postings richtig deute, die Strings für die Anzeige der BB-Code-Funktionsliste bzw. Buttonleiste (Anzeige ohne und mit JS).

Der Text bbcode_gplus_instruction wird anscheinend überhaupt nicht verwendet, kann das sein?

Woher sollen wir das wissen? Wir können nicht prüfen, was du in deinem Forum tust und baust. Aber …

Subtemplate posting.inc.tpl (dort die gewünschte Button-Position suchen):

{if $settings.bbcode_gplus}
<dt id="googleplus" title="{#bbcode_gplus_label#}">{#bbcode_gplus_title#}</dt>
<dd>{#bbcode_gplus_instruction#}</dd>
{/if}

… in dem Template wird die Liste der verfügbaren BB-Codes erstellt, die angezeigt wird, wenn JavaScript abgeschaltet ist. Schalte JS aus und du solltest in der Liste an der Stelle, an der du deinen Code eingefügt hast, die Beschreibung sehen. Hier mal zum Vergleich die Anzeige aus meinem Forum, natürlich ohne den zusätzlichen Button.

[image]

[general]
bbcode_gplus_code =               'Link zum Eintrag, z.B. https://plus.google.com/+example/posts/3i14I5g26S'

Ist das der Text, der im JS-Dialog angezeigt werden soll?

Tja, an dieser Stelle ist Micha der kompetente Ansprechpartner.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Dialogtext erscheint nicht

by Micha ⌂, Thursday, March 15, 2018, 16:02 (2196 days ago) @ Auge

Hi,

Tja, an dieser Stelle ist Micha der kompetente Ansprechpartner.

Ich würde die posting.js mal studieren und bspw. schauen, wie Bildeinfügen realisiert ist.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Avatar

Dialogtext erscheint :-)

by Mardor ⌂, Thursday, March 15, 2018, 18:26 (2196 days ago) @ Micha

Danke, das hat funktioniert!

Ich habe nun, weil mein zur german.lang hinzugefügter Text nicht in der Dialogbox erschien, den bereits vorhandenen Textbaustein lang["bbcode_link_url"] verwendet.

case "tweet":
bbCodeButton = new BBCodePromtButton( button, lang["bbcode_link_url"], "https://twitter.com/" ); 
break;

[image]

Avatar

Dialogtext erscheint :-)

by Micha ⌂, Friday, March 16, 2018, 08:05 (2195 days ago) @ Mardor

Hallo,

Danke, das hat funktioniert!

Kein Ding.

Ich habe nun, weil mein zur german.lang hinzugefügter Text nicht in der Dialogbox erschien, den bereits vorhandenen Textbaustein lang["bbcode_link_url"] verwendet.

Du hast die Referenz auf Deinen Text auch korrekt in der js_defaults.inc.php mit integriert? Wenn nicht, füge dort mal die Zeilen in Anlehnung an die Link-/Bildeinfügenoptionen hinzu.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Avatar

Dialogtext erscheint :-)

by Auge ⌂, Friday, March 16, 2018, 09:19 (2195 days ago) @ Micha

Hallo

Du hast die Referenz auf Deinen Text auch korrekt in der js_defaults.inc.php mit integriert? Wenn nicht, füge dort mal die Zeilen in Anlehnung an die Link-/Bildeinfügenoptionen hinzu.

Jetzt, da ich deinem Link gefolgt bin, möchte ich ansprechen, dass ich immer mehr zu der Meinung neige, dass wesentliche Teile des JS- und JS-bezogenen Codes zum Theme gehören und auch dort verwaltet werden sollten.

Einerseits sind da die Änderungen, wie sie Martin vornimmt, um neue Funktionen wie zusätzliche BB-code-Buttons einzufügen. Er muss zukünftig bei jedem Update aufpassen, dass er sie nicht aus Versehen überschreibt, falls er nicht eine eigene Kopie des Default-Themes erzeugt und aktiviert haben sollte. Andererseits sind da Änderungen in der HTML-Struktur, wie z.B. andere Klassennamen und IDs, die beispielsweise in meinem Theme dazu führen, dass in der Übersicht die Links zu den Ajax-Vorschauen der Postings fehlen (hat mich eine Weile gekostet, dei Ursache zu finden). Auch würde ich die Popups mit JS als Dialog-Felder innerhalb des aufrufenden Dokuments realisieren wollen [1] oder den einen oder anderen mit JS erzeugten oder angesprochenen Link auf Button umbauen.

Mit theme-abhängigem JS wäre es kein Problem, die Angaben zu IDs und Klassen im JS anzupassen, ohne andere IDs und Klassennamen in anderen Themes zu beeinflussen oder mit eigenen Funktionen, die die Default-Funktionen ersetzen, bestimmte Dinge anders zu behandeln. Ich habe mich im aktuellen JS-Code dazu ein wenig umgeschaut, bin aber keineswegs firm genug, beurteilen zu können, was theme-unabhängig immer da sein sollte und was herausgelöst werden und zum Theme verschoben werden könnte.

Deswegen und wegen bisher nicht erfolgter Absprachen habe ich da auch noch nichts angefasst und weiß auch nicht, wie hoch die Priorität ist, die wir dem Gebiet zumessen sollten (andere Änderungen sind mMn dringender). Schön wäre eine durchdachte Trennung des Codes aber schon.

Tschö, Auge

[1]: Das Popup wollte ich mit event.preventDefault unterdrücken bzw. erst garnicht erzeugen, jenachdem, wie der Codeaufbau ist (wie gesagt, ich habe in den JS-Code nur einen mehr oder minder flüchtigen Blick geworfen)

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Dialogtext erscheint :-)

by Micha ⌂, Friday, March 16, 2018, 09:45 (2195 days ago) @ Auge

Hallo,

Jetzt, da ich deinem Link gefolgt bin, möchte ich ansprechen, dass ich immer mehr zu der Meinung neige, dass wesentliche Teile des JS- und JS-bezogenen Codes zum Theme gehören und auch dort verwaltet werden sollten.

Die klare Trennung, die Du da forderst, können wir auf keinem Gebiet realisieren. Wenn Du input-Feldern andere Namen gibst, werden sie auch nicht mehr von den PHP-Funktionen gefunden. Insofern hat man immer gewisse Einschränkungen. Das gilt auch für CSS, PHP und HTML und ist kein JS Problem.

Einerseits sind da die Änderungen, wie sie Martin vornimmt, um neue Funktionen wie zusätzliche BB-code-Buttons einzufügen. Er muss zukünftig bei jedem Update aufpassen, dass er sie nicht aus Versehen überschreibt, falls er nicht eine eigene Kopie des Default-Themes erzeugt und aktiviert haben sollte.

Jeder, der am Default-Template etwas ändert, sollte sich dessen bewusst sein. Das Problem habe ich schließlich auch bei den Sprachdateien. Hier werde ich jetzt nach jedem Update utf-8 wieder ersetzen müssen.

Andererseits sind da Änderungen in der HTML-Struktur

... ausschließlich Dein Problem. Ich weiß nicht, woher die Erwartungshaltung kommen sollte, dass wenn Du bewusst etwas bestehendes zerstörst, anschließend alles noch wie früher funktioniert?!

Mit theme-abhängigem JS wäre es kein Problem

Was hindert Dich, eigene JS Dateien zu erstellen und diese einzubinden?

was theme-unabhängig immer da sein sollte und was herausgelöst werden und zum Theme verschoben werden könnte.

Das Backend hängt zu 100 % am Frontend - die JS Files sind, wie auch die PHP Files, von bestimmten Einträgen in der HTML-Struktur abhängig. Keine JS Funktion ist aber zum Nutzen von mlf nötig. Insofern kannst Du jedes JS-File tatsächlich aus Deinem Template streichen ohne eine Funktionalität zu verlieren. Wenn es Dir also hilft, dann schiebe alle JS-Files in den template Ordner, dann ist das eindeutig.


Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Avatar

Dialogtext erscheint :-)

by Auge ⌂, Friday, March 16, 2018, 10:17 (2195 days ago) @ Micha

Hallo

Jetzt, da ich deinem Link gefolgt bin, möchte ich ansprechen, dass ich immer mehr zu der Meinung neige, dass wesentliche Teile des JS- und JS-bezogenen Codes zum Theme gehören und auch dort verwaltet werden sollten.


Die klare Trennung, die Du da forderst, können wir auf keinem Gebiet realisieren. Wenn Du input-Feldern andere Namen gibst, werden sie auch nicht mehr von den PHP-Funktionen gefunden. Insofern hat man immer gewisse Einschränkungen. Das gilt auch für CSS, PHP und HTML und ist kein JS Problem.

Natürlich ist das kein spezielles JS-Problem, mir ist es nur bei JS begegnet. Dass es unbedingte Abhängigkeiten zwischen den Code-Teilen gibt, ist mir auch klar. Es gibt aber nicht auflösbare aber auch auflösbare Abhängigkeiten. Über Letztere habe ich laut nachgedacht.

Andererseits sind da Änderungen in der HTML-Struktur


... ausschließlich Dein Problem. Ich weiß nicht, woher die Erwartungshaltung kommen sollte, dass wenn Du bewusst etwas bestehendes zerstörst, anschließend alles noch wie früher funktioniert?!

Wow! "Erwartungshaltung", "zerstören" … wahrhaft große Worte. Ich erwarte nicht, dass etwas nach Änderungen "anschließend […] noch wie früher funktioniert", ich überlege, in welche Richtung ich gehen könnte, damit es wieder funktioniert. Eine Richtung wäre, Änderungen zurückzunehmen, eine andere, weitere Änderungen vorzunehmen.

Mit theme-abhängigem JS wäre es kein Problem


Was hindert Dich, eigene JS Dateien zu erstellen und diese einzubinden?

Fehlende Kenntnisse in JS.

Keine JS Funktion ist aber zum Nutzen von mlf nötig. Insofern kannst Du jedes JS-File tatsächlich aus Deinem Template streichen ohne eine Funktionalität zu verlieren. Wenn es Dir also hilft, dann schiebe alle JS-Files in den template Ordner, dann ist das eindeutig.

Das ist ein Lösungsansatz. Danke.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Dialogtext erscheint :-)

by Micha ⌂, Friday, March 16, 2018, 10:49 (2195 days ago) @ Auge

Hallo,

Das ist ein Lösungsansatz.

Wenn Du die JS-Files (oder den Ordner) verschoben hast, dann müsstest Du nur die Pfade noch anpassen. Dann sind nicht alle Probleme gelöst aber wohl ein großer Teil. Nicht alle deshalb, weil wir auch JS-PHP-Abhängigkeiten haben.

Für mich persönlich wäre es im Übrigen ein Nachteil, wenn Du das Verzeichnis verschiebst, da ich meine Template bewusst auf der Struktur des bestehenden erzeuge. Ich nutze also für alle Templates den selben JS-Ordner und habe hierdurch keine redundante Datenhaltung.

Ich sehe das insgesamt nicht ganz so dramatisch, weil die meisten Nutzer nicht mal die Farben des Haupttemplates verändern. Die wenigen, die wirklich Hand an der Struktur des Templates anlegen, haben auf der anderen Seite doch meist soviel Know-How, diese Abhängigkeiten zumindest zu erkennen.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Avatar

Default Theme

by Mardor ⌂, Friday, March 16, 2018, 13:42 (2195 days ago) @ Auge

Einerseits sind da die Änderungen, wie sie Martin vornimmt, um neue Funktionen wie zusätzliche BB-code-Buttons einzufügen. Er muss zukünftig bei jedem Update aufpassen, dass er sie nicht aus Versehen überschreibt, falls er nicht eine eigene Kopie des Default-Themes erzeugt und aktiviert haben sollte.

Das war allerdings mit das erste, was ich gemacht habe. Dass die Default-Template bei Updates überschrieben wird, sollte eigentlich jedem klar sein. Das Ändern der Header-Hintergrundfarbe war da schon etwas komplizierter (weil die Suchbox mit ihrem float:right bei bestimmten Bildschirmauflösungen unten aus dem top-Container herausrutschte, bis der dann ein float:left;width:100%verpasst bekam).

Auf die Dateien functions.inc.php, posting.js und german.lang muss ich bei zukünftigen Updates wohl achtgeben, das stimmt. Ich möchte ja nicht wieder 14 Jahre bei einer Version hängenbleiben, wie ich das mit der 1.4.6b gemacht hatte ;-)

Avatar

Default Theme

by Micha ⌂, Friday, March 16, 2018, 20:32 (2195 days ago) @ Mardor

Hi,

Auf die Dateien functions.inc.php, posting.js und german.lang muss ich bei zukünftigen Updates wohl achtgeben, das stimmt.

Am einfachsten ist es vermutlich, wenn wir diese Feature einfach integrieren. Der Code steht ja inzwischen in diesem Thread und wenn es konfigurierbar ist, hat jeder die Möglichkeit es auch zu aktivieren.

@Auge, wie würdest Du das bewerten?

Ich möchte ja nicht wieder 14 Jahre bei einer Version hängenbleiben,

Du warst wohl s e h r zufrieden. ;-)


Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Avatar

Default Theme

by Mardor ⌂, Saturday, March 17, 2018, 15:55 (2194 days ago) @ Micha

Du warst wohl s e h r zufrieden. ;-)

Und wie! Wenn 1&1 nicht zum Ende des Jahres PHP 5.x abschalten würde, wäre ich auch noch länger bei der alten Version geblieben, mit ihren ganzen, über die Jahre hinzugewachsenen Modifikationen. Die durch PHP7 notwendige Umstellung der ganzen MySQL-Befehle auf die neuen MySQLi-Klassen wäre dann allerdings mehr Arbeit geworden, als mal ein paar Bastelwochenenden einzuschieben, aber wem erzähle ich das?

Inzwischen habe ich nahezu alle meine alten Änderungen eingebaut und mein „altes“ Bauforum erfüllt nun erstmals Googles Kriterien für Mobilgeräte. Das war mir bei der alten Version nie gelungen.

Avatar

Einbindung von einzelnen Diensten

by Auge ⌂, Sunday, March 18, 2018, 14:56 (2193 days ago) @ Micha

Hallo

Auf die Dateien functions.inc.php, posting.js und german.lang muss ich bei zukünftigen Updates wohl achtgeben, das stimmt.


Am einfachsten ist es vermutlich, wenn wir diese Feature einfach integrieren. Der Code steht ja inzwischen in diesem Thread und wenn es konfigurierbar ist, hat jeder die Möglichkeit es auch zu aktivieren.

@Auge, wie würdest Du das bewerten?

Ich bewerte das als allgemein nicht empfehlenswert. Martin geht's um die Einbindung eines oder zweier bestimmter Dienste. So ganz genau kann ich nicht erkennen, ob es nur im Google+ oder nur um Twitter oder um beide Dienste geht, denn er zeigt Code für beide Dienste. Aber schlussendlich sind das Insellösungen für genau und nur diese Dienste, die auf genau nur deren API zugreifen.

Wenn es einen Button gibt, um Seiten von Dienst X einzubinden, warum gibt es keinen für Dienst Y? Wenn es einen Button für Twitter und/oder einen für Google+ gibt, warum keinen für Mastodon, GNU Social, Diaspora, identi.ca oder Tumblr? Nee, das halte ich für keine gute Idee. Das ist wie die Büchse der Pandora. Wenn sie einmal offen ist, gibt es kein Halten mehr.

Grundsätzlich kann jeder mit nur einem Button eine URL, somit einen Link einfügen. Zusatfunktionen wie die von Martin erwähnte Direkteinbindung des Inhalts der verlinkten Resosurce sind so allerdings nicht möglich. Andererseits stellt sich mir die Frage, wie viele Forenbetreiber eine solche Funktion für welche(n) Dienst(e) auch immer überhaupt benötigen/haben wollen. An dieser Stelle halte ich eine vollständige Anleitung, wie man soetwas selbst macht, für zielführender. Die ist übrigens, wenn auch verteilt, ebenfall schon hier. ;-)

Das müsste nur noch einmal in's Reine gebracht werden.

An der Stelle möchte ich mal eine andere Frage zu einem anderen der BB-Code-Buttons in den Raum stellen. Für welche(n) Dienst(e) funktioniert überhaupt der Flash-Button? Ich habe testweise versucht, ein Youtube-Video einzubinden. Ich habe die bei Youtube selbst angebotene URL zur Einbettung angegeben (z.B. diese da: https://youtu.be/JuYUOy0NZ6M), aber mir wird nichts als eine leere Fläche angezeigt, wo ich das Video erwarten würde.

Zwischen hier …

BB-Code wieder entfernt.

… und hier sollte das Video erscheinen (siehe folgenden Screenshot).

[image]

Mit blockiertem JS (NoScript) erscheint die reservierte Fläche mit dem NoScript-Logo, wie im Screenshot zu sehen. Wenn ich alle JS-Quellen erlaube (in dem Fall mylittleforum.net und youtu.be), bleibt die Fläche stattdessen leer. Getestet habe ich hier in der Postingvorschau. Was mache ich falsch?

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Einbindung von einzelnen Diensten

by Auge ⌂, Sunday, March 18, 2018, 15:05 (2193 days ago) @ Auge

Hallo

Ich beantworte mir den Teil mit dem Flash-Button einfach mal selbst.

An der Stelle möchte ich mal eine andere Frage zu einem anderen der BB-Code-Buttons in den Raum stellen. Für welche(n) Dienst(e) funktioniert überhaupt der Flash-Button?

Vermutlich mittlerweile für keinen mehr.

Das Programm generiert folgenden HTML-Code:

<p><!--[if IE]>
    <object type="application/x-shockwave-flash" data="https://youtu.be/JuYUOy0NZ6M" width="612" height="344">
    <param name="movie" value="https://youtu.be/JuYUOy0NZ6M" />
    </object>
    <![endif]-->
    <!--[if !IE]>-->
    <object type="application/x-shockwave-flash" data="https://youtu.be/JuYUOy0NZ6M" width="612" height="344"><param name="movie" value="https://youtu.be/JuYUOy0NZ6M" />
    </object>
    <!--<![endif]--></p>

Mal unabhängig von dem Conditional Comment für IE <!--[if IE]>, der seit IE9 nicht mehr interpretiert wird, also wirkungslos ist, hat mein Firefox nicht einmal mehr ein Flahs-Plugin und das dürfte nicht nur bei mir der Fall sein. Weiterhin war mir so, als dass Youtube (an geeignete Browser?) nur noch HTML5-Video-Elemente ausgibt.

Mittlerweile dürften somit nur noch sehr wenige Besucher ein derart eingebundenes Video zu sehen bekommen, oder?

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Einbindung von einzelnen Diensten

by Micha ⌂, Sunday, March 18, 2018, 15:51 (2193 days ago) @ Auge

Hallo Auge,

Mittlerweile dürften somit nur noch sehr wenige Besucher ein derart eingebundenes Video zu sehen bekommen, oder?

Ich kürze das mal ab: Der Button kann in der gegenwärtigen Form sicher weg. Der notwendige Code, der zu generieren wäre, ist inzwischen:

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/<ID>" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

Ein iframe wäre unter XHTML nicht erlaubt (unter HTML5 schon).

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Avatar

Einbindung von einzelnen Diensten

by Auge ⌂, Sunday, March 18, 2018, 16:27 (2193 days ago) @ Micha

Hallo

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/<ID>" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

Sollten wir den dann nicht aus generieren? Und wie sieht das bei anderen Diensten aus? Den Iframe erzeugt Youtube ja (so war es jedenfalls ursprünglich gedacht), um den Browsertyp und die Unterstützung des HTML5-Video-Elements zu ermöglichen und damit zwischen HTML5Video und Flash-Variante umschalten zu können.

Ein iframe wäre unter XHTML nicht erlaubt (unter HTML5 schon).

Auch mit XHTML 1.0 ist ein Iframe möglich, wenn man denn auf Transitional statt Strict als Sprachvariante setzt.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Einbindung von einzelnen Diensten

by Micha ⌂, Sunday, March 18, 2018, 16:59 (2193 days ago) @ Auge

Hallo,

Sollten wir den dann nicht aus generieren?

Wenn wir das Einbinden von Videos unterstützen wollen, ja. Ich persönlich kann drauf verzichten.

Und wie sieht das bei anderen Diensten aus?

Keine Ahnung. Ich hatte den Code direkt von Deinem Video genommen. Er wird mir von Google so angeboten.

Den Iframe erzeugt Youtube ja

Nein, den gezeigten Code habe ich dort exakt so gefunden, vgl.

[image]


Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Avatar

Einbindung von einzelnen Diensten

by Auge ⌂, Sunday, March 18, 2018, 17:43 (2193 days ago) @ Micha

Hallo

Den Iframe erzeugt Youtube ja


Nein, den gezeigten Code habe ich dort exakt so gefunden, vgl.

[image]

Ah, habe ich es also sowieso falsch gemacht. Ich habe den Teilen-Link mit dem Kopieren-Button kopiert (was man halt so macht) und den Einbetten-Button links daneben als weiteres Bedienelement, der die Ansicht deines Screenshots öffnet, ignoriert. Die Buttons fallen ja in hell- oder mindestens mittelgrau auf weiß auch so unheimlich gut auf.

Davon abgesehen habe ich falsch formuliert. Youtube ist irgendwann vor ein paar Jahren von Flash-Einbettung auf Iframe umgestiegen, um in dem Iframe eine Browsererkennung durchführen zu können. So sollten die modernen Browser mit <video> und die unfähigen mit <object> beliefert werden können. Ob das der einzige Grund war, darf man getrost bezweifeln, dass darin weitere Funktionen z.B. des Trackings ausgeführt werden, zumindest vermuten.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Einbindung von einzelnen Diensten

by Micha ⌂, Sunday, March 18, 2018, 15:55 (2193 days ago) @ Auge

Hi,

Wenn es einen Button gibt, um Seiten von Dienst X einzubinden, warum gibt es keinen für Dienst Y?

Sollten wir dann konsequent sein? Sprich: Keinen dieser Dienste anbieten? Wie Du an Youtube gezeigt hast, schaffen wir es eh gegenwärtig nicht, diese zu pflegen.

warum keinen für Mastodon, GNU Social, Diaspora, identi.ca oder Tumblr?

Weil ich die - bis zu Deinem Posting - gar nicht kannte ;-)

Gruß Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Avatar

Einbindung von einzelnen Diensten

by Auge ⌂, Sunday, March 18, 2018, 16:56 (2193 days ago) @ Micha

Hallo

Wenn es einen Button gibt, um Seiten von Dienst X einzubinden, warum gibt es keinen für Dienst Y?


Sollten wir dann konsequent sein? Sprich: Keinen dieser Dienste anbieten? Wie Du an Youtube gezeigt hast, schaffen wir es eh gegenwärtig nicht, diese zu pflegen.

Lass' "gegenwärtig" raus und ich unterschreibe sofort. Wenn ein unterstützter Dienst etwas an der API ändert, sind wir dran, diese Änderungen nachzuziehen. Selbst bei einem einzigen Dienst (eben Youtube) kriegen wir das nicht oder erst sehr viel später mit. Dass sich bisher nur ein einziger Forenbetreiber dazu gemeldet hat (und das zu einer Zeit, als die Flash-Einbindung offensichtlich noch eben so funktionierte), spricht im Übrigen Bände.

Wenn wir feststellen sollten, dass mit einem Iframe, wie du ihn im anderen Posting zeigtest, nicht ausschließlich Youtube erreicht wird, bin ich für eine Aktualisierung des Codes. Sonst sollte auch das in die Anleitung für eigene Buttons. Siehe dazu auch meine erste Antwort in dem Thread.

warum keinen für Mastodon, GNU Social, Diaspora, identi.ca oder Tumblr?


Weil ich die - bis zu Deinem Posting - gar nicht kannte ;-)

Keinen einzigen von denen? Ich nutze zwar nur einen, Mastodon, kenne aber zumindest die Namen der anderen Dienste, teilweise seit Jahren. :-)

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Einbindung von einzelnen Diensten

by Micha ⌂, Sunday, March 18, 2018, 17:05 (2193 days ago) @ Auge

Hallo,

Lass' "gegenwärtig" raus und ich unterschreibe sofort.

Ich wollte mit meiner Wortwahl zukünftig etwas vorsichtiger umgehen. ;-)

Wenn ein unterstützter Dienst etwas an der API ändert, sind wir dran, diese Änderungen nachzuziehen.

Genau das ist der Punkt. Das ganze wird gerade deshalb so komplex, weil wir beide diese Option scheinbar selbst nie nutzen. In meinen Foren ist sie deaktiviert. Wer ein Video zeigen will, kann mMn. auch ein Link zum Dienst erzeugen.

Siehe dazu auch meine erste Antwort in dem Thread.

Habe ich gelesen und könnte ich mit leben. Ich würde nicht zuviel Herzblut rein strecken, da ich nicht glaube, dass derartige Anpassungen oft vorgenommen werden - insbesondere wenn die Zahl der Nutzer schon so gering ist.

Keinen einzigen von denen?

Nein, keinen von denen... :lookaround:

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Avatar

Einbindung von einzelnen Diensten

by Auge ⌂, Sunday, March 18, 2018, 17:31 (2193 days ago) @ Micha

Hallo

Lass' "gegenwärtig" raus und ich unterschreibe sofort.


Ich wollte mit meiner Wortwahl zukünftig etwas vorsichtiger umgehen. ;-)

Huch, dabei wollte ich doch nur sagen, dass ich dir beipflichte und mit der Auslassung von "gegenwärtig" sogar etwas allgemeiner formulieren würde.

Wie Du an Youtube gezeigt hast, schaffen wir es eh gegenwärtig nicht, diese zu pflegen.

Ohne "gegenwärtig":

Wie Du an Youtube gezeigt hast, schaffen wir es eh nicht, diese zu pflegen.

Das unterschreibe ich ohne weitere Umschweife.

Wenn ein unterstützter Dienst etwas an der API ändert, sind wir dran, diese Änderungen nachzuziehen.


Genau das ist der Punkt. Das ganze wird gerade deshalb so komplex, weil wir beide diese Option scheinbar selbst nie nutzen. In meinen Foren ist sie deaktiviert. Wer ein Video zeigen will, kann mMn. auch ein Link zum Dienst erzeugen.

Ich habe nicht mal ein Forum, das produktiv genutzt wird. Und wenn, würde auch ich, inklusive der Videoeinbindung, diverse Dinge abschalten. Wie du schon schriebst, jeder kann einen Link setzen.

Ich würde nicht zuviel Herzblut rein strecken, da ich nicht glaube, dass derartige Anpassungen oft vorgenommen werden - insbesondere wenn die Zahl der Nutzer schon so gering ist.

Recht hast du. Wenn es nach mir geht, kann er raus. Da er eh nicht mehr funktioniert, mMn schon mit dem nächsten Minor-Release.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Einbindung von einzelnen Diensten

by Micha ⌂, Sunday, March 18, 2018, 20:41 (2193 days ago) @ Auge

Hallo Auge,

Wenn es nach mir geht, kann er raus. Da er eh nicht mehr funktioniert, mMn schon mit dem nächsten Minor-Release.

+1 für Entfernen. Meinen Segen hast Du diesbezüglich.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Avatar

Dialogtext erscheint :-)

by Mardor ⌂, Friday, March 16, 2018, 09:23 (2195 days ago) @ Micha

Ach, das war der fehlende siebte Schritt! Wenn ich anstelle des PHP-Codes zur Textausgabe nur die Variable selbst in die Seite schreiben lasse, ist es natürlich kein Wunder, dass nichts angezeigt wird.

Die js_defaults.inc.php hatte ich bis jetzt tatsächlich noch nicht angesehen.

Avatar

Dialogtext erscheint nicht

by Mardor ⌂, Thursday, March 15, 2018, 18:38 (2196 days ago) @ Auge

Danke für die Antwort!

Der Hinweistext dürfte der browsereigene Platzhalter sein. Wenn ich richtig liege und definierter Text angezeigt würde, gäbe es ihn nicht.

Das hatte ich auch geglaubt. Inzwischen weiß ich, dass man den Text „Unter $URL wird Folgendes angezeigt:“ wohl nicht los wird. Den baut Chrome grundsätzlich in jede Alertbox ein.

Frage: Da das auch nur Links mit stinknormalen URLs sind, warum benutzt du nicht den Link-Button, um diese Links zu erzeugen?

Weil zur URL noch ein paar Attribute und ein Javascript-Aufruf kommen, damit der Tweet eingebettet dargestellt wird.

Eine Einstellung benötigst du nur, wenn du die Funktion an- und abschaltbar gestalten willst.

Das schadet ja nicht – es sei denn, der Datenbankeintrag würde beim nächsten Update verlorengehen.

… in dem Template wird die Liste der verfügbaren BB-Codes erstellt, die angezeigt wird, wenn JavaScript abgeschaltet ist. Schalte JS aus und du solltest in der Liste an der Stelle, an der du deinen Code eingefügt hast, die Beschreibung sehen.

Ah! Jetzt begreife ich auch den Trick mit der Definitionsliste an der Stelle.

Noch einmal ganz großen Dank für die Hilfe!
Martin.

Avatar

Dialogtext erscheint nicht

by Auge ⌂, Thursday, March 15, 2018, 21:18 (2196 days ago) @ Mardor

Hallo

Eine Einstellung benötigst du nur, wenn du die Funktion an- und abschaltbar gestalten willst.


Das schadet ja nicht – es sei denn, der Datenbankeintrag würde beim nächsten Update verlorengehen.

Nein, selbst wenn das Update-Skript Einstellungen ändern sollte, wird es ihm unbekannte Einträge nicht anrühren.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

RSS Feed of thread