Deprecated in Elgg 2.1: Don't use elgg.ui.widgets directly. Use the AMD elgg/widget module

Hallo zusammen,

ist mir komischerweise erst heute aufgefallen als ich beim weiteren Entwickeln meiner Seite war und einen Block zum testen auf der Indexseite und im Profil hinzufügen wollte.

Kann mir jemand etwas dazu sagen.

  • wie aussieht liegt es vermutlich am Widget Manager den ich verwende. Hat denn sonst niemand anderes dieses Problem? Verwende Widget_Manager 6.2 https://github.com/ColdTrick/widget_manager/releases

  • Ich hätte jetzt spontan auch darauf getippt, dass das Widget Manager-Plugin die Ursache ist. Ich hatte schon vor ein paar Wochen das Debugging ausgeschaltet, weil mich die Warnungen beim Testen genervt haben und mich beim Debuggen meines eigenen Codes  gestört haben (es sind ja eigentlich nur Warnungen und es wird alles unter Elgg 2.X noch funktionieren und erst unter Elgg 3 möglicherweise dann icht mehr wenn bis dahin der Code der Plugins nicht entsprechend aktualisiert wurde).

    Ich konnte die Fehlermeldung, die Du bekommst, jetzt grade nicht reproduzieren. Bei welcher Aktion genau tritt sie auf?

    Auf einer Produktivseite wirst Du normalerweise die Ausgabe / das Loggen von Fehlermeldungen und Warnungen ausschalten. Wenn Du also fürs Testen mit den Fehlermeldungen leben kannst, sind die Deprecation-Warnungen eigentlich kein Problem. In ein paar wenigen meiner Plugins, die ich für Elgg 2 veröffentlicht habe, gibt in der Zwischenzeit auch ein paar wenige Deprecation-Warnungen, die mit Elgg 2.1 und 2.2 hinzugekommen sind. Trotzdem will ich derzeit nicht neue Versionen dieser Plugins rausbringen, in denen nur diese Deprecation-Warnungen gefixt sind, da diese neuen Versionen dann nur unter Elgg 2.1+2.2 oder sogar nur unter Elgg 2.2 und nicht mehr unter Elgg 2.0 funktionieren würden. Und dann fängt wieder die grosse Versions-Verwirrung an. "Kompatibel mit Elgg 2.x" ist deutlich einfacher zu verstehen und es gibt ja funktionell kein Problem.

  • Die Fehlermeldung tritt bei mir auf, sobald ich den Widget_Manager aktiviert habe und ich einen Block auf der Indexseite oder der Profilseite hinzufüge. Der Block, so wie Du beschrieben hast, hat keinerlei Funktionsstörung es ist eben die Fehlermeldung in der roten Box oben in der rechten Ecke die natürlich irritiert.

    Was mich aber wundert ist das letzte Woche noch alles bestens funktionierte, und ich lediglich das Elggx_Five_Star Plugin neu hinzugefügt bzw. aktualisiert habe. Aber selbst als ich das deaktiviert habe trat der Fehler auf? Sonst hatte ich keine weiteren Änderungen an der Seite oder dem Server vorgenommen?

    Gibt es denn die Möglichkeit diese roten Boxen mit den Fehlermeldungen gezielt zu unterdrücken?

     

  • Ich hab gestern auch noch rausgefunden, dass die Warnung beim Hinzufügen von Widgets auftritt unter Verwendung des Widget Managers auftritt - übrigens nicht nur auf der Indexseite sondern auch auf Profilseiten und Dashboard-Seiten.

    Die Warnung bekommst Du nur angezeigt, wenn Du als Debugging-Output-Level mindestens "Fehler und Warnungen" eingestellt hast. Wenn nur Fehler (d.h. kritische Fehler) protokolliert werden sollen oder das Debugging komplett aus ist, kommt die Warnung nicht. Du kannst Den Debugging-Level entweder in den erweiterten Seiteneinstellungen oder (nur wenn das Developers-Plugin aktiviert ist) in den Entwickler-Einstellungen konfigurieren. Wie ich schon sagte, würde ich auf einer Produktivseite das Debugging sowieso komplett abschalten.

    Ich hab es leider gestern nicht mehr geschafft, die Deprecation-Issue durch Aktualisieren des Codes zu fixen. Irgendwie hab ich noch nicht verstanden, wie genau die nun empfohlene Vorgehensweise ist. Sicher weiss ich bisher nur, dass nur in der Datei widget_manager/views/default/js/widget_manager/add_panel.js eine Änderung notwendig ist.

  • Bin heute erst wegen des schönen Wetters dazu gekommen das zu testen. Ich habe den Debug-Output-Level deaktiviert gehabt und das Developer-Plugin ist ebenfalls deaktiviert. Trotz alledem erscheint die Fehlermeldung... 

  • Stimmt. Ich hatte das wohl getestet als ich schon probiert habe, die Depreaction-Issue zu fixen und daher gab es in keinem Fall mehr eine Fehlermeldung mehr (ich hab es aber immer noch nicht hingekriegt, das ganze wirklich korrekt zu fixen).

    In diesem Fall ist es mit den Deprecation-Warnungen ein wenig anders, da die Deprecation innerhalb von Javascript-Code auftritt. Innerhalb von PHP-Code werden Deprecation-Warnungen wirklich nur ausgegeben, wenn der Debug-Level mindestens auf "Fehler und Warnungen" steht. Bei der Funktion, die die Deprecation-Warnungen innerhalb Javascript-Code ausgibt, bleibt der Debug-Level unberücksichtigt. Hier werden die Warnungen immer ausgegeben, wenn sie bei einem Admin auftreten. Allerdings auch wirklich nur bei Admins, d.h. normale User bekommen sie nicht zu gesicht.

  • Da ich noch im Aufbau der Seite stecke (das zweite mal da die Festplatte kurz vorm Start mit einem Defekt den Dienst quittiert hatte) habe ich noch keine Testuser eingerichtet. Vielen Dank für Deine Mühe! 

German Support Group

German Support Group

The German support group within the Elgg community.