Plots2: ALTES GESCHLOSSENES Überarbeitungsproblem des Kommentareditors

Erstellt am 9. Okt. 2020  ·  14Kommentare  ·  Quelle: publiclab/plots2

PLANUNGSAUSGABE HIER VERSCHOBEN -> #9069

Ich habe beschlossen, meine Planungsausgabe auf eine neue Ausgabeseite zu verschieben, hauptsächlich aus Gründen der Lesbarkeit. Entschuldigung für die dadurch verursachte Verwirrung! - @noi5e

outreachy planning

Hilfreichster Kommentar

@jywarren Vielen Dank für diese sehr hilfreiche und detaillierte Beschreibung!!! Es hat mir wirklich geholfen, eine Menge Dinge über die Codebasis herauszufinden. Noch viel zu lernen. Ich habe eine vorläufige PR für einen Test gemacht - mit vielen Fragen.

Alle 14 Kommentare

Für die späteren Phasen des Kommentareditor-Projekts, wenn es möglicherweise in ein eigenes Repository ausgelagert wird, sollten wir diesen von Sagarpreet dokumentierten Workflow sorgfältig prüfen, um einen Standard-Release-Zyklus zu erstellen!

https://publiclab.org/notes/sagarpreet_chadha/10-20-2020/first-timer-only-release-workflow

Beachten Sie dieses Beispiel für querverdrahtete Kommentarfelder beim Hochladen von Bildern in einen bearbeiteten (nicht neu geschriebenen) Kommentar: https://github.com/publiclab/plots2/issues/8670

PLANUNGSAUSGABE HIER VERSCHOBEN -> #9069

Ich habe beschlossen, meine Planungsausgabe auf eine neue Ausgabeseite zu verschieben, hauptsächlich aus Gründen der Lesbarkeit. Entschuldigung für die dadurch verursachte Verwirrung! - @noi5e

Hallo @noi5e , das Planungsproblem sieht toll aus.
An welchem ​​Thema arbeiten Sie gerade? Können Sie mich ggf. auf die PR hinweisen, lassen Sie es mich auch wissen, wenn Sie irgendwo feststecken oder etwas Klarheit schaffen. Danke 😄

@sagarpreet-chadha Vielen Dank, dass Sie sich bei mir melden! Seit ich dies gepostet habe, schreibe ich meinen Blogpost für Outreachy (in Stücken, fast fertig), recherchiere und arbeite an einer PR für 8618 und aktualisiere Rails - in denen ich keinen starken Hintergrund habe, aber es war diese Woche viel lernen. Ich habe 2 Tage in meinem anderen Job gearbeitet, fühle mich also ein wenig im Rückstand, habe aber heute viel aufgeholt und werde morgen und Montag mehr tun. Ich habe vor, morgen Tests für Kommentare zu schreiben.

Ich brauche eine kleine Klarstellung zu den Testkommentaren. Ich habe mir /plots2/blob/main/test/system/comment_test.rb und es sieht so aus, als ob es bereits Tests für die manuelle Eingabe von Kommentaren und über die API-URL gibt, die beide auf /wiki/wiki-page-path/comments .

Wenn ich neue Kommentartests für Fragen- und Notizseiten schreibe, wird dies für eine andere API-URL oder dieselbe wie oben ( wiki-page-path ) sein? Ich habe rails routes aber es ist mir nicht klar, welche ich testen soll. Vielen Dank im Voraus, das spart etwas Zeit beim Durchsuchen des Codes. 😅

EDIT: Lassen Sie mich auch wissen, wenn Sie spezielle Anfragen für Arten von Tests haben, die ich schreiben soll!

Hallo @noi5e, ich glaube, die Route "Wiki-Kommentare" unterscheidet sich von der Route "Notizen" - sowohl Wikis als auch Notizen sind Varianten von Node - sollten aber ziemlich ähnlich sein.

Es ist schon eine Weile her, dass ich mir diesen Codebereich angesehen habe, aber normalerweise hat Rails eine Controller-Aktion für jede Route, aber die Ausnahme sind einfallsreiche Routen: https://guides.rubyonrails.org/routing.html#resource -routing-the-rails-default

Wenn Sie diese Aktion sehen, können Sie Kommentare anzeigen:

https://github.com/publiclab/plots2/blob/cbb807ba8e2302f09dafc0060475aa118e34c2c6/app/controllers/wiki_controller.rb#L467 -L470

