아마도 지정된 시간 루틴을 통해 주제를 순회하며 아무것도 누락되지 않았는지 확인하고, 양쪽이 일치하도록 순서를 다시 정하는 작업이 필요할 것입니다
사용자 상태, 역할 및 권한 이해하기에 따르면, 스테이징 사용자는 우리가 원하는 것을 기본적으로 수행할 것 같습니다. 나중에 누군가 해당 이메일 주소로 계정을 생성하면, 이를 "인수(claim)"하여 마치 처음부터 그곳에 있었던 것처럼 모든 게시물과 상호작용할 수 있기 때문입니다.
하지만, API를 통해 스테이징 사용자를 생성하는 방법이 있을까요? Discourse API Docs 에서 이를 찾을 수 없습니다.
이 접근 방식을 사용하면 사용자가 이메일을 통해 주제와 답변을 작성한 것처럼 보일 것입니다. 대기(staged) 상태의 사용자는 이메일을 통해서만 게시물을 작성할 수 있습니다. API를 통해 대기 상태 사용자에게 이메일이 아닌 게시물을 생성하려고 하면 액세스 권한 오류가 발생합니다.
대기 상태 사용자 접근 방식에 대해 뭔가 마음에 들지 않는 부분이 있습니다. 사용자들에게 조사를 해보아 우려 사항이 있는지 확인해 보는 것이 좋을 수도 있습니다. 사용자들의 허락을 받을 수 있다면, 미러 사이트에서 활성 상태의 대기하지 않은(active non-staged) 사용자를 생성한 후, API를 통해 그들의 주제와 댓글을 게시할 수 있습니다.
staged: true를 전달하면 대기 상태의 사용자가 생성됩니다. 이러한 방식으로 생성된 사용자는 이메일을 통해 게시물을 작성할 수 있을 것이라고 가정하고 있습니다. 제 로컬 개발 사이트는 Discourse로 이메일을 보내도록 구성되어 있지 않아, 현재 이를 테스트할 수 없습니다.
컨택트 폼을 처리하는 범용 폼 프로세서로 discourse를 사용해 보고 싶었습니다. 저는 컨택트 폼을 별로 좋아하지 않지만, 일부 사용자는 이메일을 보내는 것보다 컨택트 폼을 사용하는 것을 더 선호합니다. 그런 사람들이 잘못된 선택을 한다고 생각하더라도, 그들이 저에게 연락하고 돈을 지불할 수 있도록 더 쉽게 만들어 주고 싶습니다.
다른 시스템을 통해 폼을 처리하고 이메일을 보내는 대신, 스테이징된(staged) 사용자를 생성하는 메시지를 만들 수 있으면 정말 편리할 것 같습니다.
이를 위해 플러그인을 만들어야 할 것 같고, 그것이 제 계획입니다.
이것은 워드프레스를 제거하기 위해 제가 알아봐야 할 거의 유일한 남은 사항입니다.
그래서 플러그인에서 게시물을 이메일인 것처럼 생성하는 방식을 사용할 수도 있습니다. 플러그인에서 이를 구현하는 것은 그렇게 어렵지 않을 것입니다. 그리고 그렇게 하면 API를 통해 이를 가능하게 할 수 있을 것입니다.
오! 당연하군요. 그게 메일 수신기가 메일을 전달하는 방식이군요. 어떤 폼에서든 임의의 필드를 받아서 토픽에 넣고 저에게 전달해 주는 엔드포인트를 만들고 싶습니다. 그러면 공개 API 키를 만들 필요가 없게 되니까요 (메일 전달에만 범위가 제한된 API 키라면, 자바스크립트로 폼을 처리한 후 기존 엔드포인트로 전달하는 방식이 그렇게 나쁘지 않아 보이거든요).