외부에서 수집한 Feed를 특정 컨텐츠 타입으로 노드화하기 : FeedAPI 모듈

댓글

9 comments posted
Aggregator 모듈과

Aggregator 모듈과 충돌이 날 수 있으므로, FeedAPI를 활성화할 때, Aggregator 모듈은 비활성화한다.

Posted by palpal on 목, 2008-02-21 00:57
이 FeedAPI 모듈을

이 FeedAPI 모듈을 이용해서 노드화할 때의 단점은,
기본 입력형식이 Filtered HTML로 되어서 원격으로 불러오는 RSS 피이드 데이터가 엉망으로 보인다는 것이다.
이것을 해결하는데 엄청난 에너지를 쏟았다.
온갖 꽁수와 모듈들이 테스트 대상에 올랐는데...
최종 해결책은 SafeHTML 이라는 모듈이다.
이 문제와 정말 관계없이 보이는 이 안전HTML 모듈이 어떤 역할을 했길래-=-!!! 기대하시라 다음 주 안으로 장문의 해결책을 공개하겠다.

- 드루지기

Posted by 익명 on 목, 2008-02-21 03:50
* 위 댓글의 SafeHTML

* 위 댓글의 SafeHTML 이라는 모듈에 관한 설명은 제일 아래 쪽의 "이 글과 관련이 있나요?" 항목을 찾아보면 된다.

* (세월이 흘러) 위 문제 - 이 FeedAPI 모듈을 이용해서 노드화할 때의 단점은,
기본 입력형식이 Filtered HTML로 되어서 원격으로 불러오는 RSS 피이드 데이터가 엉망으로 보인다는 것 - 는 이렇게도 해결된다.

ㅁ admin/settings/feedapi 메뉴에서 불량스러운? HTML 태그를 삭제, 해당 태그를 빼고 피이드 내용을 접수하면 되겠다. 하지만 이는 원본을 심히 훼손하게 된다.

ㅁ 더 좋은 방법은 일단 다 접수하고 난 다음에, ConTemplate 모듈을 이용해서 노드화된 피이드 자료의 RSS 와 본문을 Rendering 하는 것이다. 이에 관한 자세한 내용은 본 사이트의 검색란에서 "ConTemplate"로 찾아보면 나온다.

Posted by palpal on 화, 2009-03-24 00:20
leech 라는 모듈이

leech 라는 모듈이 피이드를 노드화할 수 있다.
하지만 이 모듈은 버전6에서부터 FeedAPI에 통합된다.

Posted by palpal on 화, 2008-03-11 09:47
admin/settings/feedapi

admin/settings/feedapi 메뉴에서 img 태그를 추가하면
RSS를 불러올 때 이미지도 제대로 불러올 수 있죠.

Posted by 익명 on 월, 2008-05-19 23:38
중요한 것 하나 더!!!

중요한 것 하나 더!!! 위에 적힌 FeedAPI의 기능대로
RSS를 노드화 하려면 아래 주소(컨텐츠 타입의 설정)에서
admin/content/types

해당 컨텐츠 타입을 편집 선택하시고,
그 안에서 노드화 기능을 담당하는
FeedAPI Node - create nodes from feed items
항목을 Enable로 체크해 주어야 합니다.

또한 수집된 RSS데이타가 어떠한 타입의 노드로 변환될지도 지정해 두어야 합니다.
(*Default Settings의 Node type of feed items: 항목에서 노드타입 지정 가능)

Posted by 익명 on 월, 2008-05-19 23:47
RSS를 노드화 할 때,

RSS를 노드화 할 때, RSS의 피드 종류에 따라 자동적으로
카테고리를 지정, 나중에 Taxonomy에 의한 태그 분류를
하고 싶다면, Feed Element Mapper 모듈을 사용하면 된다.

Feed Element Mapper 모듈
http://drupal.org/project/feedapi_mapper

위 모듈을 설치/활성화한 후, 해당 Feed 정보 편집에 가서
이미 설정돼 있는 카테고리 단어를 선택하면 된다.
카테고리 단어(Taxonomy)가 하나도 없다면 아래 주소에서 추가할 수 있다.

admin/content/taxonomy

* 이때 중요한 것은 Feed를 읽어서 노드화 된 것들은 또다른
컨텐츠 타입이므로 원래 Feed 아이템의 Taxonomy 속성을
하위의 노드화된 RSS items에도 전파하지 않으면 안된다!
그러므로, 해당 Feed 컨텐츠의 타입 설정에서 FeedAPI inherit ... 항목에도
체크표시를 클릭/활성화하자.
이미 예전부터 취득돼 있던 RSS 노드들은 뒤늦게 작성한 Taxonomy가 안먹는다.
이런 경우에는 기존 Feed items를 모두 삭제한 다음(RSS의 최신건수에 주의 바람!),
새로 Refresh를 하면 전에 없던 Taxonomy 카테고리 분류가 생성된다.

Posted by palpal on 월, 2008-12-22 15:11
Feed Element Mapper

Feed Element Mapper 모듈은,
http://drupal.org/project/feedapi_mapper
외부로부터 입수되는 RSS 정보의 특정 부분을
노드화되는 컨텐츠의 특정 CCK Field에 배당하는 역할이다.

맵핑할 수 있는 항목으로는,
title:
options->original_url:
options->timestamp:
options->guid:
options->original_author->name:
options->original_author->link:
options->original_author->email
options->original_author:
options->domains:
options->tags:
options->raw->title:
options->raw->link:
options->raw->category:
options->raw->pubDate:
options->raw->guid:
options->raw->description:
options->raw:
options:
가 있다. 2009년 3월 기준의 6.x 버전대를 참고했다.

Posted by palpal on 화, 2009-03-24 00:13
FeedAPI로 생성된

FeedAPI로 생성된 Feeds를 정기적으로 갱신(Refresh)하려면,
CRON을 이용해야 한다. 드루팔을 설치할 때 크론을 제대로 설정했다면
별다른 설정 없이도 Feeds가 정기적으로 갱신된다.

하지만 CRON설정이 불가능한 상황이라면,
poormanscron 모듈을 이용하기도 한다.

그런데 아쉽게도 이 모듈이 2008년말 기준으로
FeedAPI 모듈과 맞지 않아 Feeds 자동 갱신이 되지 않는다는 보고가 있다.

Poormanscron and FeedAPI don't work together | drupal.org
http://drupal.org/node/255852

다른 해결책으로는 webcron이나 cronjobs.org 사이트 등을 이용해서
드루팔설치주소/cron.php 를 정기적으로 원격 콜 하는 것인데 유료가 많고
보안상 좋지 않은 것 같다.

이래저래 FeedAPI와 PoormansCron은 궁합이 현재 좋지 않다.
개인적으로는 하루 한번씩 Selenium이라는 개발용 테스트툴로
Feeds를 갱신하는 사이트가 있다. 이 사이트 역시 이 문제를 겪고 있다.

Posted by palpal on 월, 2009-01-26 12:10