드루팔을 이용한 데이터/노드의 버전 관리 ( SVN, Diff, CheckOut 등등 )

드루팔을 이용한 데이터/노드의 버전 관리 ( SVN, Diff, CheckOut 등등 )

* 아직 조사 중이다. 메모로 남겨둔다.

Version Control API 모듈 - http://drupal.org/project/versioncontrol

6.x 대도 지원한다. ( 2009년 1월 기준으로 아직 베타 버전이다 )
* 참고. 2008년 12월 기준으로 6.x를 아직 지원하지 않지만, (5.x 대까지 지원)
* 아직 베타 버전이라 버그가 있어 보인다. 대표적인 2개 에러를 수정해 본다면 (6.x-1.0-beta1 한정),
- versioncontrol.admin.inc 의 417라인에 있는 empty 함수를 is_null로 바꾸는 것이 좋다.
  이것은 Can't use function return value in write context 에러를 유발하는데,
  관련 정보는 http://drupal.org/node/321734#comment-1061299 를 참고했다.
- versioncontrol.pages.inc 의 538라인에 있는 );을 }로 바꾸어야 한다. 문법 에러가 있었다.

Version Control API -- Subversion backend 모듈 - http://drupal.org/project/versioncontrol_svn

6.x 대도 지원한다. 2009년 1월 기준, 다소 동작이 불안해 보인다. 곧 나아지리라 생각한다.
위 Version Control API 모듈의 필수 하위 모듈로 SVN 레포지터리를 드루팔로 설정/입수할 수 있도록 한다.

Repoview 모듈 - http://drupal.org/project/repoview

6.x 대도 지원한다. 사용법을 아직 파악하지 못하고 있다. 위 모듈들과 연동한다.
위 Version Control API 모듈을 이용해서 버전관리용 레포지터리를 브라우징하는 뷰어를 드루팔 상에 제공한다.

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

Project 모듈 - http://drupal.org/project/project
Project issue tracking 모듈 - http://drupal.org/project/project_issue
Version Control / Project Node integration 모듈 - http://drupal.org/project/versioncontrol_project

위 모듈들도 유념해서 살펴보고 있다. 특히 Project 모듈은 예전부터 핵심 모듈에 가까운, 중요 모듈이었다.
아직 5.x가 메인이지만, 6.x의 알파나 베타도 존재한다. 다만 2009년 1월 기준으로 아주 불안해 보인다.

----------------------------------------------------
Diff 모듈 - http://drupal.org/project/diff

6.x 대도 지원한다. 엄밀히 말하자면 궁극적인 버전 관리는 아니고 드루팔 노드의 이력 기능을 활용한 것이다.
This module adds a tab for sufficiently permissioned users. The tab shows all revisions like standard
Drupal but it also allows pretty viewing of all added/changed/deleted words between revisions.

----------------------------------------------------
Revision Moderation 모듈 - http://drupal.org/project/revision_moderation

6.x 대도 지원한다. ( 2008년 12월 기준으로 아직 알파 버전이다 )
The Revision Moderation module allows you to leave existing revisions of a node published while new
revisions go into moderation for an administrator to approve.

-----------------------------------------------------
* 참고 : 완벽한 버전 관리 시스템은 아니지만, 특정 노드의 컨텐츠 내용을 권한 가진 두 명 이상이 동시에 수정할 때의 문제점을 막아주는 체크아웃 ( Content Locking용 ) 모듈이 있다.

Checkout (content locking) 모듈 - http://drupal.org/project/checkout

6.x 대도 지원한다.
CRON에 의존한다. CRON의 혜택을 받지 못하는 호스팅의 경우라면 poormanscron을 이용한다.

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

댓글

위 버전 관리

위 버전 관리 모듈들과 연관성이 높은 것이 project 모듈인데,
아래 모듈도 참고해 볼 필요가 있다.
http://drupal.org/project/project_forecast