DokuWiki

It's better when it's simple

사용자 도구

사이트 도구


ko:changelog

변경 로그

:!: 현재 개발중인 코드와 RC 배포판의 로그 포맷을 기준으로 하고 있습니다 이전 로그 포맷 참조.

변경 로그(changelog)는 각 페이지별로 최근 변경 로그 캐쉬와 함께 변경 로그 파일에 기록됩니다.

최근 변경 로그 캐쉬는 /data/meta/_dokuwiki.changes에 유지되며, 매일 갱신 됩니다. 페이지별 변경 로그들은 /data/meta/<ns>/<id>.changes 파일에 기록됩니다.

이 변경 로그들은 페이지 생성,삭제,변경 기록 전부 추적하게 됩니다.

Changelog 포맷

로그는 일반적인 텍스트 파일 형태로 저장합니다. 한 행에 changelog는 하나만 기록되며 각 changelog행은 탭(TAB)문자로 각 세부 항목이 구분합니다.

<date>\t<ip>\t<type>\t<id>\t<user>\t<sum>\t<extra>\n

<date>  = Unix 타임스탬프 포맷
<ip>    = IPv4 or IPv6 ip 주소
<type>  = Log line type (아래 참조)
<id>    = Dokuwiki 페이지 id
<user>  = Dokuwiki 사용자 이름 (로그인 한 경우만)
<sum>   = 요약정보나 동작 설명
<extra> = 추상적인 타입 서술 자료
          주의: "\t" 이나 "\n"문자가 없을 수도 있다.

Line Types

log line type은 가변 길이 문자열로 됩니다. 단일 문자 <type>은 DokuWiki 내부에서 쓰이는 용도로 예약되어 있지만 다중문자열로 구성된 <type>은 실험적인 용도나 사용자 정의 로그를 의미합니다. <type>은 대소문자 구별을 하고 ===substr로 테스트되지 않는 것을 주의해야 합니다.

DokuWiki 예약 타입

타입 이름 Extra 주의
C 생성
E 수정
e 부분 수정 로그인한 사용자만 가능
D 삭제 changelog 와 이전 버전은 페이지 history는 보존
R reverted 이전 페이지로 복구 사용자는 자신들이 수정하던 revision 페이지를 편집할 수도 있습니다.

가져오기

오래된 갱신기록은 존재하는 경우 자동으로 가져올 수 있습니다.

주의: “안전 모드” 상의 PHP를 이용해 여러 서버에서 운용되고 있는 매우 큰 규모의 위키는 실행 시간 제한이 코드에 의해 증가될 수 없기 때문에 잘못 동작될 수 있습니다. 필요하다면 “안전 모드”에서 운용되지 않는 다른 서버로 가져오기 기능이 수행될 수 있습니다. /data/meta 디렉토리 내에 갱신 기록이 가져오진 후에는 “안전 모드”서버로 복사가 가능합니다.

주의: 매우 느린 변화를 보이는 위키들에서는 $conf['recent_days'] (기본 설정은 7일) 값을 바꾸어 최근 바뀌어진 페이지 목록을 늘릴 수 있습니다.

질문 : 이런 가져오기를 수행하는 플러그인은 어디 있나요?

위에 쓰여진 것처럼 위키 사이트로 가면 됩니다. 심지어 wget을 사용할 수도 있습니다. :)

아주 큰 오래된 갱신 기록을 가져오기하는 것은 PHP의 일반적인 8MB 제한보다 더 많은 메모리를 요구할 수 있습니다. 만일 가져오기가 실패한다면 웹서버 에러 로그에서 Fatal error: Allowed memory size of 8388608 bytes exhausted 같은 PHP 에러를 찾아 보기 바랍니다. 이런 에러를 발견한다면 일시적으로 php.ini파일의 PHP메모리 크기 제한을 임시로 늘린 후 웹서버를 재시작하여 가져오기 작업을 다시 시도하기 바랍니다.

가져오기 검사

“do=check” 수행은 오래된 갱신 로그들이 존재하는지, 가져오기 작업 중인지, 이미 가져오기가 수행되었는지를 알려줍니다. 만일 가져오기가 제대로 동작하지 않는다면 “do=check”는 가져오기가 아직 끝나지 않았다고 경고합니다. 이 경우, 다시 가져오기 작업을 수행하기 위해서는 /data/meta/_dokuwiki.changes/data/meta/_dokuwiki.changes_* 파일들을 삭제 후 시도하기 바랍니다.

오래된 갱신 로그들 가져오기가 성공적으로 수행된 후에도 “do=check” 실행시 아직 오래된 갱신 로그들이 존재한다는 메시지는 무시해도 됩니다. 그러나 “do=check” 실행시 마다 “Importoldchangelog plugin not disabled after import”라는 에러 메시지가 나온다면 아직 뚜렷한 해결 방안이 없습니다.

일단 단순히 플러그인 기능을 끄기 바랍니다.(관리자로 로그인 후, 관리→플러그인 관리→삭제를 실행하면 플러그인이 있는 디렉토리와 플러그인을 삭제할 것 입니다. 삭제 후에도 “Importoldchangelog … import”에러는 “do=check”실행시에는 계속 나타날 것입니다.

변경 로그의 유지관리

/data/meta디렉토리를 삭제하지 말기 바랍니다. 다른 위키 데이타로 부터 생성되지 않는 chanagelog정보를 현재 포함하고 있기 때문입니다.

번역

english version: dokuwiki-2006-11-06.

Add your email here if you created translated or modified whole or part of this page.

  • jk Lee - real mail domain is gmail, not zoo.com for spam filtering 2007-2-4 created
ko/changelog.txt · 마지막으로 수정됨: 2007-02-05 04:33 저자 bootmeta

별도로 명시하지 않을 경우, 이 위키의 내용은 다음 라이선스에 따라 사용할 수 있습니다: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki