드루팔을 이용한 데이터/노드의 버전 관리 ( SVN, Diff, CheckOut 등등 )
드루팔을 이용한 데이터/노드의 버전 관리 ( SVN, Diff, CheckOut 등등 )
* 아직 조사 중이다. 메모로 남겨둔다.
Version Control API 모듈 - http://drupal.org/project/versioncontrol
* 참고. 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
위 Version Control API 모듈의 필수 하위 모듈로 SVN 레포지터리를 드루팔로 설정/입수할 수 있도록 한다.
Repoview 모듈 - http://drupal.org/project/repoview
위 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을 이용한다.


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