Es scheint, dass es keine Controller-Aktion zum Posten gibt. Aber ich sehe, dass diese Route:

https://github.com/publiclab/plots2/blob/cbb807ba8e2302f09dafc0060475aa118e34c2c6/config/routes.rb#L58

weist auf diese Ansichtsaktion hin. Wo sind also Erstellungsrouten und -aktionen? Ich sehe hier einige, die jedoch nicht Wiki-spezifisch sind:

https://github.com/publiclab/plots2/blob/cbb807ba8e2302f09dafc0060475aa118e34c2c6/config/routes.rb#L368 -L373

Schauen wir uns also das andere Ende der Dinge an, die Vorlagen. Hier ist das grundlegende Kommentarformular:

https://github.com/publiclab/plots2/blob/main/app/views/comments/_form.html.erb

Ich denke, Fragekommentare können dieses Formular wiederverwenden, basierend auf der Logik im Tag <form> hier?

https://github.com/publiclab/plots2/blob/cbb807ba8e2302f09dafc0060475aa118e34c2c6/app/views/comments/_form.html.erb#L3

Sie zeigen also mit einer POST-Methode auf /comments/create/NID , also die allerletzte Route aus Zeile 373 von routen.rb. Diese zeigen auf die Aktion des Kommentarcontrollers create :

https://github.com/publiclab/plots2/blob/cbb807ba8e2302f09dafc0060475aa118e34c2c6/app/controllers/comment_controller.rb#L19 -L56

Ich denke, man kann mit Sicherheit sagen, dass die meisten Kommentare die Aktion des Kommentar-Controllers create . Aber was ist mit den Systemtests, bei denen dieser Weg nicht erwähnt wird?

Die andere Art und Weise, wie es geschieht, ist hier über eine JavaScript-Methode:

https://github.com/publiclab/plots2/blob/cbb807ba8e2302f09dafc0060475aa118e34c2c6/test/system/comment_test.rb#L32

Das führt uns zu dieser JS-Datei, die sie über AJAX auf die gleiche Route schickt:

https://github.com/publiclab/plots2/blob/484bf69ead7a1f69c9047a25b3f63b9d6f875728/app/assets/javascripts/comment.js#L62 -L70

So wie unsere Codebasis jetzt aussieht, sieht die Funktion sendFormSubmissionAjax() vielleicht so aus, als müsste sie nicht in einer eigenen Datei sein, aber ich denke

https://github.com/publiclab/plots2/blob/876d0fc084064aaecc23f8003630d7d1ab858fa1/app/assets/javascripts/submit_form_ajax.js#L1 -L4

