게시물(본문)의 변경 이력 확인이 가능합니다.

Submitted by westporch on 2018.03.10.(Sat) - 17:00

앞으로 게시물(본문)을 수정하면 변경 이력을 드루팔의 Revisions 이라는 기능을 통해 확인할 수 있습니다. 이 기능은 본문의 Revisions 탭에 있습니다.  단, Revision 기능을 적용하지 않았던 이전 게시물에서는 Revisions 탭이 보이지 않습니다. 참고로 Revisions 기능은 댓글이 아닌 본문에서만 사용할 수 있습니다. 왜냐하면 댓글에서는 댓글의 최초 작성 시각과 수정한 시각이 각각 출력되기 때문입니다.

1. 변경 이력(Revisions) 기능을 적용한 이유
기존에는 게시물(본문)에 최초 작성 시각만 출력되며, 본문을 수정해도 수정 시각은 출력되지 않는 문제가 있었습니다. 본문의 수정된 시각을 가져오기 위해서 드루팔 모듈(node)의 소스를 살펴보았지만 어떻게 수정해야할 지 잘 모르겠습니다. 아래와  같이 drupal/core/modules/node/node.module 파일에는 게시물의 변경 시각에 대한 내용은 정의되어 있지 않습니다.

function template_preprocess_node(&$variables) {
  $variables['view_mode'] = $variables['elements']['#view_mode'];
  // Provide a distinct $teaser boolean.
  $variables['teaser'] = $variables['view_mode'] == 'teaser';
  $variables['node'] = $variables['elements']['#node'];
  /** @var \Drupal\node\NodeInterface $node */
  $node = $variables['node'];
  $variables['date'] = drupal_render($variables['elements']['created']);
  unset($variables['elements']['created']);
  $variables['author_name'] = drupal_render($variables['elements']['uid']);
  unset($variables['elements']['uid']);
(.. 이하 생략 ..)

대안으로 게시물의 본문에 변경 이력(Revisions) 기능을 적용했습니다. 본문을 수정해도 변경된 시각은 게시물에 직접적으로 출력되지는 않지만 본문의 Revisions 탭을 통해서 본문의 변경 이력을 확인할 수 있습니다.

2. Revisions에 대한 개인적인 우려
본문의 변경 내역을 확인할 수 있는 것은 큰 장점이라고 생각합니다. 하지만 '게시물 본문의 수정 이력을 일일이 DB에 저장하면 혹시라도 DB에서 성능 상의 문제가 발생하지 않을까?'하는 생각이 들기도 합니다. 아직은 많은 사람들이 사용하는 포럼이 아니기 때문에 큰 문제는 없겠으나 관심을 갖고 지켜봐야겠습니다.