미디어위키/확장기능
미디어위키는 확장기능을 통해 강력한 기능을 제공한다. 사실상 미디어위키가 강력해지는 원동력. 확장기능 없는 미디어위키는 확장팩 없는 문명 시리즈[1] 하고도 같다.[2] 실제로 확장기능 없이 순정으로 운영되는 미디어위키 기반의 위키 사이트는 사실상 없다고 봐도 무방하며, 위키백과 또한 두자릿수 이상의 갯수로 확장기능을 떡칠하고 운영한다.
번들된 확장기능[편집 | 원본 편집]
아래는 미디어위키 배포판에 그대로 번들이 되어 있는 확장기능이다. 파서 함수, 각주 기능 등 사실상 번들된 확장기능 또한 미디어위키의 기능으로 인식되는데 어디까지나 번들된 확장 기능임을 기억하자.
CategoryTree[편집 | 원본 편집]
분류를 트리화 하는데 제공하는 확장 기능.
cite[편집 | 원본 편집]
사실상 필수 확장기능
각주 기능을 구현하는 확장기능이다. 한마디로 이게 없으면 미디어위키에서 각주 사용이 불가능 하다. 다만, 번들된 확장 기능이라 어지간한 미디어위키 기반 사이트에서는 사용이 가능하다.
CiteThisPage[편집 | 원본 편집]
대학교 등지에서 사용하는 인용 형식을 만들어 주는 특수 문서를 생성하는 확장기능이긴 한데... 현실은 시궁창. 아시다시피 대학교 리포트 등에서는 위키를 참고자료로 쓰면 안되는게 원칙이며, 이런 경우가 아니라면 아마 별도의 인용 양식을 쓰지 않고 그냥 단순하게 URL만 표시할 것이다. 계륵인 확장기능인 셈.
CodeEditor[편집 | 원본 편집]
미디어위키에서는 css관련 시스템 문서나 사용자 css/js 기능이 존재하는데 이를 편집할때 에디터에 코드 강조 기능을 추가해주는 확장 기능. 다만 한국어 IME랑 궁함이 영 좋지는 않은 것 같다.
ConfirmEdit[편집 | 원본 편집]
위키에 캡챠를 추가해 주는 기능. 개인 위키가 아닌 이상 사실상 준필수인 확장기능이다. 기본값은 수학공식 계산인데 미디어위키 측에서는 이를 권장하지 않으므로 다른 형식으로 바꾸자. 질문 형식, 리캡차, H캡챠를 지원한다. 이곳 L위키의 경우에는 현재 질문 형식 캡챠를 사용하고 있다. 참고로 리캡차로 캡차를 설정할 시 시각편집기에서는 작동하지 않는다는 문제점이 있다.
Gadgets[편집 | 원본 편집]
소도구 확장기능. CSS나 JS로 사이트 이용에 편의를 주는 소도구를 구현할 수 있는 확장기능이다. 이 곳 L위키에서는 각주 말풍선과 CharInsert 소도구를 각각 한국어 위키백과와 영어 위키백과에서 가져와서 제공하고 있으며, 취소선 드립을 비활성화 하는 소도구와 {{부제목}}에 의한 특수효과를 비활성화 하는 소도구를 자체적으로 제작하여 유저한테 제공하고 있다.
ImageMap[편집 | 원본 편집]
사용하기에는 복잡하지만 강력한 확장 기능으로 예를 들어 예수의 열두 제자를 묘사한 사진에서 각자의 좌표를 지정하여 각자의 얼굴을 클릭하면 문서에 이동할 수 있게끔 하는 강력한 기능을 제공한다.
InputBox[편집 | 원본 편집]
위키 문서에 입력창을 제공하는 기능을 제공하는 기능. 위키 문서에 입력창을 제공해서 어따 쓰나 싶지만, 이런 식으로 쓴다
Interwiki[편집 | 원본 편집]
인터위키를 제공하는 기능. 참고로 인터위키를 추가하려면 수동으로 인터위키 추가/수정 권한을 관리자한테 주도록 설정파일을 수정해 주어야 한다. 그냥 확장기능만 설치하면 인터위키를 추가하지 못한다. 참고로 미디어위키 종특 아니랄까봐 공백 링크는 무조건 언더바로 치환이 되는 문제가 있으며, 이는 나무위키 같이 일반적인 띄어쓰기를 주소에 표기하는 위키에 치명적인 문제로 다가간다. 모니위키는 이를 위해 언더바를 띄어쓰기로 바꿔주는 보정을 한 상태지만, 나무위키는 그럴 계획도 없다는게 문제. 애시당초 주소창에 띄어쓰기 대신 언더바를 표기한 것은 표준이 아니지만, 미디어위키가 서비스형 위키에서는 사실상 압도적으로 사용하는 위키 소프트웨어 인지라 이게 사실상 표준이 되어서...
LocalisationUpdate[편집 | 원본 편집]
미디어위키 현지화 상태를 업데이트 해주는 툴. 물론 그냥은 안되고 쉘에서 스크립트를 돌려줘야 한다. 그렇지 않을 경우 미디어위키를 최신 버전으로 유지해 주어야만 번역 상태가 업데이트 된다.
MultimediaViewer[편집 | 원본 편집]
미디어위키는 이미지를 클릭하면 바로 파일 문서로 이동하는데, 이 기능을 사용하면 전체화면으로 이미지가 확대가 된다. 물론 파일 문서로 갈 수 있는 기능 또한 제공한다. 나무위키와 달리 미디어위키 기반 사이트는 오랜쪽에 작게 이미지를 표기하는 것이 사실상 정석이 되었는데, 당연히 이러한 환경에서 매우 유용한 확장기능. 번들로 재공된다.
Nuke[편집 | 원본 편집]
특정 문서 패턴이나 특정 사용자가 작성한 문서를 삭제하는 기능. 반달 퇴치에 매우 유용한 확장기능이다.
OATHAuth[편집 | 원본 편집]
2단계 인증을 구현하는 확장기능. 사이트에 이 기능이 설치되었고 당신의 계정에 이를 설정할 숭 있는 권한이 부여되었다면 2단계 인증을 authy나 구글 2단계 인증 같은 인증 앱을 통한 2단계 인증 설정이 가능하다. L위키 또한 이것을 통해 2단계 인증 기능이 구현되어 있으며 설정이 가능하다.
PageImages[편집 | 원본 편집]
문서의 이미지의 수집하는 확장기능. 수집해서 어디에 쓰냐하면 대표적으로 모바일 페이지의 자동완성에서 이미지를 보여줄때 사용한다.
ParserFunctions[편집 | 원본 편집]
미디어위키 계통 위키에서 동적인 틀의 핵심
if, ifeq, switch 등 파서 함수를 제공하는 확장기능. 미디어위키 계통의 위키에 있는 동적인 틀은 이 함수로 동적인 부분을 구현한 경우가 많다. 애당초 이거 없으면 동적인 틀 구현 못한다. 이 때문에 나무위키 등 비 미디어위키에서 절대 재현할 수 없는 틀이 존재한다. 대표적인게 정보상자랑 둘러보기 틀. 나무위키가 일일이 둘러보기 틀과 정보상자를 만들때 미디어위키는 위백 등지에 있는 틀을 퍼 와서 정보상자 틀을 이용하여 정보상자틀을 만들어서 일관된 양식으로 정보상자를 만들며, 둘러보기 틀도 마찬가지로 일관된 양식을 이용하여 만든다. 파서 함수가 없는 나무위키나 리그베다 위키에서는 절대 이게 불가능하다. 즉, 이게 없으면 사실상 나무위키 수준의 틀 밖에 못만든다.
PdfHandler[편집 | 원본 편집]
PDF 파일을 올렸을때 PDF 파일 뷰어를 불러주는 기능. L위키는 PDF 업로드를 지원하지 않고, 조만간 지원할 계획이 없기 때문에 이 확장기능이 꺼져 있다.
Poem[편집 | 원본 편집]
시를 인용하기 위한 확장기능. 시는 한줄 강제개행이 빈번하고 미디어위키는 한줄 강제개행을 인식하지 않는데, 이를 원활히 인용하기 위한 <poem>
태그를 재공하기 위한 확장기능이다.
Renameuser[편집 | 원본 편집]
사무관 등이 사용자 이름을 바꿀 수 있게 하는 확장기능이다.
ReplaceText[편집 | 원본 편집]
위키의 특정 텍스트를 찾아 바꾸는 기능
Scribunto[편집 | 원본 편집]
틀 등지에서 루아 스크립트를 미디어위키에 돌리는 기능. 이를 응용하면 매우 강력한 기능을 제공하는 동적인 틀을 만들어낼 수 있다.
SecureLinkFixer[편집 | 원본 편집]
비보안 링크 등을 가능하면 보안 링크로 제공하는 확장기능
SpamBlacklist[편집 | 원본 편집]
스팸 키워드 블랙리스트를 만들어 내는 기능
SyntaxHighlight_GeSHi[편집 | 원본 편집]
코드 강조 기능을 사용하는 기능. 프로그래밍 관련 문서를 만들려면 사실상 필수적인 확장기능이다.
TemplateData[편집 | 원본 편집]
기계가 읽을 수 있는 틀에 관한 데이터를 JSON 형태로 제공하는 기능. 이걸 어디에 쓰냐 하면 시각 편집기와 틀 마법사에 쓰인다. 이 확장기능을 잘 활용하면, 사용자는 틀 설명문서도 볼 필요없이 틀을 뚝딱 삽입할 수 있다!
TextExtracts[편집 | 원본 편집]
위키의 텍스트를 추출하는 기능. 주의할 점은 문단으로 둘러싸있지 않은 제일 첫 문장만 수집하는 것이다. 이걸 어디에 쓰냐 하면 바로 후술할 팝업 확장기능에 나오는 텍스트가 여기에서 추줄한 텍스트로 나온다. 그러므로 나무위키식으로 개요 문단을 만들어서 서술하지 말자.
TitleBlacklist[편집 | 원본 편집]
특정 패턴의 제목을 통제할 수 있는 확장기능
VisualEditor(시각편집기)[편집 | 원본 편집]
무려 위지위그 에디터를 제공하는 기능. 물론 한계가 있지만 위키 문법을 어려워하는 사람한테 쉽게 다가가게 할 수 있다. 예전에는 이를 돌리는데 필요한 parsoid가 node.js 기반이라 설치 난도가 쉽지 않았지만, 1.35 이후부터는 PHP 버전으로 마이그레이션이 되어 스킨만 이를 지원한다면 이를 쉽게 사용할 수 있다.
WikiEditor[편집 | 원본 편집]
에디터를 강화해주는 기능. 역설적으로 이 기능이 없으면 위키문법 편집기가 진짜로 깡통 그 자체가 된다. 이거라도 있으니까 굵게 링크 등 위키문법 편집기에도 최소한의 기능이 제공이 되는거지만 이거 없으면 진짜로 깡통이다.
위키미디어 재단 위키 사용 확장기능[편집 | 원본 편집]
이 문단의 확장기능은 하나 이상의 위키미디어 재단의 위키에서 사용하는 확장기능이다. 당연히 이에 해당되는 확장기능의 저장소는 100% 위키미디어 재단 관리 하에 있다. 미디어위키에 문서가 있다고 해서 전부 위키미디어 재단의 위키에 설치된 확장기능이 아니며, 위키미디어 위키에 설치된 확장기능은 하단에 위키미디어 재단 위키가 사용하고 있다는 표시가 있다.
Checkuser[편집 | 원본 편집]
개인위키가 아닌 다인 위키는 사실상 필수 확장기능
로그인 사용자의 접속 기록을 확인할 수 있는 확장기능이다. 이 것을 통해 다중계정을 잡아낸다. 즉, 이거 없으면 다중계정을 심증에만 의존하고 잡아내야 한다는 것이다.
StructuredDiscussions/Flow[편집 | 원본 편집]
나무위키와 비슷하게 스레드식 토론을 제공하는 토론. 매우 유용한 확장기능 처럼 보이지만 과거 토론의 검색이 불편하고 각종 잔버그가 있다. 미디어위키 공홈 등 일부 위키미디어 위키는 이 기능을 토론 기능에 도입했으나, 정작 위키미디어 재단 위키의 본진 격인 영어판 위키백과는 이 확장기능의 도입을 거부했으며, 타 언어판 위키백과 등도 이 확장기능을 도입하지 않았다.
결국 위키미디어 재단 위키에서는 더 이상의 추가 도입이 중단되었으며, 기능 추가 등의 개발도 중지되었다. 현재 개발은 유지 보수 수준에서만 이루어져 있는중.
이 확장기능을 사용할때 주의해야 할 사항이 있는데, 이 확장 기능을 설치한 이후 절대 위키의 DB 이름을 바꾸지 말자. DB 이름을 바꿔버릴 경우 바꾸기 전의 과거 데이터에 접근할 수 없게 되며, 이곳 L위키도 이러한 문제 때문에 피를 본 적이 있다.
미디어위키 1.35 버전 이후 PHP 기반으로 parsoid를 바꾸었는데 이것을 제대로 읽지 못하는 버그가 존재한다.[1] L위키도 이 버그 때문에 피를 본적이 있는 사용상에 치명적인 문제가 있는 버그이고, 코드 리뷰까지 올라간 상황이지만 리뷰가 통과가 안된 상태. 위키미디어 산하 위키에는 parsoid 설정을 다르게 하기 때문에 일어나지 않는 버그이고 위키미디어도 Flow를 반쯤 버렸기 때문인지 검토가 늦어지고 있다. 현재로서는 버그 페이지에 나와있는대로 코드를 수정해서 쓰는 것 말고는 뾰족한 답이 없다.
Josa[편집 | 원본 편집]
한국어 조사 처리를 위한 확장기능. 동적인 틀에서 조사를 처리하는 용도로 주로 사용한다. 이 확장기능은 백괴사전 사람들이 만든 확장기능인데 백괴사전은 조사 처리를 토씨라는 이름의 틀로 처리하고 있었으나 토씨 틀의 구조적인 문제로 인하여 불러올 때마다 서버의 메모리를 많이 사용하는 문제가 있었다. 이 때문에 백괴사전의 운영진 중 하나인 페레멘이 개발한 조사 처리 스크립트를 기반으로 확장기능을 개발하였다. 이것이 Josa 확장기능이다.
이 확장기능의 소스는 먼 미래에 공개된다고 운영진이 밝혔다. 그러나 2010년대 후반 쯔음 이 확장기능은 소스가 공개되었고, 위키미디어 저장소에도 올라갔다. 한국어 위키백과 또한 이러한 확장기능이 유용하다고 판단하고 사용을 시작하였다.
WikiLove(위키사랑)[편집 | 원본 편집]
다른 사람이 어떤 위키편집을 한 데에 대해서 고마움을 느낄 때에 반스타 혹은 우리가 흔히 보는 생물이나 사물 이미지(...) 등을 사례하는 선물로 줄 수 있는 기능이다. 2013년 위키백과 개편의 일환으로 만들어진 것으로 보이며, 현재 한국어 위키백과에서도 이 기능을 사용할 수 있다. L위키에서는 설치가 되어있지 않았으나, 12월 15일에 미디어위키 버전업을 하는 과정에서 설치되었다.
위키미디어 재단 위키 미사용 확장기능[편집 | 원본 편집]
위키미디어 재단 위키에서 하나도 사용하지 않는 확장기능. 일부 확장기능은 위키미디어 저장소에서 관리하는 경우도 있으나, 몇몇 확장기능은 자체 저장소를 통해서 관리한다.
Google AdSense[편집 | 원본 편집]
구글 애드센스 관련 확장기능으로써, 미디어위키로 구동되는 위키를 구글 애드센스와 연동할 수 있는 확장기능이다. 이러한 연동을 통해 좌측 표시창 하단과 문서 상/하단에 구글 애드센스 광고를 달 수 있게 해준다. L위키에는 이 확장기능을 사용하지 않고 별도의 방법으로 광고 배너를 구현한다.
NamuMark[편집 | 원본 편집]
어쩌면 한국 한정으로 미디어위키 사용 위키가 진입장벽을 낮출 때 필요한 확장기능
파라과이산 보리수나무의 문법을 지원하는 확장기능으로써, '오리마크'라는 별명에서 볼 수 있듯이, 본래는 리그베다 위키의 사유화 사건과 그 이후 후유증에 의해 만들어진 위키들 중에서도 오리위키라는 곳에서 미디어위키의 한계를 극복하고자 만들어진 자체제작 확장기능이었으나, 2017년 이후 업데이트가 멈추고 나서 2021년 도다라는 유저가 이를 포크하여 NamuMark라는 이름으로 명맥을 이어가고 있다.
이 확장기능은 도다가 포크한 버전에서 해결되었으나, 초기 오리위키 버전(원본)에서는 어떤 한 문서가 20만 바이트를 넘어가면 확장기능의 버그로 인하여 무조건 확장기능에 오류가 발생해 문서가 깨져서 오류투성이로 뒤덮이는 치명적 오류가 있었고 이 때문에 계륵 취급 당하거나 사용, 즉 지원을 중단하는 위키도 있었다.
현재 나무마크 확장기능 도다 포크 버전의 경우에는, 파서 훅 중 몇몇의 1.36부터의 지원 종료 문제로 인해 미디어위키의 1.36을 지원하지 않다가, 이슈를 통해 이에 대응하는 것을 만든 것을 저장소의 파일을 교체하는 식으로 지원에 들어갔다. 다만, 실증 결과로는 아직 L위키 등에서 쓸 수 있을법한 다용도성에서 많이 뒤쳐지는 성능을 지닐 정도의 버그가 발견되었다.
QuickInstantCommons[편집 | 원본 편집]
비효율적인 인스턴트 커먼즈를 대체하기 위해서 만들어진 확장기능이다. 미디어위키는 위키미디어 커먼즈의 이미지를 불러올 수 있는 인스턴트 커먼즈라는 기능이 있는데 문제는 그 기능이 비효율적으로 짜여져 있어 위키미디어 커먼즈발 이미지수가 많이 삽입될 수록 문서 로드 속도가 느려지게 되는 문제가 있다.
이 확장기능을 사용하여 위키미디어 커먼즈 이미지를 불러오게 되면 속도 저하 현상이 확연히 줄여들게 된다. 이 곳 L위키도 이 확장기능을 도입하기 이전에는 제21대 국회의원 선거, 자유주의 등의 위키미디어 커먼즈 이미지가 많이 삽입된 문서의 로드 속도가 느려지는 문제가 있었으나 이 확장기능을 도입함으로써 말끔하게 해결되었다.
SocialProfile[편집 | 원본 편집]
말 그대로 프로필을 만들어주면서, 그 외에도 확장기능 내에서 제공하는 쪽지 기능과 포인트 기능 등을 통해 커뮤니티적인 요소나 SNS적인 요소를 위키에 가미해줄 수 있는 기능이다. 하지만 절대 다수의 한국어 위키에서는 사용하지 않는다. 당장 한국어 위키백과도 쓰지 않는 기능이며, L위키에서도 현재 설치가 되어있지 않다.
WikiSEO[편집 | 원본 편집]
말 그대로 SEO를 도와주는 기능. SEO에 도움되는 태그를 넣어주는 역할을 한다. 기본 번들된 TextExtracts 확장과 연계해서 $wgWikiSeoEnableAutoDescription
를 켜줘서 연계해주면 금상첨화. 트위터 카드 관련 기능도 존재해서 이 확장기능만 잘 설정해주면 트위터봇을 막지 않는 이상 트위터 카드 생성이 잘 된다.
다만 SEO의 필수요소 중 하나인 canonical 생성 기능은 해당 확장기능에 없는데 코어에 해당 기능이 내장되어 있다. SEO를 원한다면 $wgWikiSeoEnableAutoDescription
를 켜주자.