미디어위키/oldid

개요[편집 / 원본 편집]

oldid는 미디어위키에서 각 문서 수정 시점의 리비전을 구분하기 위한 고유 식별자(ID)입니다. 이를 통해 특정 리비전에 직접 참조하거나 문서가 시간에 따라 어떻게 변화했는지를 추적하는 데 유용합니다.

oldid의 생성[편집 / 원본 편집]

미디어위키에서 새로운 문서를 작성하거나 기존 문서를 편집할 때마다 새로운 리비전이 생성되며, 이에 따라 고유한 oldid가 생성됩니다. 특수 문서를 제외한 모든 문서에는 최소 한개 이상[1]oldid가 존재하게 됩니다.

oldid 찾는 방법[편집 / 원본 편집]

일반 유저가 찾는 방법[편집 / 원본 편집]

원하는 위키 문서로 이동합니다. 상단 메뉴에서 "역사 보기"를 클릭합니다. 해당 페이지의 역사 목록에서 원하는 리비전을 찾습니다. 원하는 리비전의 날짜/시간 링크를 클릭하면, 해당 리비전으로 이동하게 됩니다. 이때의 URL에는 oldid 값이 포함되어 있습니다.

예를 들어 대문 페이지인 가온 위키:대문oldid값은 문서의 우측 상단의 문서 역사에서 편집 유저명 옆에 있는 날짜-시간 부분의 URL을 보면...


https://www.gaonwiki.com/w/index.php?title=가온_위키:대문&oldid=106857

여기에서 맨 뒷부분에 있는 oldid=106857 부분이 바로 oldid 값이 됩니다.

PHP로 찾는 방법[편집 / 원본 편집]

미디어위키 API를 사용하여 oldid를 얻을 수 있습니다. 다음은 PHP로 oldid를 찾는 예제 코드입니다:

<?php
$apiUrl = 'https://yourwikiurl.org/w/api.php';

$params = [
    'action' => 'query',
    'prop' => 'revisions',
    'titles' => 'Hello',
    'rvlimit' => 1,
    'format' => 'json'
];

$url = $apiUrl . '?' . http_build_query($params);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);

$response = json_decode($output, true);

$pages = $response['query']['pages'];
foreach ($pages as $page) {
    if (isset($page['revisions'][0]['revid'])) {
        $oldid = $page['revisions'][0]['revid'];
        echo "The oldid is: $oldid\n";
    }
}
?>

이 코드는 'Hello'이라는 제목의 문서의 가장 최신 리비전의 oldid 값을 찾습니다.

데이터베이스에서 찾는 방법[편집 / 원본 편집]

미디어위키가 설치되어 있는 데이터베이스에서 mw_text 테이블에 존재합니다. 테이블 구조는 다음과 같습니다.

컬럼 타입
old_id int unsigned(자동 증가)
old_text mediumblob
old_flags tinyblob

여기서 old_id 컬럼에 oldid값을 확인할 수 있습니다.

oldid 활용 방법[편집 / 원본 편집]

oldid를 활용하면 문서의 특정 리비전에 대한 참조를 보존하거나, 문서가 어떻게 시간에 따라 변화했는지 추적할 수 있습니다.

oldid로 특정 리비전 링크 생성하기[편집 / 원본 편집]

특정 oldid를 가진 리비전에 대한 링크를 생성하려면, 다음과 같이 URL에 oldid를 포함시킬 수 있습니다:

https://example.com/w/index.php?title=Page_title&oldid=123456789

리비전 비교하기[편집 / 원본 편집]

미디어위키의 '비교 보기' 기능을 사용하여 두 개의 리비전 사이의 차이점을 비교하거나 oldid를 이용하여 문서의 특정 시점의 상태를 확인할 수 있습니다. 이는 문서 편집에 대한 회고, 편집 충돌 해결, 문서 변화의 추적 등에 유용합니다.

oldid와 편집 충돌[편집 / 원본 편집]

편집 충돌이 발생하면 oldid를 통해 충돌 발생 시점의 리비전을 확인하고, 충돌을 해결할 수 있습니다.

oldid와 문서 복원[편집 / 원본 편집]

특정 리비전이 실수로 삭제되거나 무분별한 편집[2]으로 인해 문서의 품질이 저하된 경우, oldid를 이용하여 원하는 시점의 리비전을 복원할 수 있습니다.

oldid의 한계[편집 / 원본 편집]

oldid는 특정 리비전에 대한 링크를 제공하지만, 문서의 모든 역사를 제공하는 것은 아닙니다. 예를 들어, 특정 리비전이 삭제되면 해당 oldid에 접근할 수 없게 됩니다. 또한, 드물지만 일부 위키에서는 oldid에 대한 접근을 제한할 수 있습니다.

각주[편집 / 원본 편집]

  1. 문서 생성시에도 oldid가 생성되기 때문
  2. 예: 반달
• 현재 페이지 URL 줄이기