6.x 버전대

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

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

Aggregator 모듈은 RSS 등으로 수집한 블로그 피이드를, 카테고리별로 혹은 Feed별로 모아서 출력해 주는 기본 모듈이다.
이 모듈은 단순하면서도 강력하다. 하지만 몇몇 단점이 있다.
그냥 쓰기에는 이래저래 세팅할 것이나 커스터마이징할 게 너무 많다.
그래서 본 문서의 관련글로 Aggregator 모듈의 튜닝팁 ㅇㅇ탄 이런식으로 글도 몇 번 썼다.
또한 Aggregator를 대체하려는 여러 모듈들이 있는 형국이다.

그럼에도 불구하고, 드루지기들은 Aggregator를 좋아한다.  자세히 보기 »

방아쇠(Trigger)를 만들어 여차하면 뭔가 수행 : Actions 모듈

제목 - 방아쇠(Trigger)를 만들어 여차하면 뭔가 수행 : Actions 모듈

사이트를 꾸미다 보면 이런 요구를 접할 때가 있다.
"새로운 컨텐츠가 작성/공개될 때마다, 메일을 보내거나 특정 작업을 수행하라"

이럴 때 긴요한 것이 Actions 모듈이다.
http://drupal.org/project/actions

Actions 모듈을 설치/활성화하고 나면,
기본적으로는 다음과 같은 방아쇠(이하 트리거) 조건이 있다.
1. 노드가 공개될 때마다 뭔가를 해라 - Publish node
2. 노드가 공개해제될 때마다 뭔가를 해라 - Unpublish node
3. 노드가 최상단에 항상 표시되도록 하면 뭔가 해라 - Make node sticky 자세히 보기 »

드루팔 성능/속도 올리기 제1탄 - 현상을 확인하고, 느린 원인을 찾아내기

드루팔 속도 올리기 제1탄
- 현상을 확인하고, 느린 원인을 찾아내기

드루팔 사이트가 느려지는 원인은 여러가지가 있을 수 있다.

너무 많은 모듈이 동시에 돈다든가, 서버 자체의 성능이 나쁘거나
DB에 부하가 심하게 걸리거나, 혹은 특정 모듈의 버그로 인해서 느려질수도 있다.

이렇게 다양한 원인을 정확하게 집어내려면,
먼저 문제 현상을 확인하는 것이 중요하다.
아니, 이미 느린 것은 아는데 무슨 현상 확인?

느린 것을 막연히 느리다고 표현하면 전문가가 아니다.
느린 경우의 상황과 해당 페이지 등을 좀 더 구체적으로 알아낼 필요가 있다.
예를 들어 항상 느린가? 아니면 특정 페이지에서 느린가?
아니면 어떤 모듈이 활성화되면 느린가? 언제, 무슨 기능을 추가한 뒤로부터 느려졌을까?
등등에 관한 자세한 정보가 있으면 더 명확한 원인을 진단, 정확한 문제해결까지 이루어 질 수 있다.

이런 경우에 쓸만한 측정툴이나 로그가 있으면 참 좋다.

1. (호스팅 회사에 따라 제공할수도 안할수도 있는데)
    MySQL 로그 중 SLOW QUERY 관련 로그를 보면 어떤 상황/모듈에서 느린지 알 수 있다.

2. Devel 이라는 모듈은 해당 페이지의 세부적인 SQL실행 속도를 모두 알려준다.

3. 특정 모듈은 하나씩 꺼 본다. 비활성화했을 때 사이트가 빨라지면 그 모듈이 원인일 가능성이 높다.

4. 모듈들의 버전과 관련 DB Schema을 확인해 본다.

5. 부하집중/해킹의 가능성은 없는지 웹로그 등을 분석해 본다. 자세히 보기 »

컨텐츠의 Vocabularies(카테고리) 변경에 권한별 접근을 설정하고 싶은 경우

제목 : 컨텐츠의 Vocabularies(카테고리) 변경에 권한별 접근을 설정하고 싶은 경우

한 컨텐츠를 수정할 때, 해당 컨텐츠 종류에 Taxonomy가 설정돼 있는 경우에는 Vocabularies(카테고리) 변경할 수 있는 메뉴가 나타난다.

만일 이를 본인이 쓴 사람이라도 함부로 변경할 수 없도록 하고 싶은 경우(이런 특수한 상황이 있었음)에는,


tac_lite 모듈을 사용하면
편하게 Vocabularies(카테고리) 별로 권한 설정이 가능하다.

설정법
------
1. tac_lite 모듈을 다운로드/설치/활성화한다.
2. 관리 > 사용자 관리 > 접근 제어를 클릭해 보면,
접근 제어 메뉴의 하위 메뉴로  자세히 보기 »

