Außerbetriebnahme der Suchbanner-Theme-Komponente

In den letzten Monaten haben wir an einer Willkommensbanner-Funktion gearbeitet, die Teil des Kernprodukts von Discourse ist. Diese Kern-Willkommensbanner-Funktion begrüßt neue und zurückkehrende Besucher in Ihrer Community und erleichtert es ihnen, nach Inhalten zu suchen, die für ihre Bedürfnisse und Interessen relevant sind. Mit dieser neuen Kernbanner-Funktion deaktivieren wir nun die Suchbanner-Themenkomponente, um die Komplexität unserer Produktangebote zu reduzieren und sicherzustellen, dass alle Discourse-Nutzer von kontinuierlichen Verbesserungen an der Kernfunktion profitieren.

In diesem Beitrag behandeln wir, was die Deaktivierung für aktuelle Nutzer der Suchbanner-Themenkomponente bedeutet.

Wenn Sie ein Hosted-Kunde sind…

Wir beginnen mit der Migration von Hosted-Kunden von der Suchbanner-Komponente zur Willkommensbanner-Funktion am 20. November 2025. Wenn Sie diese Komponente derzeit verwenden, erhalten Sie eine Nachricht mit den genauen Zeitangaben für Ihre Tarifstufe.

Diese Migration kopiert alle von Ihnen für die Themenkomponente aktualisierten Site-Texte (d. h. search_banner.headline, search_banner.subhead, search_banner.search_button_text) sowie die Werte für die Einstellungen der Themenkomponente show on, plugin outlet und background image in die Einstellungen der Kernfunktion.

Unser Ziel ist es, die sichtbare Auswirkung dieses Schritts so gering wie möglich zu halten, sodass das von der Kernfunktion erstellte Banner dem von der Themenkomponente erstellten Banner ähneln soll. Communities mit einem Bild auf ihrem Banner können eine leichte Verschiebung der Positionierung bemerken, die durch das Beschneiden des Bildes zur Zentrierung des Inhalts, der im Banner erscheinen soll, behoben werden kann.

Nach dieser Migration wird die Themenkomponente deaktiviert und kann sicher von der Seite Themen & Komponenten (/admin/config/customize/components) gelöscht werden.

Wenn Sie ein selbsthostender Benutzer sind…

Sie sollten bis zum 15. Dezember 2025 selbst von der Themenkomponente zur Kernfunktion migrieren. Sie können dies manuell oder mit unserem bereitgestellten Skript tun.

Manuelle Migration

Hier ist eine Übersicht, wie die Site-Texte und Einstellungen der Suchbanner-Themenkomponente mit denselben Funktionen der Kern-Willkommensbanner-Funktion verknüpft sind:

Einstellungsbeschreibung Suchbanner-Themenkomponente Kern-Willkommensbanner-Funktion
Der auf dem Willkommensbanner angezeigte Überschriftstext. search_banner.headline Site-Text js.welcome_banner.header.anonymous_members und js.welcome_banner.header.logged_in_members Site-Texte
Der auf dem Willkommensbanner angezeigte Untertiteltext. search_banner.subhead Site-Text js.welcome_banner.subheader.anonymous_members und js.welcome_banner.subheader.logged_in_members Site-Texte
Der Text, der für die Suchschaltfläche im Banner verwendet wird. \* search_banner.search_button_text Site-Text js.welcome_banner.search_placeholder Site-Text
Einstellung zur Bestimmung, auf welchen Seiten der Willkommensbanner angezeigt wird. show on Themenkomponenten-Einstellung Willkommensbanner-Seitensichtbarkeit Site-Einstellung
Einstellung zur Bestimmung, wo auf der Seite der Willkommensbanner erscheint. plugin outlet Themenkomponenten-Einstellung Willkommensbanner-Position Site-Einstellung
Hintergrundbild, das auf dem Willkommensbanner verwendet wird. background image light Themenkomponenten-Einstellung Willkommensbanner-Bild Site-Einstellung

\* Hinweis: Die Kern-Willkommensbanner-Funktion unterstützt keine explizite Suchschaltfläche, daher empfehlen wir, diesen Text an den anpassbaren Platzhaltertext für die Suchfelder zu mappen, um ein ähnliches Ergebnis zu erzielen.

Skript-Migration