Hoffe das ist hilfreich! Es ist nicht das Schlimmste, was ich in Bezug auf die Code-Organisation gesehen habe, aber es ist definitiv verworren. Dies liegt zum Teil daran, dass dies eine große und alte Codebasis ist, die viele verschiedene Überarbeitungsphasen durchlaufen hat. Tatsächlich hatten wir vor den Systemtests, die erst in den letzten 2 Jahren oder so installiert wurden, keine Möglichkeit, vollständige Tests der JavaScript-Kommentarübermittlung durchzuführen! Also ging es ständig kaputt :-(

Danke Leute!!!

@jywarren Vielen Dank für diese sehr hilfreiche und detaillierte Beschreibung!!! Es hat mir wirklich geholfen, eine Menge Dinge über die Codebasis herauszufinden. Noch viel zu lernen. Ich habe eine vorläufige PR für einen Test gemacht - mit vielen Fragen.

Suchen Sie auch nach Klärung dieser:

"Symbole speichern und wiederherstellen Schlüsselfunktion, die Mimi zur Umgehung führt" (verstehe das nicht)

Ich konnte das in https://pad.publiclab.org/p/outreachy nicht finden - woher kommt es? Es kommt mir vage bekannt vor... Entschuldigung!

Vorschau funktioniert manchmal nicht (kann ich nicht reproduzieren)

Vielleicht ist dies ein guter Kandidat für die Art von "Standard-Testsuite", die wir automatisch auf mehreren Varianten des Kommentareditors ausführen könnten, wenn wir den Testcode neu organisieren? Ich frage mich, ob das fangen würde, oder vielleicht ist es einfach schon gelöst.

Fett- und kursive Schaltflächen sind "querverdrahtet" (kann nicht reproduziert werden)

Dies scheint in https://github.com/publiclab/plots2/issues/8478 zu sein und ich frage mich, ob die gleiche Strategie helfen könnte, dies in eine Standardsuite von Kommentar-Editor-Tests aufzunehmen und über alle Varianten hinweg auszuführen.

Stellen Sie sicher, dass das graue "Drag-and-Drop zum Einfügen von Bildern" überall ist (kann nicht reproduziert werden, möchte einige Beispiele)

Vielleicht das gleiche wie oben ... und ich konnte es auch nicht in https://pad.publiclab.org/p/outreachy finden, also kann ich vielleicht mehr hinzufügen, wenn ich weiß, woher es kommt?

Probleme beim Liken von Kommentaren (siehe "Kommentar-Likes funktionieren nicht #5113"). Ich verstehe das Problem, im Grunde muss ich klarstellen, was das erwartete Verhalten hier ist.

Das ist vielleicht wirklich alt?? Wir haben keine Kommentar-Likes mehr, da es durch das "Reaktionen"-System ersetzt wurde. Aber vielleicht klären wir das, indem wir Sasha fragen, wer #5113 gemacht hat

Danke, @noi5e ! Hoffe diese helfen!!!!

Danke @jywarren auf jeden Fall hilfreich ... Ich denke, die Punkte, nach denen Sie gesucht haben, sind in diesem Google-Dokument

Hallo @noi5e, ich bin mir nicht sicher, ob Sie dies gesehen oder bereits behoben haben, aber ich habe dies in unseren Kommentaren bemerkt - es scheint einen unnötigen grauen Balken unter dem Formular zu geben:

image

Außerdem denke ich, dass einige der Abstände um die Emojis ein wenig abweichen. Sehen Sie, wie es aussieht, als hätte es oben und unten weiße Polsterungen, insbesondere im Vergleich zum Stil von GitHub?

image

Nur ein paar Kleinigkeiten, die wir vielleicht in einer kommenden PR ansprechen könnten, aber nichts Dringendes. Vielen Dank!

@jywarren Definitiv sind mir die auch schon aufgefallen! Zu meinen To-Dos hinzufügen.

Ich habe mich auch gefragt, nach den Geschwindigkeitsoptimierungen von https://github.com/publiclab/plots2/pull/9045 , ich erinnere mich, dass Skylight zeigt, dass das Posten eines Kommentars auf PublicLab.org eine ganze Weile dauern kann ... und ich dachte wir hatten etwas optimiert, aber nicht so stark, wie wir es uns erhofft hatten. Finden Sie es immer noch eine langsame Ladezeit, um einen Kommentar zu posten? Ich frage mich, ob dies auch eine Möglichkeit ist, die Laufzeit von Systemtests zu verbessern und gleichzeitig die Benutzererfahrung zu verbessern.

Hier ist eine Momentaufnahme; es dauert anscheinend immer noch bis zu 10 Sekunden, aber leider ist unsere Überwachung nicht gut genug, um mehr zu zeigen, als dass diese Zeit im Controller verbracht wird, wie es scheint:

image

Dies ist auch keine Voraussetzung für Ihr Projekt, aber ich dachte, es könnte interessant sein. Der Code, der dies antreibt, ist hier und hier .

Keine Sorge, um ehrlich zu sein ... aber ich bin neugierig, ob Sie das Gefühl haben, dass die Zeit für die Kommentarveröffentlichung ziemlich langsam war oder nicht?

@jywarren Ja! Ich denke definitiv, dass die Zeit zum Posten von Kommentaren sehr langsam ist! (auch Zeit, auf einen Kommentar zu reagieren)

Es ist interessant, etwas über Skylight und seine Funktionen zu erfahren. Ich frage mich, was genau die Verlangsamung verursacht, glauben Sie, dass es die ActiveRecord-Abfrage sein könnte?

BEARBEITEN: Fügen Sie es in dieser Planungsausgabe der Wunschliste für die Stretch Goals hinzu!

PLANUNGSAUSGABE HIER VERSCHOBEN -> #9069

Ich habe beschlossen, meine Planungsausgabe auf eine neue Ausgabeseite zu verschieben, hauptsächlich aus Gründen der Lesbarkeit. Entschuldigung für die dadurch verursachte Verwirrung! - @noi5e

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen