카테고리 권한과 함께 카테고리를 가져오는 방법?

파일에서 카테고리를 가져올 때, 업로드된 주제(Topics)가 비공개로 유지되도록 보장하는 방법이 있을까요? 로컬 Discourse 개발 환경 설정에서 테스트 가져오기를 해보았는데, 카테고리 보안 설정이 초기화되어 해당 새 주제들이 모든 사용자(Everyone)에게 열람 가능하도록 변경되었습니다.

import:file[category-export.json]를 실행한 후 즉시 카테고리 보안을 특정 그룹의 사용자만 열람 가능하도록 변경할 수 있다는 점은 알고 있습니다. 하지만 그 사이의 시간 동안 발생하는 문제에 대해 우려가 있습니다. 첫째, 모든 사용자가 해당 콘텐츠를 볼 수 있는 짧은 시간이 있을 수 있고, 둘째, 설정이 변경된 후에도 모든 사용자에게 이메일 알림이 발송(또는 예약)될 수 있기 때문입니다.

import:file rake 작업은 하나의 인자(파일명)만 받기 때문에, 가져오기를 저장하고 싶은 '대상 카테고리’를 설정할 방법이 없어 보입니다.

먼저 동일한 카테고리 이름과 슬러그(slug)를 가진 카테고리를 생성해 보았지만, 다음과 같은 오류로 실패했습니다:

Failed to import category (ID = 5, name = CATEGORY_NAME): Validation failed: Category Name has already been taken, Slug is already in use

해당 .json 파일에 포함시킨 단일 테스트용 주제(Topic)는 가져와지긴 했지만, #uncategorized에 생성되었습니다. 이는 공개적으로 열람 가능한 카테고리에 생성되는 것보다 오히려 더 나쁜 상황입니다.

이를 안전하게 수행할 수 있는 다른 방법에 대해 생각해 보았지만, 현재로서는 좋은 아이디어가 없습니다. 커뮤니티의 의견이 있을까요?

나는 컨테이너에서 스크립트를 수동으로 편집하여 권한을 변경할 것 같습니다.

기본적으로 스태프 전용으로 설정하는 것은 합리적인 기능 요청이거나, 아마도 PR(풀 리퀘스트)로 제출할 만한 것 같습니다.

빠른 답변 감사드립니다, @pfaffman!

사실 이건 제 무지함이 그대로 드러난 상황이었습니다.

import:file rake 태스크(이는 ImportExport::Importer를 호출합니다)의 기본 동작은 소스 카테고리의 권한을 그대로 복사하는 것입니다. 이 사실은 소스 코드를 살펴본 후에야 알게 되었습니다.

그리고 실제로 정확히 그렇게 작동했습니다. 제 대상 카테고리에 제가 원하던 권한이 없었던 이유는 소스에서 해당 권한을 올바르게 설정하는 것을 잊었기 때문이었습니다. 저는 이미 비공개인 포럼(포럼 전체가 비공개이므로 해당 카테고리에는 모든 사용자에게 보기/답글/생성이 허용되어 있음)의 카테고리를 더 개방적인 포럼(해당 게시물들이 초기에는 관리자만 보기/답글/생성이 가능한 보안 카테고리에 있어야 함)으로 이동하고 있었습니다.

동의합니다. 카테고리 가져오기는 실제로는 라이브 환경에서만 수행할 수 있는 작업이므로, 가져오기가 확인되고 모두가 문제가 없다고 판단할 때까지 권한을 관리자 전용으로 기본 설정하는 것이 좋을 수 있습니다. 대량 가져오기에 대해 사용자에게 알림을 스팸처럼 보내는 것보다 이것이 낫습니다.

아, 그 가능성을 고려하지 못했군요. :slight_smile:

그게 바로 원하시는 거잖아요!!! :rofl:

저는 그걸 직접 확인하기가 너무 귀찮았거든요!