Die Migration besteht aus drei Rake-Aufgaben, die in der folgenden Reihenfolge ausgeführt werden müssen:

  1. Komponenteneinstellungen migrieren:
    themes:advanced_search_banner:1_migrate_settings_to_welcome_banner
  2. Komponentenübersetzungen migrieren:
    themes:advanced_search_banner:2_migrate_translations_to_welcome_banner
  3. Kernbanner aktivieren, Komponente von Themen, in denen sie verwendet wird, ausschließen und Komponente deaktivieren:
    themes:advanced_search_banner:3_exclude_and_disable

Dateien \u003crandom_name\u003e.sh, die im Container ausgeführt werden sollen:

  1. task_1.sh:
#!/bin/bash

cd /var/www/discourse && rake themes:advanced_search_banner:1_migrate_settings_to_welcome_banner
  1. task_2.sh:
#!/bin/bash

cd /var/www/discourse && rake themes:advanced_search_banner:2_migrate_translations_to_welcome_banner
  1. task_3.sh:
#!/bin/bash

cd /var/www/discourse && rake themes:advanced_search_banner:3_exclude_and_disable

Es wird empfohlen, jede Rake-Aufgabe einzeln auszuführen, um eine bessere Kontrolle über den Migrationsprozess zu haben.

Eine bequeme Aufgabe themes:advanced_search_banner:migrate_all ist ebenfalls verfügbar, um alle drei Aufgaben sequenziell auszuführen, aber verwenden Sie diese auf eigene Gefahr.

9 „Gefällt mir“

Meinen Sie etwas in dieser Art?

#!/bin/bash
cd /var/www/discourse && rake themes:advanced_search_banner:migrate_settings_to_welcome_banner && rake themes:advanced_search_banner:migrate_translations_to_welcome_banner && rake themes:advanced_search_banner:exclude_and_disable

Ich glaube nicht, dass viele Selbsthoster daraus auf <task_1_2_or_3> schließen werden.

Werden diese Rake-Tasks wahrscheinlich fehlschlagen? Können wir sie einfach alle auf einmal ausführen? Falls ja, warum nicht einfach einen einzigen Rake-Task, der alles erledigt?

Vielleicht möchten die Leute etwas wie folgt:

docker exec -t app bash -c `cd /var/www/discourse && rake themes:advanced_search_banner:migrate_settings_to_welcome_banner && rake themes:advanced_search_banner:migrate_translations_to_welcome_banner && rake themes:advanced_search_banner:exclude_and_disable`

Also verlieren Leute, die nicht wissen, wie sie das tun sollen, einfach alle ihre alten Einstellungen und angepassten Texte, richtig?

Was ist mit denjenigen, die erst im März wieder aktualisieren? Können sie diese Rake-Tasks dann immer noch ausführen? Ich verstehe nicht, warum der 15. Dezember so wichtig ist.

3 „Gefällt mir“

Ich lasse meinen Kollegen, der das Skript erstellt hat, bei der ersten Frage helfen, aber zu den letzten beiden Fragen:

Nein.

Das Skript ist eine Option; die manuelle Migration ist eine weitere Option. Deshalb haben wir sehr klare Beschreibungen bereitgestellt, wie die Einstellungen / Strings der Theme-Komponente mit den Einstellungen / Strings der Willkommensleiste korrespondieren.

Der 15. Dezember ist der Zeitpunkt, an dem wir unsere Migration der gehosteten Kunden abschließen und offiziell die Unterstützung / Wartung der Search Banner-Komponente einstellen. Wir empfehlen anderen Benutzern dieser Komponente, vor diesem Datum zu migrieren, damit sie nicht überrascht werden, wenn die Theme-Komponente in Zukunft mit Discourse Core inkompatibel wird.

Wenn Leute sich dafür entscheiden, später zu warten, können sie diese Aufgaben immer noch ausführen oder die Migration manuell durchführen, aber in der Zwischenzeit verwenden sie eine nicht unterstützte Theme-Komponente.

5 „Gefällt mir“

Korrekt, der angegebene Befehl führt alle drei Aufgaben nacheinander aus. Bitte beachten Sie, dass wir jeder Aufgabe eine Nummer vorangestellt haben, um die beabsichtigte Ausführungsreihenfolge anzuzeigen.

Danke, wir haben den Abschnitt Skriptmigration aktualisiert, um es klarer zu machen.

Wir können keinen 100%igen Erfolg garantieren, aber wir haben sichergestellt, dass Fehler höchst unwahrscheinlich sind.

Ja, wir haben eine Komfortaufgabe hinzugefügt: themes:advanced_search_banner:migrate_all.

3 „Gefällt mir“

