Issues with embedding from RSS

시몬, 안녕하세요.

아직 병합(merge)되지 않은 것 같습니다.
몇 시간 동안 계속 시도해 봤는데… 아무래도 안 되네요.
포럼 설정에서 미분류 카테고리를 사용하지 않도록 해 놓았는데, 어떻게 해도 RSS 피드가 전부 미분류 카테고리로 들어갑니다.

RSS Polling 페이지에 카테고리를 추가해 주실 수 있을까요?
피드 URL - 작성자 - 클래스 - 카테고리 형식으로요. 그리고 임베딩 부분은 백그라운드에서 처리해 주시면 좋겠습니다.

제가 이해를 못 하고 있습니다.

피드 링크 속성의 도메인인가요?
드롭다운에서 카테고리를 선택하는 줄 알았는데…

하지만 저는 RSS Polling 페이지에 피드의 전체 URL을 입력했는데?
서로 다른 두 곳에 서로 다른 형식으로 동일한 정보를 입력하고 있는데, 이 둘이 매칭되지 않는 것 같습니다.
허용된 호스트/화이트리스트 경로의 목적을 이해할 수 없습니다.

방금 확인해보니 PR이 병합되지 않은 것을 알 수 있습니다. 제 변경 사항을 누군가 빠르게 검토해서 코어 코드에 병합되도록 하겠습니다. 질문하신 내용을 바탕으로, 플러그인에 추가한 피드 토픽 카테고리 설정 방법에 대한 설명이 명확하지 않을 수도 있겠다는 생각이 듭니다. 여기서 다시 한번 설명해 보겠습니다.

RSS 피드 토픽이 게시되는 카테고리는 피드의 link 속성 도메인을 기준으로 결정되며, 피드 자체의 도메인을 기준으로 하지 않습니다. 예를 들어, 피드가 https://example.com/feed에 있지만 피드 내 링크 속성이 https://www.example.com/의 게시물들을 가리키고 있다면, 관리자 / 사용자 정의 / 임베딩 호스트(Admin / Customize / Embedding hosts) 섹션에 추가해야 하는 도메인은 example.com이 아니라 www.example.com입니다. 아래 예시에서는 피드에서 가져온 모든 게시물이 “fun” 카테고리에 게시되도록 설정되어 있습니다:

피드의 링크 속성 값을 찾으려면 피드의 마크업을 확인해야 합니다. 브라우저에서 피드 URL을 로드하여 확인할 수 있습니다.

이 기능은 블로그의 특정 경로에 있는 게시물을 Discourse 카테고리에 게시할 수 있게 해줍니다. 예를 들어:

이 설정은 www.example.com/fun 경로에 있는 모든 게시물을 제 “fun” 카테고리에, www.example.com/support 경로에 있는 모든 게시물을 “Customer support” 카테고리에 게시하도록 합니다.

왜 임베드 페이지에 있는 건지 이해가 안 됩니다.
피드 전체 URL은 이미 입력해 두었거든요.
플러그인이 URL을 허용된 호스트(Allowed Hosts)와 경로 화이트리스트(Path Whitelist)로 나눠서 처리해 주면, 제가 두 번 입력할 필요가 없지 않나요?

RSS 폴링 플러그인과 임베드 페이지의 예시 입력값이 서로 맞지 않습니다.
'feeds’는 한쪽에서는 서브도메인으로 쓰이고, 나중에 경로로 쓰이기도 하잖아요.

몇 가지 RSS 피드로 시도해 봤습니다.
이 피드 … BBC Health - BBC Health - 관리자 사용자

허용된 호스트 - feeds.bbci.co.uk
경로 화이트리스트 - /health/.*
건강(Health) 카테고리로 설정

위 설정이 작동해야 할 것 같은데, 작동하지 않습니다.
수 시간 동안 가능한 모든 조합을 시도해 봤습니다.

RSS 피드 설정이 꽤 어렵다는 데 동의합니다. 일부 문제는 RSS 피드 코어를 Discourse의 핵심 코드에서 플러그인으로 이동시킨 것과 관련이 있습니다. Discourse의 RSS 피드 기능을 사용하고 있는 사이트를 제가 아는 한 많지 않습니다.

테스트를 위해 제 사이트에서 https://feeds.bbci.co.uk/health/rss.xml 피드를 설정했습니다. 설정 화면은 다음과 같습니다:

처음 설정했을 때, 모든 피드 주제가 자동으로 ‘분류되지 않음’ 카테고리에 게시되었습니다. 이를 해결하기 위해 생성된 주제 중 몇 가지를 방문하여 게시물의 해당 섹션을 확인했습니다:

image

이것은 게시물의 URL이 http://www.bbc.co.uk/news/uk-politics-21668349#sa-ns_mchannel=rss&ns_source=PublicRSS20-sa임을 의미합니다. 게시물의 도메인은 www.bbc.co.uk입니다. 그런 다음 이 도메인을 내 임베딩(Embedding) 페이지의 허용 호스트(Allowed Host)로 추가했습니다. 경로 /news/.*를 ‘재미(fun)’ 카테고리에 게시하도록 설정했습니다:

