5.x 버전대

기능성이 가장 좋지만 까다로운 Better Formats 모듈의 사용법

드루팔에서의 Input Filter라 함은, 입력문에 대한 포맷지정을
동적으로 가능하게 하는 기능입니다. (예:HTML 태그 필터링, 특정 변환 등)

이 인풋필터 관련한 모듈들이 여럿 있지만, 그 중에 가장 강력한 것은
Better Formats 모듈입니다.

그런데 Better Formats 모듈의 사용법이 조금 까다롭네요. 그래서 메모합니다.
(참고로 본 글은 palpal.org/node/37 의 댓글에 있던 내용을 업그레이드 한 것입니다)

[Better Formats 모듈의 사용법]

관리자로 로그인후 모듈을 설치/활성화한 후,
admin/settings/filters/settings 에 가서,
(메뉴로는 관리 > 사이트 환경설정 > 입력 형식의 환경설정 탭이다)
Control 항목의 Control formats per node type 을 체크/저장한다.

그런 다음, admin/content/types 에 있는 해당 컨텐츠 타입을 [편집],
Input format settings 항목에 있는
Allowed formats: 를 원하는 필터로 설정해 주면
그 다음부터 해당 컨텐츠 타입으로 생성할 때마다 Allowed formats 에서
지정한 입력 필터 형태로 본문이 저장된다.

본 글의 아래 관련글에도 "Input Filter" 관련 항목이 있으니 참고 바랍니다.

화면은 하얗고 아무 것도 나타나지 않는 공백화면 문제 발생시 대처법

위 제목에 대한 대답의 결론은,

에러를 나타나게 해야 입니다.

대부분의 드루팔 공백 표시 에러 현상은,
경고나 에러를 화면상에 표시하지 않기 때문에 나타나는 것입니다.

특정 화면이나 기능에서, 흰색 공백 화면이 계속 보이고
원하는 결과가 보이지 않는다면, 1차적으로는
드루팔 관리화면 >> Reports >> 최신 로그를 보지요.

하지만 공백 화면 현상은 위 최신 로그로도
드러나지 않는 PHP에러가 근본적인 원인일 가능성이 큽니다.

아래 페이지에서는 이러한 현상에 대한 보다 근본적인 조사방법을 제시합니다.

Blank pages or "white screen of death" (WSOD)
https://drupal.org/node/158043

영어라서 아쉽긴 한데, 간단한 예를 적용해 보시면 금방 이해가 됩니다.

1. 흰색 공백화면 현상이 발생하는 드루팔 사이트가 있는 경우.

2. 해당 드루팔 사이트의 settings.php에 다음의 3라인을 추가.

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

3. 그리고 해당 드루팔 사이트의 문제있는 화면이나 기능을 다시 확인.

4. 구체적인 PHP에러 메시지가 보일 겁니다. 이를 해결하면 공백화면 사라짐.

5. 이후에 2번 과정의 적용을 다시 원래대로 복원해 두면 좋겠죠.

드루팔 성능/속도 올리기 끝판 - 드루팔 성능 향상에 대한 모듈 비교 문서

왜 진작 못찾았을까요. (모른 것은 게으른 탓...)

Caching: Modules that make Drupal scale
https://groups.drupal.org/node/21897

드루팔 성능 향상의 여러 방법 중,
모듈로만 승부를 보시겠다는 분은
위 주소의 글을 꼼꼼히 확인해 보시고
Performance Gain항목이 Very High 또는 High
인 모듈을 적용해 보시길 바랍니다.

개인적으로는 서버와 회선 등 인프라적인 면도
같이 개선되면 최고의 결과를 얻을 듯 합니다.

Pathauto 모듈의 사용법을 뒤집어 보다.

패스오토 모듈은, 드루팔에서 각각의
컨텐츠 노드의 주소를 조금 더 가독성 높고 SEO 친화적인
형태로 URL Alias를 조정해 주는 역할을 한다.

Taxonomy의 용어 페이지에도 이 모듈을 이용해
"category/해당용어" 형태로 바꿀 수 있는데,
드루팔 관리자 인터페이스에서 찾기 어렵다는 질문이 종종 있다.

path auth 의 설정 화면은,
/admin/build/path/pathauto
에 있다. 화면상으로는
URL Alias 설정의 "Automated alias settings" 메뉴를 선택하면 나온다.

