¿Cómo importar categorías con permisos de categoría?

Al importar una categoría desde un archivo, ¿hay alguna forma de asegurar que los temas cargados permanecerán privados? He realizado una importación de prueba en una configuración de entorno de desarrollo de Discourse local y la configuración de seguridad de la categoría se restableció, de modo que esos nuevos temas serían visibles para Todos.

Sé que puedo hacer la tarea import:file[category-export.json] y luego cambiar inmediatamente la seguridad de la categoría para que sea visible solo para los usuarios de un grupo determinado, pero me preocupa lo que sucede en el tiempo intermedio: primero, puede haber un corto período en el que Todos puedan ver ese contenido y, segundo, que las notificaciones por correo electrónico puedan enviarse (o programarse) para Todos, incluso una vez que se cambien la configuración.

Dado que la tarea rake import:file solo toma un argumento (el nombre del archivo), no parece haber forma de establecer la ‘categoría de destino’ en la que quiero que se almacene la importación.

He intentado crear la categoría primero, con el mismo nombre y slug de categoría, pero esto falla con el error:

No se pudo importar la categoría (ID = 5, nombre = CATEGORY_NAME): Falló la validación: El nombre de la categoría ya está en uso, El slug ya está en uso

El único tema de prueba importado que incluí en ese archivo .json se importó, pero se creó en Uncategorized, lo que, en todo caso, es peor que se creara en una categoría abiertamente visible.

He pensado en otras formas de hacerlo de forma segura, pero no tengo buenas ideas en este momento. ¿Alguna idea de la comunidad?

1 me gusta

Creo que editaría el script manualmente en el contenedor para cambiar los permisos.

Que por defecto sea solo para personal parece una solicitud de función razonable o quizás una PR.

¡Gracias @pfaffman por la rápida respuesta!

En realidad, parece que esto fue solo mi torpeza en primer plano.

El comportamiento predeterminado de la tarea rake import:file (que invoca a ImportExport::Importer) es copiar exactamente los permisos de la Categoría de origen. Solo me enteré de esto al revisar el código fuente.

Y eso es exactamente lo que hizo. La razón por la que mi categoría de destino no tenía los permisos que esperaba era que ¡había olvidado configurar esos permisos correctamente en el origen! Estaba moviendo una categoría en un foro ya privado (todo el foro es privado, por lo que esa categoría tenía Ver/Responder/Crear para Todos allí) a un foro más abierto (en el que esas publicaciones necesitaban estar en una categoría segura - Ver/Responder/Crear solo para Administradores inicialmente).

Estoy de acuerdo: dado que la importación de categorías es algo que solo se puede hacer en el entorno real, uno podría querer que los permisos se establezcan por defecto solo para administradores hasta que se haya verificado la importación y todos estén satisfechos de que está bien. Es mejor que inundar a los usuarios con notificaciones sobre importaciones masivas.

2 Me gusta

Ay, no había tenido en cuenta esa posibilidad. :slight_smile:

¡¡¡¡¡Eso es exactamente lo que quieres!!! :rofl:

¡Yo era demasiado perezoso para hacerlo yo mismo!

1 me gusta