Großartig! Ich denke, das wird sehr helfen. Leute wie wir haben nichts dagegen, ein paar Handgriffe in einem Container auszuführen, aber die meisten Self-Hosters eher nicht.

Wenn es möglich wäre, die Theme-Komponente so zu aktualisieren, dass sie einen Deprecations-Link im Admin-Panel hat, der hierher verweist, würde das ihnen helfen zu wissen, dass dieses Thema existiert.

Was ich tun möchte, ist einen Weg zu finden, um herauszufinden, ob die Theme-Komponente installiert ist, vorzugsweise über die API. Ich schätze, das wird sein, das Theme-Komponenten-JSON abzurufen, es durch jq laufen zu lassen und nach dem Komponentennamen zu filtern. Ich denke, das sollte funktionieren, und mein Dashboard hat einen API-Schlüssel. Dann kann ich Ansible die Rake-Aufgabe im Container ausführen lassen!

3 „Gefällt mir“

Wurden die offiziellen Themes, die die Komponente automatisch installieren, im Voraus geändert, damit niemand die Komponente installiert, ohne zu merken, dass er das Willkommensbanner in Core manuell konfigurieren muss, damit das Theme in Zukunft funktioniert?

3 „Gefällt mir“

Nur zur Information, ich habe die Rake-Aufgaben wie beschrieben ausgeführt und es sieht so aus, als ob sie wie geplant funktioniert haben.

rake.txt.md (3,1 KB)

2 „Gefällt mir“

Alle offiziellen Themes, die das Suchbanner verwendeten, wurden aktualisiert und auf die Verwendung des Willkommensbanners umgestellt:

4 „Gefällt mir“

Darf ich dazu eine Frage stellen? Ich habe heute den abgesicherten Modus verwendet, und zwar deshalb, weil ich das Banner heute zum ersten Mal nach der Migration gesehen habe (es ist in meinem aktuellen Theme deaktiviert; die Komponente wurde mit dem Air Theme installiert, das derzeit deaktiviert ist).
Mir ist aufgefallen, dass die Texte im Banner jetzt mit den Texten des Suchbanners übereinstimmen



Anschließend habe ich meine Oberflächensprache auf die Standardsprache meines Forums (Deutsch) umgestellt, und es scheint, dass diese Texte nicht geändert wurden.



Ist dies das erwartete Ergebnis der Migration? Ich kann keine Protokolle finden, die darauf hindeuten, dass ich es war, der die Texte bearbeitet hat. Deshalb gehe ich davon aus, dass dies das Ergebnis der Migration ist. Aber ich verstehe nicht ganz, warum dadurch nur eine Sprache geändert wird und nicht die anderen. Insbesondere nicht, dass die Standard-Locale nicht migriert würde.

Ja, das Migrationsskript wurde entwickelt, um die Standardtexte des Suchbanners in die Kerntitel des Willkommensbanners zu migrieren.

Warum wurden Texte migriert?

Die Migration wurde durchgeführt, weil das Suchbanner mit dem Air Theme installiert wurde – das Skript prüft nicht, ob das übergeordnete Theme (in Ihrem Fall Air Theme) deaktiviert ist, was ein Fehler in der Logik des Skripts ist.


Das Migrationsskript unterstützt mehrere Locales, wenn diese festgelegt sind: Link zum Quellcode.

Das bedeutet, dass für das Suchbanner keine deutschen Texte festgelegt waren, sodass nichts zu migrieren war.

Als Autor des Migrationsskripts entschuldige ich mich für dieses Versehen, um eine reibungslose Migration zu gewährleisten. Wenn ich in Ihrem Beitrag etwas übersehen habe, befürchte ich, dass ich keine bessere Hilfe anbieten kann, da ich nicht mehr Teil des Kernteams bin. Wenn Sie weiterhin Hilfe bei dieser Angelegenheit benötigen, sollte Ihnen die Person helfen können, die die Migration am 15.12.2025 durchgeführt hat.

1 „Gefällt mir“

:thinking: Aber warum sehe ich deutsche Texte in der Theme-Komponente? Das sind die Standardübersetzungen, die vor über einem Jahr hinzugefügt wurden.

Ich verstehe also immer noch nicht wirklich den Unterschied zwischen Englisch und Deutsch. Die einzige Sprache, in der die Seitentexte überschrieben zu sein scheinen, ist Englisch. Kein Spanisch, kein Französisch, kein Chinesisch, aber die Suchbanner-Komponente wurde in all diesen Sprachen übersetzt.