이 곳에서 Taxonomy term paths 항목을 선택하고,
Bulk generate aliases for terms that are not aliased 를 체크한 후,
설정을 저장하면 지금까지 있던 카테고리별 용어설정 주소가,
"category/해당용어" 형태로 전환된다.

* 이 때 주의할 점은, Taxonomy term paths 의 전환이 50개씩 진행되므로,
  Bulk generation of terms completed, 50 aliases generated.
  메시지가 ... 0 또는 50이하 aliases ...로 바뀔 때까지 반복해야 한다.

Block이나 View를 노드 본문에 삽입하는 방법들

Block이나 View를 노드 본문에 삽입하는 방법들은 참으로 다양하다.

열거하자면,


1. Panels나 Display Suite 모듈을 이용하는 경우.
기능이 풍부하고 드래그 드랍을 지원하는 등 조작성이 풍부하나,
그만큼 모듈이 고장나기 쉽다. (패널즈는 버전업 때 항상 애를 먹었다)

2. Contents Template를 이용하는 경우.
손수 코딩을 하는 셈이니, 가변성은 제일 좋지만
그만큼 최초의 템플릿 수정이 귀찮고,
또한 노드 타입 전체에 적용돼 한 노드 적용에는 부적합.

3. Insert View 모듈을 이용하는 경우.
https://drupal.org/project/insert_view
모듈 설치/활성화후, 입력 필터에서 인설트뷰를 체크하면,
그 다음에 해당 입력 필터로 작성되는 어떠한 노드에서도 가볍게 뷰(블럭)를 지정가능함.
The tag syntax is [view:name=display=args] 예) [view:feeds=block_2=]

4. node-nodetype.tpl.php 등 템플릿 레벨을 수정하여 이용하는 경우.
이 또한 가변성은 아주 좋지만, 최초 수정이 귀찮고,
또한 노드 타입 전체에 적용돼 한 노드 적용에는 부적합.

5. CCK Blocks이나 Block Reference 모듈을 이용하는 경우.
https://drupal.org/project/cck_blocks

드루팔 시스템 update시의 에러 해결 메모 : emfield, youtube 모듈 관련

드루팔 시스템을 업데이트하는 방법은 단순하다.

관리자로 로그인한 후, /update.php를 기동하면 된다.

그런데 어느 날, 통상적인 보안패치로 업데이트를 기동하니 다음과 같은 에러가 뜬다.

The update process was aborted prematurely while running update #6012 in media_youtube.module. All errors have been logged.

아무래도 최근에 소스 업데이트한 media_youtube 모듈이 문제인 듯 하다.

업데이트할 때마다 에러가 계속 나서 여타 모듈의 갱신도 전부 멈추고.

유튜브 모듈 소스를 예전으로 돌릴까 아니면 소스를 살펴볼까 어떻게 할까 고민하다가,

혹시나 해서, admin/build/modules 에서 emfield (Embeded Field Module)과 media_youtube 모듈을 활성화했다.

그리고 나서 다시 업데이트를 해 보니, 문제없이 진행이 됐다.

참고) 예전에 심각한 버그로 emfield 모듈을 정지시킨 후였다. 아래 쪽의 관련 글 참고.

해결된 이유를 조사하는 것은 귀찮아서 넘어가고, 비슷한 상황을 겪을까 메모해 둔다.

외국발 스팸을 막기 위한 극단적 조치와 과거 이야기들

우선 사과 말씀 하나.
최근에 본 사이트에 로봇으로 등록된 계정들이
상업성 광고글과 댓글을 왕창 달았습니다.

해당 글과 댓글들은 모두 삭제했습니다만,
반성하고 개선해야하기에 기록을 남깁니다.

예전부터 본 사이트는 개방형 등록사이트로,
이메일만 중복되지 않는다면 누구나 쉽게 가입, 글을 쓸 수 있었습니다.

그러다 보니 외국발 스팸들이 어느 순간부터 설치기 시작,
한번씩 대량의 광고글들이 들이닫쳐 사이트의 신뢰성을 갉아먹더군요.

여지껏 이를 해소하기 위한 방법도 여러 번 있었습니다.

- 캡챠를 이용해서 자동로봇 등록을 막는 방법.

>> 지금도 사용하고 있습니다만, 완벽하게 막지는 못합니다.
>> 캡챠 확인글로 한글을 입력하게 하는 방법도 있긴 합니다. (외국발 스팸 방지용)

