6.x 버전대

Drupal을 이용한 분산 DB간 PDB 개발 패턴 (JOIN 관련)

Drupal을 이용한 분산 DB간 PDB 개발 패턴

아래 주소를 참고해서 공부해야 합니다!
http://drupal.org/node/235062#comment-1222751

아주 중요하고 특이한 기술인데요.

물리적으로 분산된 Table을 어떻게든 연결, 조인해야 하는 경우에...
의외로 관련 기술 안내가 부족합니다. 참고해 보시길.

-----------------------------------------

추가) 이와 관련된 기사들을 링크 메모합니다.

bs0048님 기록해 주신 링크
http://drupal.org/node/310075

위 Database abstraction layer와 관련된 다른 링크
https://api.drupal.org/api/drupal/developer%21topics%21forms_api_referen...

Tables part 1: Joins
http://drupal.org/node/99564

hook_views_data(): Can I create a view with the results of an INNER JOIN?
http://drupal.org/node/414086

nodereference
http://groups.drupal.org/taxonomy/term/1956

Reference 필드를 이용한 Views의 RelationShip 연결

Reference 필드를 이용한 Views의 RelationShip 연결은,
마치 관계 DB에서의 JOIN과 비슷한 결과를 보여준다.

http://drupal.org/node/289738
에 좋은 예가 있다. 아티스트와 노래 목록의 연결 표시 예이다.

또다른 예로,
Services Views 을 이용한 REST결과에 파일 패스가 보이지 않는 경우가 있는데,
이 경우에도 http://drupal.org/node/508388
에 알려진 것처럼,
Views 설정 화면의 필드 항목에서
Content : File URL을 선택할 것이 아니라,
File : File Path를 지정하면 (부분적인 패스지만) 문제가 해소된다.

노드별로, 유저롤(권한)별로 컨텐츠 제출 갯수를 제한한다. Node Limit 모듈.

노드별로, 유저롤(권한)별로 컨텐츠 제출 갯수를 제한한다. Node Limits 모듈.
http://drupal.org/project/node_limit

특정 기간동안 정해진 인원수만큼을 웹으로 신청접수받는
세미나 등록 시스템을 만들고자 한다.

요건을 가볍게 써 본다면,

1. 관리자가 복수의 세미나를 손쉽게 신규등록/편집/삭제할 수 있어야 한다.
특별히 인원수와 접수마감일의 설정이 가능해야 한다.
2. 세미나 참가 희망자들은 세미나 참가신청을 웹으로 접수하되,
인원 및 기간 제한이 있어 이를 넘길 경우, 신청접수가 불가능하다.
3. 세미나 참가 희망자들이 입력한 참가신청 정보를 메일로 확인 송신. 자세히 보기 »

정기적인 CRON 작업을 멈추게 하는 문제 모듈을 찾고 싶을 때

드루팔의 크론 실행이 잘 안된다고 느끼는 경우에는,
어떤 모듈에서 에러가 나는지 로그를 남길 필요가 있다.
(물론 다른 원인에 의해서 크론 실행이 안될 수도 있다)

크론 실행되는 도중에 해당 모듈들이 사용되는
경우를 확인하는 법은, 아래의 구문을 크론 관련 모듈 소스에
추가하면 된다.

if ($hook == 'cron') watchdog('cron', "hit $module cron");

참고 - http://drupal-tips.org/

특정 CCK 노드의 입력/수정 Form을 변경하려면

특정 CCK 노드의 입력/수정 Form을 변경하려면 어떻게 하는 게 좋을까.

1. 우선 Tooth라는 노드 타입을 정의해 보자. CCK의 IMPORT 기능을 이용하면 쉽다.
( 관련 글 참고 - "체크박스 형태의 4방향 톱니 관련 CCK 설정 예" )

2. 테마 폴더에 themplate.php 를 생성하고 아래 코드를 넣는다.
이미 있다면 제일 아래에 추가해 넣는다. 주의할 점 :

<?php
--
?>

에서 닫는 ?>는 쓰지말 것. 자세히 보기 »

특정 화면만 별도의 테마를 설정하려면 ( Taxonomy 별로 Theme를 설정하려면 )

특정 화면만 별도의 테마를 설정하려면 ( Taxonomy 별로 Theme를 설정하려면 )

Taxonomy Theme 모듈을 이용하면 된다.
http://drupal.org/project/taxonomy_theme

사용법에 관한 좋은 설명 예가 아래 주소에 있다.
http://www.molecularsciences.org/drupal/using_multiple_themes


