아, 정말 큰 실망이네요!
구글이 2015년 2월 이후로는 건드리지 않은 줄 알았는데, 제 생각이 틀렸었네요.
2020년에 전면적인 리디자인이 있었고, 2021년에는 로고를 다듬은 것으로 보입니다.
아, 정말 큰 실망이네요!
구글이 2015년 2월 이후로는 건드리지 않은 줄 알았는데, 제 생각이 틀렸었네요.
2020년에 전면적인 리디자인이 있었고, 2021년에는 로고를 다듬은 것으로 보입니다.
GMAIL과 Discourse의 API를 사용하여 메일 스레드를 Discourse 게시물로 변환하는 것을 고려하고 있습니다. Google API를 살펴보고 이메일을 가져오는 데는 성공했지만, 몇 가지 질문이 있습니다.
흥미롭네요. Gmail API를 사용하여 Google Groups의 이메일에 접근할 수 있나요, 아니면 그룹으로 전송된 모든 이메일이 있는 Gmail 계정을 단순히 가지고 있는 건가요?
모든 메시지를 개별 *.eml 파일로 저장하는 것을 권장합니다. 전체 메시지(이메일 헤더 포함)가 base64로 인코딩된 경우 만 저장하기 전에 메시지를 디코딩해야 합니다. 그 후 Migrate a mailing list to Discourse (mbox, Listserv, Google Groups, etc) (Google Groups 단계 제외)의 단계를 따르세요. 가져오기 스크립트가 게시글, 첨부파일 및 기타 많은 항목을 처리해 줍니다.
저는 그룹 멤버이므로 제 이메일을 사용해 메일을 가져올 수 있습니다. 헤더를 포함한 전체 이메일 메시지가 인코딩된 문자열의 일부가 됩니다.
적어도 스레드에 대한 경우를 위해 Discourse로 가져오는 데 당신의 방법을 시도해 보겠습니다.
음, 그렇다면 Gmail API가 필요 없을 수도 있습니다. Thunderbird 같은 이메일 클라이언트를 Gmail 계정에 연결하고 개별 이메일이나 mbox 파일을 내보내는 것으로 충분할 것입니다…
이것이 어떻게 작동하는지 정말 궁금합니다. Google Groups는 NNTP를 지원하지 않는다고 알고 있었거든요.
NNTP가 아니라 REST API입니다.
제 메일박스 용량이 200GB를 초과하며, 특정 그룹 관련 이메일을 가져오려면 Thunderbird를 사용하여 이 모든 메일을 다운로드해야 할 수도 있습니다. 또한 Thunderbird는 Google 그룹을 표시하지 않으며, 모든 메일이 '받은 편지함’에만 있습니다. 게다가 매번 200개씩만 다운로드됩니다. 그래서 메일을 모두 가져오는 데 얼마나 걸릴지 확신이 서지 않습니다.
Google 그룹 데이터만 가져와서 mbox로 내보내는 다른 방법이 있을까요?
Gerhard Schlager님, 안녕하세요.
Google Groups를 Discourse로 이전하려고 시도하고 있습니다. 문서에 나와 있는 모든 단계를 그대로 따랐지만, Discourse에는 카테고리만 생성되고 데이터가 가져오지지 않습니다. 이 문제에 대해 빠르게 답변해 주시면 정말 감사하겠습니다.
우리가 알고 있는 유일한 방법은 더 이상 작동하지 않습니다. 데이터를 가져오는 어떤 방법이든 알고 있다면, 그 방법을 사용해야 합니다. 방법을 알고 있다면, 그 방법마저 사라지기 전에 최대한 빨리 데이터를 가져오기 시작하는 것이 좋습니다.
데이터가 메일함에 있다면 Gmail API를 사용하여 데이터를 가져올 수 있을지도 모릅니다. 하지만 개발자가 구글 그룹 데이터가 포함된 메일함에 접근할 수 있어야 코드를 작성할 수 있으므로 다소 까다로울 수 있습니다.
그것이 필요한 엔터프라이즈 고객이 아니라면, cdck(즉, discourse.org)가 그 코드를 곧바로 작성할 가능성은 낮습니다. Marketplace 채널에서 문의해 볼 수 있습니다. 저는 2,000달러 미만으로는 고려하지 않을 것이며, 과거 구글 그룹 가져오기 스크립트로 인해 겪었던 불편함을 고려할 때, 아마도 5,000달러가 필요할 것입니다. 물론 다른 누군가는 더 나은 기술이나 더 많은 인내심을 가지고 있을 수도 있습니다.
효과적일 수 있는 한 가지 방법은 Google Groups와 Discourse 앱이 사용 가능한 경우를 가정하여 Integromat을 사용해 변환을 작성하는 것입니다. 또는 HTTP 호출을 사용하여 각 REST API를 직접 호출하는 방법도 있습니다.
Integromat은 데이터 마이그레이션용 통합 시스템입니다. 매우 강력하며 코딩을 거의 하지 않거나 전혀 하지 않아도 많은 작업을 수행할 수 있습니다.
**Google Takeout**을 시도해 보았습니다. Google Workspace 그룹의 소유자로 지정하여 Google 그룹 대화 내역을 다운로드할 수 있게 되었습니다. 아직 가져오기 작업은 진행 중입니다.
이 방식에는 몇 가지 단점이 있습니다.
안녕하세요 @Anjana_Raghavendra_P - 이 방법으로 간단한 가져오기를 해보셨나요?
감사합니다!
네, takeout에서 mbox 파일을 다운로드하여 원본 게시글에 언급된 단계를 통해 가져왔습니다.
이후 Discourse의 PaaS 서비스를 사용하고 있어 해당 파일을 Discourse 기술 팀에 전달했고, 팀에서 Discourse 플랫폼으로 콘텐츠를 성공적으로 가져왔습니다.
그렇게 들으니 기쁘네요 - 감사합니다!
settings.yml에서 첫 번째 줄인 data_dir: /shared/import/data를 기본값에서 변경했을 때 @sturdy2의 문제를 겪었습니다.
핵심 요약: 이 값은 메인 머신 경로가 아니라 import 도커 내부 경로를 가리키므로 변경하지 마세요.
임포트 재시작에 대해 질문이 있습니다.
저는 개발자가 아니지만, Topicbox Group Email이라는 시스템에서 가져온 mbox 파일 두 개를 성공적으로 임포트했습니다. Digital Ocean에 임시로 설정한 Discourse 인스턴스에서 테스트 임포트를 수행했고, 위에서 언급된 category.custom_fields[“import_id”] = “mydir” 설정에 대한 안내 덕분에 이미 Discourse에서 생성해 둔 기존 카테고리로 두 개의 샘플 mbox 파일을 임포트할 수 있었습니다.
좋았지만, 더 많은 mbox 파일을 임포트하려면 FAQ 2.2에 언급된 모든 명령어를 실행해야 하나요? 해당 항목에는 "모든 것을 삭제한다"고 나와 있습니다.
초기 테스트 가져오기로 두 가지 다른 범주에 대해 "import_id"를 성공적으로 설정할 수 있었습니다. 작동했습니다! 두 개의 mbox 파일이 제가 지정한 기존 범주로 가져와졌습니다.
결국 18개의 다른 범주에 대해 이 작업을 수행해야 합니다. 저는 Ruby에 대해 전혀 모릅니다. Ruby 명령줄 인터페이스에서 각 줄을 수동으로 입력하지 않도록, 각 범주의 디렉터리 이름을 설정하는 파일을 만들 수 있을까요?
네. Google에서 "ruby for each"를 검색해 보세요. 그리고 카테고리 중 일부를 배열로 만들어 보세요.
아니요, 그럴 필요는 없습니다. 가져오기(importer) 기능은 증분 가져오기를 지원합니다. 다음 실행 시에는 새 데이터만 가져옵니다. 처음부터 다시 시작하려는 것이 아니라면 2.2에 언급된 명령을 실행하지 마세요.
불행히도 현재는 불가능합니다. 기존 카테고리로 가져오려면 각 카테고리에 import_id를 지정해야 합니다.
@gerhard 님, 이 프로젝트에 대해 정말 놀라운 작업을 해주셔서 감사합니다! 저는 개발자가 아니지만, Topicbox라는 리스트서브 시스템에서 Discourse로의 마이그레이션을 성공적으로 완료했습니다. Topicbox에서 mbox 파일을 가져와 Discourse에 가져오는 방법을 알아냈습니다. 시행착오 과정을 겪으며 모든 내용을 블로그 게시물로 정리했습니다. 괜찮으시다면, Discourse로 전환을 원하시는 다른 Topicbox 사용자들을 위해 해당 블로그 게시물 링크를 공유하고 싶습니다.