사용자 그룹에 사용자 추가 스크립트 추가

현재 Automation 플러그인에는 사용자 정의 필드를 기반으로 사용자를 그룹에 추가하는 스크립트가 있습니다. 우리는 사용자가 다른 그룹에 추가될 때 해당 사용자를 자동으로 특정 그룹에 추가하는 스크립트를 원합니다.

시나리오는 다음과 같습니다. Discourse Experts 플러그인은 "전문가"로 지정된 사용자 그룹이 하나만 있어야 한다고 가정합니다. 우리는 앰배서더 프로그램을 운영하고 있으며, 두 단계의 앰배서더가 있습니다. 이 두 단계 모두 이 경우 "전문가"에 해당합니다.

우리는 “Ambassadors” 또는 “Expert Ambassadors” 그룹에 추가된 모든 사용자가 자동으로 “Experts” 사용자 그룹에도 추가되기를 원합니다.

5개의 좋아요

이 프로젝트를 후원할 의사가 있으시다면, 그렇게 복잡한 일은 아니라고 봅니다. 작업을 견적해 드릴 수 있습니다. team에 연락해 주세요.

2개의 좋아요

또한 요청된 항목:

2개의 좋아요

@JammyDodger가 링크한 주제 외에 유사한 기능에 대한 몇 가지 요청이 더 있었습니다.

그룹을 계층적으로 표시할 수 있기를 요청하는 내용도 있었습니다:

이것을 언급하는 이유는 Automation 스크립트를 추가하는 것이 이 문제를 해결하는 최선의 방법인지, 아니면 Discourse의 코어 그룹 코드에 추가해야 할 기능인지 확인하기 위해서입니다.

재미로 이것저것 시도해 보고 있습니다. 최근에 Zapier로 진행한 작업과 다소 관련이 있습니다. 나머지 게시글 내용은 무시하셔도 됩니다.

Automation 스크립트가 올바른 접근 방식이라고 가정할 때, 유일한 장애물은 Automation 플러그인의 group 컴포넌트가 단일 그룹만 허용한다는 점입니다. 따라서 group 컴포넌트를 여러 그룹을 허용하도록 업데이트하거나, 또는 새로운 groups 컴포넌트를 추가해야 합니다. 테스트를 위해 로컬 개발 브랜치에 groups 컴포넌트를 추가했습니다. 이 설정이 갖춰진 경우:

서브그룹 목록 중 하나에 사용자가 추가될 때 상위 그룹에 추가:

나열된 모든 서브그룹에서 제거된 경우 상위 그룹에서 사용자 제거:

도움이 된다면, 트리거와 스크립트는 플러그인에 있습니다: automation-script-example/plugin.rb at main · scossar/automation-script-example · GitHub. 이 코드는 https://github.com/discourse/discourse-automation/tree/main/assets/javascripts/discourse/components/fields 에 groups 컴포넌트가 추가되었다는 것을 전제로 합니다.

4개의 좋아요

이 플러그인은 이제 이 기능을 지원합니다: