Wie man Kategorie mit Kategorie-Berechtigungen importiert

Gibt es beim Importieren einer Kategorie aus einer Datei eine Möglichkeit, sicherzustellen, dass die hochgeladenen Themen privat bleiben? Ich habe einen Testimport in eine lokale Discourse-Entwicklungsumgebung durchgeführt und die Sicherheitseinstellungen der Kategorie wurden zurückgesetzt, sodass diese neuen Themen für alle sichtbar wären.

Ich weiß, dass ich die import:file[category-export.json] ausführen und dann sofort die Sicherheit der Kategorie ändern kann, sodass sie nur für die Benutzer in einer bestimmten Gruppe sichtbar ist. Ich mache mir jedoch Sorgen darüber, was in der Zwischenzeit passiert – erstens könnte es eine kurze Zeit geben, in der jeder diesen Inhalt sehen kann, und zweitens könnten E-Mail-Benachrichtigungen für alle gesendet werden (oder geplant werden), auch nachdem die Einstellungen geändert wurden.

Da die import:file-Rake-Aufgabe nur ein Argument (den Dateinamen) akzeptiert, scheint es keine Möglichkeit zu geben, die „Zielkategorie“ festzulegen, in der der Import gespeichert werden soll.

Ich habe versucht, die Kategorie zuerst mit demselben Kategorienamen und Slug zu erstellen, aber dies schlägt mit dem Fehler fehl:

Fehler beim Importieren der Kategorie (ID = 5, Name = CATEGORY_NAME): Validierungsfehler: Kategoriename ist bereits vergeben, Slug wird bereits verwendet

Das einzelne Test-Topic, das ich in diese .json-Datei aufgenommen habe, wurde zwar importiert, aber es wurde in Uncategorized erstellt, was, wenn überhaupt, noch schlimmer ist, als wenn es in einer offen sichtbaren Kategorie erstellt worden wäre.

Ich habe über andere Möglichkeiten nachgedacht, dies sicher zu tun, habe aber im Moment keine guten Ideen. Irgendwelche Gedanken aus der Community?

1 „Gefällt mir“

Ich würde das Skript im Container von Hand bearbeiten, um die Berechtigungen zu ändern.

Standardmäßig nur für Mitarbeiter zu sein, scheint eine sinnvolle Funktionsanfrage oder vielleicht ein PR zu sein.

Danke @pfaffman für die schnelle Antwort!

Tatsächlich scheint dies nur meine eigene Dummheit gewesen zu sein.

Das Standardverhalten der import:file Rake-Aufgabe (die ImportExport::Importer aufruft) ist genau die Berechtigungen von der Quellkategorie zu kopieren. Das habe ich nur durch die Überprüfung des Quellcodes herausgefunden.

Und genau das hat es getan. Der Grund, warum meine Zielkategorie nicht die gewünschten Berechtigungen hatte, war, dass ich vergessen hatte, diese Berechtigungen in der Quelle richtig einzustellen! Ich habe eine Kategorie in einem bereits privaten Forum (das gesamte Forum ist privat, daher hatte diese Kategorie die Berechtigungen Sehen/Antworten/Erstellen für Alle darin) in ein offeneres Forum verschoben (in dem diese Beiträge zunächst in einer sicheren Kategorie – Sehen/Antworten/Erstellen nur für Administratoren – benötigt wurden).

Ich stimme zu – da der Import von Kategorien etwas ist, das wirklich nur in der realen Live-Umgebung durchgeführt werden kann, möchte man vielleicht, dass die Berechtigungen standardmäßig auf Administratoren beschränkt sind, bis der Import überprüft wurde und alle zufrieden sind, dass er in Ordnung ist. Das ist besser, als Benutzer mit Benachrichtigungen über Massenimporte zu spammen.

2 „Gefällt mir“

Ach, diese Möglichkeit hatte ich nicht bedacht. :slight_smile:

Das ist genau das, was du willst!!! :rofl:

Dafür war ich zu faul!

1 „Gefällt mir“