WoltLab Cloud Reading Time Estimate for Articles 1.0.1

License Agreement
Krymo Software - Free Products License
Website
https://krymo.software/store/product/4/
Supported Versions
WoltLab Suite 3.1
WoltLab Suite 5.2

Display a reading time estimate above articles so that readers can better estimate the text length of your articles.

Requirements

  • You must have at least WoltLab Suite™ Core 3.1.0 installed.



Configuration

You can configure this plugin in the ACP under Configuration ⇒ CMS ⇒ Articles ⇒ Reading Time Estimate. You can disable this functionality completely without uninstalling the plugin. You can also specify whether the reading time estimate should be displayed in minutes only or in minutes and seconds. By default, an average reader is assumed to read about 200 words per minute. Of course, you can also adjust this value individually to your target group.

Further individual adjustments (such as the icon) can be realized by modifying the template __articleReadingTime and the language variables wcf.article.readingTime.minutes and wcf.article.readingTime.minutesAndSeconds.



This plugin is also available for download on the website of Krymo Software.




This might also interest you...

Images

  • Version 1.0.1

    Notable Changes

    • Quotes and code boxes couldn't be expanded.

  • Version 1.0.0

    Initial release
  • Eine echt tolle Erweiterung! Einen kleinen Wunsch hätte ich aber noch, und zwar würde ich mir bei der Option Anzeige für Lesezeiteinschätzung noch die Auswahlmöglichkeit Minuten (Aufgerundet) wünschen.


    Quasi so:

    PHP: ArticleReadingTimeListener.class.php
    case 'minutesCeil': {
    $minutes = ceil($minutes);
    $this->readingTime = [
    'minutes' => $minutes
    ];
    break;
    }


    Einen großen Mehrwert hätte es zwar nicht, aber ich fände es schön, wenn es so eine Auswahl geben würde^^

    Like 1
    • Ich werde den Wunsch in meiner Liste aufnehmen 🙂 Ich werde es aber erst in einem geplanten Update implementieren, sobald WoltLab meinen Pull-Request gemerged hat. Dann muss ich nicht mehrere Updates veröffentlichen.

      Thanks 1
    • Danke dir^^ Habe den PR mal kommentiert und geliked und bis zum Update habe ich eine eigene Übergangslösung implementiert.

      Like 1
  • Sehr schönes Plugin! Auch sehr schön übersichtlich geschrieben. Ich benutze das u.a für die Community, die ich im Laufe des Jahres erstelle. Daher eine kurze Frage:


    Wo ist definiert, wo genau die Lese-Einschätzung angezeigt wird? Ich sehe in der .tpl Datei nur, dass ein <li> Element hinzugefügt wird. Aber wo ist definiert, wo genau das hin kommt? Was ist z. B. wenn ich die Einschätzung ganz woanders hin haben möchte oder evtl. als erstes <li>-Element anzeigen lassen möchte?


    Gruß

    Like 1
    • Um es als erstes Element anzuzeigen, müsstest du das Template article anpassen und das Template-Event contentHeaderMetaData an die gewünschte Position verschieben. Bitte beachte jedoch, dass sich dies auch auf die Position von Elementen auswirkt, die von anderen Plugins über dieses Template-Event hinzugefügt werden.


      Du kannst die Lesezeitschätzung nicht an eine völlig beliebige Position auf der Seite verschieben. Hierfür wären grundsätzlich Änderungen am Plugin erforderlich (neben dem Template u. a. auch in der templateListener.xml-Datei). Gerne kannst du hierzu einen Vorschlag formulieren. Wenn es technisch möglich und auch für andere Benutzer sinnvoll ist, könnte ich es ggf. in einem Plugin-Update umsetzen.

      Thanks 1
    • Vielen Dank erst einmal für die rasche Antwort.


      Für mich ist derzeit noch nicht so ersichtlich, wie es sein kann, dass das Template in der tpl Datei, automatisch am "Ende" der Aufzählung hinzugefügt wird. Woher kommt dieses? Das muss doch irgendwo definiert wurden sein. Ich schaue mir das Plugin aber später nochmal in Ruhe an unter Berücksichtigung deiner Antwort.


      Feedback wäre bspw.:


      Ein Gedanke wäre, die Einschätzung schon in der Artikelübersicht anzeigen zu lassen, damit man sich bei der Auswahl schon entscheiden kann und die Lesezeit nicht erst siehst, wenn der Artikel schon geöffnet ist.


      In dem Sinne schönen Sonntag,

      JAY

    • Zur Definition:

      Im Template article existiert folgende Zeile:

      Smarty
      {event name='contentHeaderMetaData'}

      Diese Zeile befindet sich am Ende der Auflistung. In der Datei templateListener.xml des Plugins wird auf das Template-Event contentHeaderMetaData im Template article Bezug genommen und auf das Template des Plugins (__articleReadingTime) verwiesen. Das Template __articleReadingTime erhält die entsprechenden Zeitangaben aus der Klasse wcf\system\event\listener\ArticleReadingTimeListener. Diese Klasse ist ein Event-Listener, welcher in der Datei eventListener.xml des Plugins definiert wurde.


      Zu deinem Gedanken:

      Prinzipiell wäre das möglich, aber nur an dieser Position: https://i.imgur.com/e4YpxLf.png (externer Link, da ich in den Kommentaren keine Bilder hochladen kann)

      Das wirst du aber ohne entsprechende Kenntnisse vermutlich nicht selbst umsetzen können. Hierfür könnte ich aber ggf. eine Aktualisierung des Paketes bereitstellen.

      Like 1
    • Hi,


      Danke für die Info.


      ich habe mir das alles eben noch einmal angesehen und auch gesehen, dass gar kein Event bereit steht um es so anzeigen zu lassen, wie ich dachte. Das macht natürlich jetzt alles Sinn.


      Die Kenntnis ist schon vorhanden. Ich arbeite mich momentan in WoltLab ein und könnte das theor. auch selbst umsetzen. War nur ein Gedanke, den vielleicht mehrere interessant finden. Denn sind wir ehrlich: Die Leseeinschätzung ist eher interessant bevor man sich einen Artikel ansieht. Wenn man schon drauf geklickt hat, ist es meist zu spät für die Entscheidung. Ich finde, beide Positionen haben ihre Daseinsberechtigung.


      Beste Grüße

    • Alles klar. Ich nehme das dann mal als Vorschlag auf und sehe, wann sich das zeitlich umsetzen lässt :)

      Thanks 1
  • Recht herzlichen Dank für diese kleine, feine Spielerei. :-)

    Like 1
  • habe ich ein Zitat in einem Artikel, berechnet er zwar die Lesezeit, aber leider lässt sich das Zitat nicht mehr öffnen, wenn man auf "Alles anzeigen" klickt.

    Deinstalliere ich das Plugin funktioniert auch der Klick wieder.


    Schade...tolles Plugin, aber so nicht zu gebrauchen...trotzdem Daumen hoch

    • Ok, ich kann den Fehler reproduzieren und werde mir das umgehend ansehen. Danke für den Hinweis. Ich melde mich, sobald ich mehr herausgefunden habe.

      Thanks 1
    • Ich habe den Fehler gefunden (wobei ich sagen muss, dass das schon ein äußerst merkwürdiges Problem war). Ein Plugin-Update wird noch heute Abend auf meiner Website zur Verfügung stehen und dürfte dann demnächst auch hier im Plugin-Store freigeschaltet werden.

    • Ein entsprechendes Update, welches diesen Fehler behebt, steht nun bei mir bereit und wurde auch hier im Plugin-Store zur Prüfung eingereicht. Nochmals vielen Dank für den Hinweis auf diesen Fehler :)


      Edit: Das Update steht nun auch im Plugin-Store von WoltLab bereit. Der Fehler war tatsächlich kein Fehler meinerseits, sondern scheint ein Fehler im WoltLab Suite Core zu sein. Ich habe ihn deshalb gemeldet.

  • Gefällt mir! Würde ich auch sehr gerne für das Viecode Lexicon haben :-D

    Like 1
    • Leider besitze ich keine Lizenz für das VieCode Lexikon. Aber du könntest diese Funktion auch einfach mal bei @VieCode vorschlagen – vielleicht wird sie ja direkt integriert, sodass dafür kein separates Plugin mehr erforderlich wäre :) Sollte das nicht passieren, könnte ich es mir vielleicht in ein paar Monaten nochmal ansehen, da ich dann für ein anderes Projekt womöglich eine Lizenz erwerben werde.

    • Das ist auch eine Idee ;-)

  • Sehr interessantes Plugin. Danke dafür! :thumbsup:


    Sind denn 200 Wörter pro Minute tatsächlich ein reeller Wert?

    Like 1
    • Gerne!


      • Erwachsene, die nicht geübte Leser sind und das Lesen nicht beruflich brauchen, lesen etwa 100 Wörter pro Minute.
      • Die durchschnittliche Vorlesegeschwindigkeit liegt dagegen bei etwa 150 Wörtern pro Minute.
      • Ein durchschnittlicher, geübter Leser kann etwa 200 bis 300 Wörter pro Minute (WpM) erfassen, sofern der zu lesende Text nicht übermäßig kompliziert ist.
      • Schnelle Leser schaffen bis zu 1000 Wörter pro Minute.
      • Wissenschaftlich überprüfte Rekorde liegen bei 3000 bis 4000 Wörtern pro Minute.

      Es kommt also auch ganz auf die Zielgruppe und die Thematik des Textes an. Deshalb wird auch die Option angeboten, die Zahl individuell an die eigene Community anpassen zu können. 200 Wörter pro Minute sind für aktive Internet-Nutzer in den allermeisten Fällen ein ziemlich realistischer Wert.

      Thanks 1
    • Super! Danke für diese ausführliche Erklärung! :)

      Like 1
    • Genau die Flexibilität ist halt echt super ;)

      Like 1
  • Quote

    Standardmäßig wird davon ausgegangen, dass ein durchschnittlicher Leser etwa 200 Wörter pro Sekunde liest.

    Oo. Vielleicht eher „Zeichen“.


    Danke auf jeden Fall für das Plugin. Wird das auch für Blogbeiträge verfügbar sein? Davon habe ich tatsächlich so einige - von Artikeln keinen ;-)

    Haha 1
    • Entschuldigung, das müsste natürlich „Wörter pro Minute“ heißen und ist nur ein Fehler in der Plugin-Beschreibung. Danke für den Hinweis, ich habe das nun korrigiert.


      Ursprünglich war auch ein entsprechendes Plugin für Blog-Artikel geplant. Dieses kann ich jedoch nicht so umsetzen, wie ich es mir gewünscht hätte, da mir seitens von WoltLab das entsprechende Event in der Blog-Endanwendung fehlt. Gegebenenfalls könnte ich bei WoltLab einen Vorschlag einreichen, damit das Event hinzugefügt wird. Das würde dann aber vermutlich, wenn überhaupt, nur neue Versionen nach 5.2.4 für den Blog betreffen. Alternativ wäre es auch möglich, die Lesezeitschätzung weiter unten auf der Seite (aber immer noch oberhalb des Textes) zu platzieren, nämlich zwischen der Umfrage und der Werbung (falls vorhanden). Das müsste ich mir aber erstmal genauer ansehen, um feststellen zu können, ob das sinnvoll und nutzerfreundlich wäre.

      Thanks 1
    • Versuche es mal mit dem Event einreichen. Wenn das keiner großer Aufwand ist kann es auch manchmal in einem Bugfix eingepflegt werden

    • Ich habe meinen Wunsch mal geäußert. Hoffen wir nun, dass dies auch entsprechend umgesetzt wird.

      Thanks 1
    • Thanks 1
    • Super, danke!

      Like 1
  • Funktioniert einwandfrei, find ich ein super praktisches Plugin. Super danke dir!

    Like 1