노드의 참조 필드를 양방향으로 자동 수정해 주는 Corresponding node references 모듈

드루팔의 CCK 기능 중, 강력한 참조 필드(reference field)는
관계형 DB의 pk/fk를 완벽하게 CMS 레벨에서 구현케 해 준다.

그럼에도 불구하고 한 가지 단점이 있었는데,
참조 필드로 연결된 노드가 2개인 경우에 각각의 노드를 수정해 주지 않으면
새로이 추가되거나 변경된 참조 필드의 값이 어느 한 쪽에만 반영되는 현상이 문제였다.

예를 들어, 책이라는 컨텐츠 타입이 있고 동시에 작가라는 컨텐츠 타입이 있는 경우,
작가를 하나 생성하는 경우에, 하나의 책을 참조 필드로 선택해 놓으면,
해당 책의 노드에는 작가 정보의 필드가 자동으로 갱신되지 않는다.
즉 양방향 수정이 안되고 어느 하나만 노드 정보가 수정되는 현상이다.

이를 해소하는 모듈이 Corresponding node references 모듈, 줄여서 cnr이다.
http://drupal.org/project/cnr

백문이 불여일견이다. 모듈을 설치/활성화한 후에
admin/settings/corresponding_node_references 에 가서
양방향으로 수정할 필드를 선택/저장한 후,
참조 필드가 있는 노드를 하나 수정해 보자.
피참조 노드에도 반영이 될 것이다.

댓글

같은 성격의

같은 성격의 모듈로
BackReference 모듈도 있습니다.
http://drupal.org/project/backreference
참고하시는 데 도움 되었으면 좋겠네요.^^

반면에 상호

반면에 상호 참조하는 필드가 있는 양방향 노드에서,
어느 한쪽의 노드가 없어진(삭제된) 경우 기존의 참조필드 정보는 고아가 되는데...
이를 깨끗하게 유지할 수 있도록 도와주는 모듈이 있다.

Referential Integrity for CCK
http://drupal.org/project/cck_referential_integrity