Orbit를 사용하여 Vanilla Forum을 구성하는 3단계사랑, 애정

카탈로그


  • What's orbit
  • Integrations
  • Where's my integration?
  • Goal

  • 1. Extract VF Members
  • Generate VF Token
  • Script
  • Issues and Improvements
  • 2. Import Members to Orbit

  • 3. Configure Zapier
  • VF New User Webhook
  • Zapier Webhook Actions
  • Orbit Step
  • Tips and Tricks
  • 무엇이 궤도입니까?


    Orbit는 온라인 커뮤니티를 이해하는 데 도움이 되는 플랫폼입니다.개발자나 커뮤니티 관리자라면 이 플랫폼을 커뮤니티의 임무 통제로 간주하고 모든 구성원과 활동을 다른 곳에서 한 곳으로 통합시킬 수 있다.정말 예뻐요!Solace에 우리는 궤도를 이용하여 우리 지역 사회 구성원과 그들이 가장 좋아하는 곳을 더 잘 이해했다.
    Orbit Model Framework는 지역사회 구성원의 활동과 지역사회와의 상호작용에 따라 서로 다른 유형으로 분류하는 데 도움이 된다.이 프레임워크는 서로 다른 플랫폼에서 서로 다른 유형의 활동의 가중 점수를 연결하는 것을 바탕으로 한다.이 모델을 이해하는 것은 다음 단계의 발전에 매우 중요하다👀

    통합


    Orbit의 장점은 여러 개의 서로 다른 통합을 본 컴퓨터가 지원하는 integrations 과 연결할 수 있다는 것이다.이는 플랫폼에서 일어나는 모든 활동, 예를 들어 github repo의 트윗이나 PR을 Orbit 작업공간으로 이식해 사용자와 연관시키고 채점 목적에 특정 가중치를 부여할 수 있음을 의미한다.

    나의 통합은 어디에 있습니까?


    만약 당신의 구성원이 이 컴퓨터에서 Orbit를 통합된 플랫폼으로 지원하지 않는다면 걱정하지 마세요!Orbit는 개발자를 위해 설계된 것이기 때문에 당연히 API가 있기 때문에 사용자를 가져오고 이벤트를 추가하여 플랫폼과의 상호작용을 촉진할 수 있다.
    Dell은 Solace의 커뮤니티 포럼 솔루션으로 Vanilla Forum(VF)를 사용합니다.그러나 Orbit는 VF의 네이티브와 통합되지 않습니다.솔루션 소개API에 뛰어들래요!

    목표


    우리가 해결하고자 하는 문제는 다음과 같다.
  • 허브 포럼
  • 에서 기존 커뮤니티 구성원 모두 추출
  • 구성원을 트랙으로 가져오기
  • VF에서 Orbit에 이르는 모든 신규 사용자 활동: 신규 사용자, 리뷰, 신규 토론 통합
  • 다행히도 VF에는 포럼에서 정보를 추출할 수 있는 API가 있습니다.또한 포럼에서 어떠한 활동을 할 때 사이트와 서비스 간의 통합을 추진하기 위해 Webhooks도 지원한다.
    추격을 멈추고 핵심으로 가자!

    1. 기존 구성원을 추출한다.한 번 완성!


    당신의 VF 영패 생성


    VF API를 사용하려면 먼저 액세스 토큰을 생성해야 합니다.이를 위해 Authentication With Personal Access Tokens의 절차를 따르십시오.

    극본을 쓰다


    간단한 nodejs 프로그램을 만들었습니다. API를 통해 VF의 모든 구성원을 CSV 파일로 추출합니다.선택한 프로그래밍 언어를 사용할 수 있습니다.
    async function getUsers(page) {
      const baseURL = `https://solace.community/api/v2/users?expand=extended&page=${page}`;
      const header_config = {
        method: "GET",
        headers: {
          Authorization: `Bearer <Insert Token Here>`,
        },
      };
    
      let res = await fetch(baseURL, header_config).catch((err) => {
        throw new Error(`Error fetching content from ${baseURL}. ${err}`);
      });
    
      if (!res.ok) {
        throw new Error(`Response status from ${baseURL}: ${res.status}`);
      }
    
      let body = await res.json();
    
      if (body.length === 0) {
        throw new Error(`No content in page ${page}`);
      }
      // CSV list 
      let content = [];
    
      body.map((user) => {
        let isEmployee = user.roles[1] ? user.roles[1].name === "Employee" : false;
        content.push(`${user.name}, ${user.email},,,${user.extended.LinkedInprofileoptional},,${user.extended.CompanyName}, ${user.photoUrl}, "VF", ${isEmployee},${user.extended.JobTitleoptional}\n`);
      });
    
     content.forEach((l) => {
        fs.appendFile("users.csv", l, (err) => {
          if (err) {
            console.error(err);
            return;
          }
        });
      });
    }
    
    let content = ['name','email','github','twitter','linkedin','discorse','company','avatar_url','tags','teammate','title','\n'];
    
    fs.appendFile("users.csv", content)
    
    for (let i = 0; i < 39; i++) {
      getUsers(i);
    }
    

    필기

  • 스크립트에 빈 파일이 있어야 합니다users.csv.
  • VF API는 여러 페이지에서 사용자를 반환합니다.나는 처음 가져올 때 얼마나 많은 페이지를 처리해야 하는지 알고 있기 때문에 이 페이지들을 수동으로 훑어보았다.VFPagination 섹션에서 자세한 내용을 확인할 수 있습니다
  • .
  • 생성된 CSV 파일은 Orbit CSV import guidelines을 따릅니다.구성원
  • 과 연관된 다른 태그를 추가하려면 이것Template을 사용합니다.
  • 이 스크립트는 포럼 사용자를 다른 사용자와 구분할 수 있도록 VF 탭을 추가합니다.팀에서 추가하기로 결정한 모든 탭을 추가할 수 있습니다.쉼표로 구분된 목록입니다
  • .

    문제 및 개선 사항

  • 동적 관찰 가져오기 형식은 joined_at 인자를 지정할 수 없기 때문에 모든 가져온 구성원의 가입 날짜는 구성원을 작업공간
  • 으로 가져온 날짜와 같습니다
  • 위 스크립트
  • 에서 페이지 나누기 향상
    CSV 파일이 준비되어 있으므로 구성원을 트랙으로 가져옵니다!

    2. CSV 파일을 트랙으로 가져오기

  • 작업장 설정 섹션으로 탐색

  • CSV 파일 가져오기

  • 가져오기 완료 대기

  • 우리는 설정 이벤트를 준비했다!👇

    3. Webhook을 궤도 활동에 연결


    허브 포럼 지원Webhooks은 다른 웹 사이트 및 서비스와 통합됩니다.VF Webhooks는 Zapier 또는 SendGrid 등의 통합 서비스를 통해 이용할 수 있습니다.이 자습서에서는 Zapier를 사용하고 계정이 이미 있다고 가정합니다.

    바닐라 포럼

  • 새zap을 만들고 바닐라 포럼 프로그램을 검색합니다

  • 접속 매개변수 구성
  • zap을 터치할 이벤트를 선택합니다.새 사용자 추가 선택

  • 트리거 테스트 및 출력 관찰

  • 메모


    주의해야 할 것은 일부 메타데이터가 웹훅의 주체에 포함되지 않는다는 것이다. 예를 들어 회사 이름과 링크디딘 프로필 등이다.VF 등록 양식에 구성된 추가 매개 변수에 따라 각 사용자와 연관된 추가 메타데이터를 포함할 수 있습니다.
    🚀 Zapier Webhook 구조 작전!

    Zapier Webhook 동작


    우리는 바닐라 포럼 절차 이후에 다른 절차를 추가해야 한다.이렇게 하면 VF의 REST API를 사용하여 새 사용자에 대해 더 많은 매개변수를 질의할 수 있습니다.
  • + 기호를 클릭하여 다른 단계 추가
  • "Zapier의 네트워크 갈고리"검색

  • 동작 이벤트에서 GET 선택

  • 설정 작업에서 URLhttps://<your_domain>/api/v2/users/{userID}?expand=extended을 입력합니다.
  • 사용자 ID는 이전 단계에서 획득한 것입니다.새로 추가된 사용자에게 추가 메타데이터를 가져오려면 expand=extended 매개 변수가 필요합니다.수표Expanding User Profile Extender Fields
  • Headers 섹션 아래에 값AuthorizationBearer <Insert VF Token> 제목 추가
  • 계속 을 클릭하고 통합 테스트

  • 궤도 단계:새 사용자 추가


    이제 새 사용자 작성과 관련된 모든 메타데이터를 보유하고 있으며 Orbit에 사용자를 추가할 준비가 되었습니다.
  • + 기호를 클릭하여 새 단계 추가
  • 궤도 검색

  • 작업 이벤트에서 "새 구성원 만들기"를 선택합니다.

  • 정적 (입력을 통해) 또는 동적 (이전 출력에서) 으로 정보를 작성합니다
  • 모든 이벤트에 라벨을 추가하는 것을 잊지 마세요!예를 들어, VF 신규 사용자, VF-Discussion 신규 토론, VF-Comment 신규 의견
  • 계속하고 테스트
  • 클릭
  • Zap 열기
  • 너 망했어!현재, 새로운 사용자가 커뮤니티 포럼에 가입할 때마다, Zapier를 가리키는 웹훅을 터치합니다. Zapier 설정은 Orbit의 API와 절차의 상세한 정보를 이용하여 이 사용자를 Orbit에 추가합니다.
    새로운 토론과 새로운 평론에 대해 당신은 같은 절차를 따를 수 있습니다.모든 이벤트에 정확한 라벨을 추가해야 합니다!

    비결

  • 각 활동과 관련된 모든 태그와 정보를 추가하는 것이 중요합니다.이 기능은 특정 태그
  • 에 따라 구성원 또는 활동을 필터링할 때 유용하게 사용할 수 있습니다.
  • 각 활동의 무게를 수정할 수 있습니다.이것은 당신과 당신의 단체가 미세하게 조정하고 결정할 수 있습니다.
  • 좋은 웹페이지 즐겨찾기