그 후 피드에 의해 생성된 첫 번째 배치의 주제들을 삭제했습니다. Discourse가 다시 가져오고 있습니다. 이제 올바른 카테고리에 게시되고 있습니다.

안녕하세요, 드디어 방법을 찾았어요… 죄송합니다.
BBC 피드부터 시작하는 것은 잘못된 선택이었네요.

이제 용어를 이해했어요.
RSS 피드 내부의 링크를 말씀하시는 줄 몰랐습니다.
피드 URL만 있으면 충분할 거라고 생각했거든요.

네, 제가 본 것 중 가장 파악하기 어려운 경우인 것 같습니다. 링크가 BBC 서버에 의해 리디렉션되고, 피드를 브라우저에서 직접 볼 수 없기 때문입니다. 올바른 임베드 도메인을 찾는 유일한 방법은 먼저 게시물을 내 사이트에 게시하는 것이었습니다. 일반적으로는 이 플러그인을 설정하는 것이 훨씬 쉽습니다.

불행히도 BBC 건강 피드는 다양한 경로에서 데이터를 가져옵니다.
방금 전에는 역사 섹션에서 열대의학 관련 기사가 하나 올라왔네요. 그래서 제 건강 피드에도 /history/.*가 필요합니다.
하지만 BBC 피드를 하나만 추가하면 이 방법은 작동합니다.
시간과 인내를 가져주셔서 정말 감사합니다. :clap: :clap:

꽤 오래된 주제를 다시 꺼내어 좋은 설명을 해주셔서 감사합니다. 불행히도 그 설명 덕분에 이 플러그인이 제 필요에 맞지 않을 가능성이 높다는 것을 알게 되었습니다. 저는 Shaarli 인스턴스로 생성된 피드를 임베드하려고 하고 있는데, 각 항목의 링크 속성이 완전히 다른 도메인을 가리키고 있습니다(Shaarli가 북마크 아카이브 도구이므로). 경로에 와일드카드(임의의 문자열을 나타내는 특수 문자)를 사용하여 모든 수신 피드 항목을 특정 범주로 유도할 수 있는 방법이 없다고 생각하는데, 맞습니까?

아, 괜찮아요. Shaarli에서 소스에서 다른 피드를 생성하는 방법을 찾았어요. 제 필요에 맞게 해결했습니다.

몇 주 전에 여기서 언급했듯이, 다른 피드를 사용하면 영구 링크 문제를 해결할 수 있었습니다. 하지만 이제 플러그인이 각 항목의 내용을 가져오지 못하고 있습니다.

토ピック은 설정된 대로 올바른 제목, 올바른 사용자, 그리고 적절한 카테고리로 생성됩니다. 그러나 토ピック 본문에는 "이것은 이 원본 메시지와 관련된 토론입니다"라는 문구(정확하지 않아 죄송합니다. 포르투갈어 로케일을 사용 중입니다)와 올바른 URL이 표시됩니다.

그 아래에는 "전체 메시지 보기"라는 버튼이 있습니다. 이 버튼을 클릭하면 무한정 “로딩 중” 상태로 유지됩니다. 토ピック에 두 번째로 접속하면 캐시가 생성되었을 것으로 생각했지만, 그런 것 같지는 않습니다.

예시:
https://rede.tropixel.org/t/greentech-alliance/418

피드 소스는 다음과 같습니다:

도움이 될 만한 팁이 있다면 알려주세요.

문제는 Discourse가 https://links.efeefe.me/?xZVQww 페이지에 있는 콘텐츠를 찾지 못하고 있기 때문인 것 같습니다. 해당 페이지에는 텍스트가 매우 적습니다. “전체 게시물 보기” 버튼을 클릭하면 Discourse는 페이지의 주요 콘텐츠를 가져오기 위해 페이지를 스크래핑하려고 합니다. 페이지의 콘텐츠가 매우 적은 경우, Discourse의 embed whitelist selector 사이트 설정을 구성하여 페이지의 주요 콘텐츠를 식별하는 데 도움이 될 수 있습니다. 그 방법을 자세히 설명한 내용은 여기에서 확인할 수 있습니다: Configuring allowed embed selectors.

감사합니다. 제가 시도해 보았지만(제 경우 "linklist-item-description"을 화이트리스트에 추가했습니다), 캐시가 새로고침될 때까지 기다리고 RSS 소스에 새 항목을 추가해도 효과가 없었습니다.

.linklist-item을 시도해 보세요 (클래스 이름 앞에 있는 .을 주의하세요. 반드시 포함해야 합니다.)

.linklist-item .linklist-item-title, .linklist-item .linklist-item-description도 시도해 볼 수 있습니다.

변경 사항을 확인하려면 최대 10분까지 기다려야 합니다. Discourse 사이트의 Rails 콘솔에 접근 권한이 있다면 Rails.cache.clear를 실행하여 캐시를 지울 수 있습니다. 이렇게 하면 변경 사항을 즉시 확인할 수 있습니다.