download taxonomy_theme http://drupal.org/project/taxonomy_theme
Administer > Site building > Modules
check the checkbox next to taxonomy theme
Save configuration

Administer > Site configuration > Taxonomy theme
Check Enable Taxonomy-based templates
Check Show theme option on term/vocab/content-types pages
Save

Taxonomy
term_based save

Administer > Categories
Vocabulary: Theme switch
Description: Permits switching of themes 자세히 보기 »

드루팔 모듈의 제작, 업그레이드시 DB 스키마는 신중하게 정하자. Image 모듈의 업그레이드 사태를 타산지석으로.

드루팔 모듈의 제작, 업그레이드시 DB 스키마는 신중하게 정하자.

Image 모듈의 업그레이드 사태를 타산지석으로 삼자는 이 긴 제목의 글은,
드루팔 개발자를 위한 것이다.

user warning: Unknown column 'image.nid' in 'field list' query:

드루팔 모듈의 제작, 업그레이드시 DB 스키마는 신중하게 정하자. Image 모듈의 업그레이드 사태를 타산지석으로.

드루팔 모듈의 제작, 업그레이드시 DB 스키마는 신중하게 정하자.

Image 모듈의 업그레이드 사태를 타산지석으로 삼자는 이 긴 제목의 글은,
드루팔 모듈 개발자를 위한 것이다.

한 드루팔 사이트의 Image 모듈을 5.19로 업그레이드하고 나서, update.php를 돌렸다.
그랬더니 Thumbnail이 표시되는 화면에서 다음과 같은 에러가 나서 고생했다.

user warning: Unknown column 'image.nid' in 'field list' query:
: SELECT node.nid, rand() AS random_sort, node.title AS node_title, node.changed AS node_changed, image.nid AS image_nid FROM node node WHERE (node.status = '1') AND (node.type IN ('image')) ORDER BY random_sort ASC LIMIT 0, 3 자세히 보기 »

Drupal로 만드는 Blog Parts / Widget 예제 사이트 (일본어)

Drupal 6で試案レベルの「ブログパーツ用の試案サイト」を準備
--------------------------------------------------------------------------------------

※ 事前の準備: Drupal6のインストール

1.FeedAPI モジュールのインストールと活性化。
  Taxonomy Super Select モジュールのインストールと活性化。
  Content Template モジュールのインストールと活性化。

2.「OOO News Feed」Content Typeの準備。 ※ 参考1

3.あるポータルサイト(以下「OOO」)の
  ニュースフィードを配信別でDrupalの「Feeds」で登録。
  登録する際、コンテンツ化されるNode Typeを
 「OOO News Feed」で生成。(RSSで情報の収集、コンテンツ化する)

5.OOO News Feed用のViewsをImportする。またはViewsを手動設定。

6.OOO News Feed用のXML住所チェック。
  例) http://dru6.dev/OOO-news-feed-by-arguments.xml/1+3+17 자세히 보기 »

드루팔 성능/속도 올리기 제4탄 - 이건 필살기다. 파일형 캐쉬 fastpath_fscache 모듈

드루팔 성능/속도 올리기 제4탄 - 이건 필살기다.
파일형 캐쉬 fastpath_fscache 모듈을 소개한다.

이전부터도 여러번 드루팔의 성능향상책을 알려왔지만,
이번 것은 커다란 부하가 걸리는 사이트에 아주 특효약이다.

웹 성능향상을 위한 캐쉬 방법으로는,
DB에 임시 저장형,
파일에 임시 저장형,
메모리에 임시 저장형이 있을 수 있는데...

아시다시피 가장 빠른 것은 메모리 캐슁이다.
하지만 드루팔의 관련모듈 Memcache API and Integration 모듈
http://drupal.org/project/memcache 은 설정이 번거롭고 시스템 전체를 거의 까뒤집는 수준이라 다음 기회로...

드루팔의 기본적인 캐쉬 기능 admin/settings/performance 은,
DB에 cache 이름이 붙은 임시 테이블 저장방식이다.
이건 거의 기본적으로 애용하는 것이지만, 대용량에 있어서는 한계가 있어 보인다.
한계치에 이르면(Devel 모듈을 이용해서 느린 Query를 하이라이트로 살펴보라) 이 캐쉬 조회가
더 무거워지는 경우도 있다고 한다. 이쯤 되면 서버를 갈아타던지 사이트를 나누던지 해야한다. 자세히 보기 »

내용묶음