- 스팸 방지 모듈들을 사용하는 방법. (spam, http:BL, spambot 등 모듈)

>> 설정이 까다롭거나 작동이 완벽하지 않을 수 있습니다.

- 드루팔 모듈의 보안패치를 부지런하게 수행한다.

>> 말 그대로 부지런해야 합니다. 뭐, 다른 CMS보다야 과정이 나은 듯 합니다만.

이런 저런 기술적 방법들이 있는 것 같습니다만,
날고 기는 스팸머들에게는 방어벽을 업그레이드할 여유가 늘 부족한 듯 합니다.

그. 래. 서.

실제로 등록하실 분들에게 심히 죄송스럽게도 (많이 번거롭겠지만)
등록 승인제로 바꾸기로 했습니다. 게다가 로봇 등록을 막기 위해
등록시 확인정보(인간만이 입력할 만한 정감있는 내용?!)도 묻습니다.

ImageCache 모듈의 "Failed generating an image from 이미지파일명 using imagecache preset 이미지캐쉬_프리셋명" 에러 대응책

ImageCache 모듈의 "Failed generating an image from 이미지파일명 using imagecache preset 이미지캐쉬_프리셋명" 에러 대응책

이미지캐쉬 모듈은 아주 유용하면서도 필수적인 모듈(이미지의 캐쉬 기능이 이상이다)이며,
또한 고장이 잘 나지않는, 드루지기의 추천 모듈 탑10에 들어가는 모듈이다. (이미지의 확대/축소/자르기/워터마크 등이 가능)

그런데 아래와 같은 에러가 나면서 어지간해서 고쳐지지 않고 캐쉬 이미지가 깨지는 현상이 발생했다.

드루팔 시스템 로그를 관리화면에서 보면

action(id:8): imagecache_effects_watermark failed for sites/드루팔.사이트명/files/imagecache_sample.png

Failed generating an image from 이미지파일명 using imagecache preset 이미지캐쉬_프리셋명

에러가 줄지어서 발생하고, 사용자 화면에서는 축소표시할 썸브네일 이미지가 전혀 나타나지 않았다.

______________________

결론적으로 아래와 같은 원인과 파일접근 권한부여 조치로 문제를 해결했으나,
여러 문제 케이스가 있을 수 있으므로 가능한 모든 체크 항목을 메모해 둔다.

원인 : 해당 이미지캐쉬_프리셋명의 특정 액션에서 사용할 이미지가 아파치 서버에서 접근 불가능한 권한설정이었다.

______________________

이미지캐쉬 모듈의 고장시 체크 항목 (범위가 넓다)

1. 드루팔 시스템 로그

Powered by Drupal을 안보이게 하고 싶다면

드루팔 테마 종류에 따라서
Powered by Drupal가 눈에 잘 띄는 경우가 있다.

크게 문제되지 않고, 경우에 따라 어떤 무료 테마는 강제 표시 조항이기도 하다.

정작 걱정할 문제는 드루팔임을 일부러 알리고 싶지 않은,
보안이나 오픈소스 공격이 크게 염려되는 사이트이다.
드루팔로 꾸미되 드루팔이 아닌 것처럼 보이게 하고 싶은 경우,
(많지는 않겠지만) 그런 희망이 있는 이들을 위해 메모해 둔다.

아래와 같은 방법들이 있다.

1. 우선 관리 >> 블럭 설정에서 풋터 부분에 Powered by Drupal 항목이 있는지 살펴 보자.

2. 해당 테마 설정에 가서 부가적으로 Powered by Drupal 항목을 안보이게 하는 옵션이 있는지 살펴 보자.

3. 1번도 2번도 해당 사항이 없다면, 해당 테마를 직접 수정하면 된다.
   이때, sites/all/theme에서 해당 테마 폴더를 전체 복사해서,
   sites/해당사이트/theme/아래로 복사할 필요가 있다. (커스터마이징시 권장사항)
   그래야만 나중에 본래 테마가 업그레이드 돼도 본인이 커스터마이징한 내용이 보관된다.

드루팔 모듈 사용순위별 랭킹

드루팔 모듈 사용순위별 랭킹.

http://drupal.org/project/usage

에 가면 사용빈도에 따른 모듈 일람이 있다.
아주 무거운 페이지이므로 인내를 요한다.

Syndicate content