개요[편집 / 원본 편집]
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
에 대한 접근을 제한할 수 있습니다.