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

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

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

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

Actions 모듈을 설치/활성화하고 나면,
기본적으로는 다음과 같은 방아쇠(이하 트리거) 조건이 있다.
1. 노드가 공개될 때마다 뭔가를 해라 - Publish node
2. 노드가 공개해제될 때마다 뭔가를 해라 - Unpublish node
3. 노드가 최상단에 항상 표시되도록 하면 뭔가 해라 - Make node sticky
4. 노드가 최상단에 항상 표시되는 것을 해제하면 - Make node unsticky
5. 노드가 첫 화면에 나타나게 되면 - Promote node to front page
6. 노드가 첫 화면에서 사라지게 되면 - Remove node from front page

혹 위와 다른 액션을 생성하고 싶다면,
아래와 같은 액션 관련 모듈을 설치해 보라. 종류가 다양해 진다.

* 액션 관련 모듈 :
Scheduled Actions
Voting Actions (VotingAPI 모듈도 필요)
Taxonomy Actions
Field Actions (CCK - Content 모듈도 필요)
Node Triggers
Workflow

이렇게 설정한 액션들을 활용하는 법은 다른 글에서 설명하겠다.
(혹 아래에 있는 관련 글들 중에 나타날지 모르겠다)

------------ 중요한 추가 사항! -------------
다음의 2개 모듈을 이용하면 복수개의 컨텐츠를
동시에 카테고리(영문판의 Taxonomy) 변경할 수 있다!

- Views Bulk Operations : 뷰에 나타난 컨텐츠들을 체크박스 형태로 처리.
http://drupal.org/project/views_bulk_operations
(Views Checkboxes라는 모듈보다 더 낫다. 6.x도 지원)

- Taxonomy Node Operations : Taxonomy를 변경할 수 있는 액션을 만들어준다.
(Taxonomy Batch Operations라는 모듈은 이와 무관하다)


자료를 작성 준비 중인데, 아마도 조만간에 아래 쪽의
관련글에 나타날 것이다(대략 제목이 "복수 컨텐츠의 Taxonomy 변경하는 액션 처리" 어쩌고 저쩌고일 듯).

Your rating: None 평균 : 5 (2 votes)

댓글

드루팔의 유연성은

드루팔의 유연성은 이 모듈로 인해서 극도로 강화됩니다.
크게 복잡하지 않는 기능은 뷰와 액션만 있으면 코딩이 거의 필요없이 완성할 수 있습니다.

이와 비슷한

이와 비슷한 기능으로 trigger 모듈이 6.x대에서부터는 기본(코어) 모듈로 드루팔 자체에 포함됐다.

참고 - Writing actions (Drupal 6.x)
http://drupal.org/node/172152

Trigger와 Actions가

Trigger와 Actions가 헛갈리는 경우가 있는데, 이를 용어적으로 구분하지면 이렇다.

・ Trigger는 어떤 조건에 해당하는 이벤트가 발생하는 경우를 말함.

・ Actions는 어떤 Trigger가 발생한 경우에 실행할 내용을 지칭함.

주의할 것은,

드루팔 5.x대에서는 Actions 모듈과 WorkFlow 모듈을 이용해서 "조건적 액션을 수행"하는 반면,
드루팔 6.x대에서는 기본 장착된 Trigger 모듈 하나만 가지고 모든 "조건적 액션을 수행"할 수 있다.

Drupal 6.x 버전에서의

Drupal 6.x 버전에서의 액션 작성법을 정리한 자료는,
Writing actions (Drupal 6.x) | drupal.org
http://drupal.org/node/172152
에 있습니다.
참고로, 액션 관련 소스는 module/system/system.module
에 정의돼 있습니다.

Drupal 6.x 버전에서의 트리거 작성법을 정리한 자료는,
Writing triggers (Drupal 6.x) | drupal.org
http://drupal.org/node/375833
에 있습니다.
참고로, 트리거 관련 소스는 module/trigger/trigger.module
에 정의돼 있습니다.