본문 이미지를 테마에 맞게, 줄여서 표시하되, 클릭하면 원본 크기로 보이도록 하기

본문 이미지를 테마에 맞게, 줄여서 표시하되, 클릭하면 원본 크기로 보이도록 하기

---- 수정 ----

본 팁은 다소 오래된 것으로, 더 나은 방법인 imagecache 모듈을 이용한 방법을 권한다.


이것도 여러 방법이 있다. ( * 본 글이 검색이 잘 안되서 키워드를 추가 - 썸네일 )

1. 관리 > 컨텐츠 관리 > 컨텐츠 타입 > 이미지 (타입)
> 컨텐츠 필드 중에서 이미지의 속성을 보면,
업로드할 때의 이미지 제한크기를 설정할 수 있다.
하지만, 이 방법만 사용하면 클릭했을 때 원본 크기를 보여주기가 어렵다.

2. contents template 모듈을 이용하면,
이미지 (타입)에 관한 teaser / body / rss 표시를 조정하기 쉽다.
contents template 모듈을 설치/활성화하고 나서,
관리 > 컨텐츠 관리 > Contents Templates > Edit Template 메뉴를 클릭하면,
이미지 컨텐츠의 화면 출력에 관한 body 설정 항목이 있다.
이 곳에... 아래와 같이 입력하면 멋지게 나온다.
(참고로 이미지별로 페이징을 주기 위해 세팅한 Custom Pager라는 모듈이 필요하다.) 자세히 보기 »

드루팔에서 이미지 크기가 본문에서 너무 커 보일 경우

제목 : 드루팔에서 이미지 크기가 본문에서 너무 커 보일 경우.
검색 키워드 : 썸네일 이미지 리사이즈 크기 조절 프리뷰

---- 수정 ----

본 팁은 다소 오래된 것으로, 더 나은 방법인 imagecache 모듈을 이용한 방법을 권한다.


1. admin/settings/image 화면에서 미리보기(혹은 프리뷰) 항목을 원하는 사이즈로 조정해 주면 된다.

 
이렇게 해도 안된다면 아래 방법을 적용해 볼 것.
 
-------- 위가 더 나은 방법임, 아래는 기존 방법 --------
 

Image 모듈을 설치한 다음,
이를 활성화시키고, 그 이후에,
관리자 > 컨텐츠 관리 > 컨텐츠 타입 > image 형태를 편집.

그 편집 화면의 Manage fields 메뉴를 선택한 후에
image 필드 항목의 "설정"을 선택하면
Maximum resolution for Images:항목이 보인다.
이곳에 적당한 크기의 이미지 사이즈를 지정하면 된다.

예를 들어, 460x600 정도로 입력하면,
가로가 최대 460픽셀, 세로가 최대 600픽셀 정도인 본문이미지가 된다.
혹시 기존에 등록돼 있는 큰 이미지가 있다면 다시 올려보기 바란다.
컨텐츠를 등록, 이미지를 업로드할 때 이 크기가 반영된다. 자세히 보기 »

드루팔 사이트에 코멘트(댓글)가 달리면, 특정 어드레스로 안내 메일을 송신하는 법

예전에 기록한 내용이 완전 잘못된 것이라, 급하게 수정합니다.
아래 설명하는 모듈은, 코멘트가 달린 본문 등록자에게 메일을 보내는 것이 아니라, 미리 지정해 둔 어드레스로 안내메일을 보내는 기능을 갖고 있습니다.

새 제목 : 드루팔 사이트에 코멘트(댓글)가 달리면, 특정 어드레스로 안내 메일을 송신하는 법.
옛 제목 : 드루팔에서 코멘트를 쓰면, 본문 등록자에게 메일이 자동으로 가도록 하는 방법.

1. CommentMail 모듈을 설치한다.
http://drupal.org/project/commentmail
*** 2010년 이후로는 아래 패치 과정이 불필요하다.

2. commentmail.module의 약 197라인에 있는,
$node = node_load($comment_obj->nid); 를 찾는다.

3. 그 아래에 다음과 같은 내용을 넣는다.

$strQuery = "SELECT DISTINCT u.mail FROM {users} u WHERE u.uid=".$node->uid;
$resultSetUserInfo = db_query( $strQuery );
$rowUserInfo = db_fetch_object( $resultSetUserInfo );
// echo "alert(' " .$rowUserInfo->mail." ');";

 
4. 그리고 더 아래에 있는 drupal_mail의 부분 밑에 다음과 같이 추가하면 OK.

drupal_mail(
 자세히 보기 »

내용묶음