미디어위키는 위키백과를 비롯한 다양한 웹사이트에서 사용되는 자유-오픈 소스 위키 소프트웨어이다. PHP로 작성되었으며 MySQL, PostgreSQL, SQLite 등의 데이터베이스를 지원한다. 2001년 유스모드위키를 대체하기 위해 개발되었으며, 확장 기능과 다국어 지원을 통해 다양한 기능을 제공한다. 위키텍스트 마크업 언어를 사용하며, 풍부한 편집 기능과 접근 제한, 사용자 지정 기능을 제공한다. API를 통해 데이터에 접근할 수 있으며, 리치 콘텐츠 지원, 편집 추적 기능도 갖추고 있다.
더 읽어볼만한 페이지
미디어위키 - Translatewiki.net Translatewiki.net은 니콜라스 하운에 의해 설립되어 위키미디어 재단의 프로젝트를 포함한 다양한 오픈 소스 프로젝트의 번역을 지원하는 오픈 소스 번역 플랫폼으로, 18,000명 이상의 번역자가 참여하여 150개 이상의 언어로 번역 작업을 수행하며, 자원 봉사자 기반으로 운영되어 번역 인터페이스와 품질 관리 도구 등을 제공한다.
미디어위키 - 미디어위키 버전 역사 미디어위키 버전 역사는 소프트웨어의 각 버전별 출시 정보, 주요 변경 사항, 기술 요구 사항을 다루며, 초창기 권한 관리, 편집 기록, 토론 기능에서 시작하여 지속적인 업데이트를 통해 기능, 성능, 보안이 강화되었다.
자유 위키 소프트웨어 - 푸키위키 푸키위키는 PHP로 작성되어 텍스트 파일 기반으로 데이터를 저장하는 위키 엔진으로, 플러그인과 스킨을 통해 기능 확장 및 외형 변경이 가능하며, 특히 일본 모바일 환경에 최적화된 레이아웃과 피처폰용 스킨을 제공하고 인터위키를 지원하는 GPL 라이선스의 자유 소프트웨어이다.
자유 위키 소프트웨어 - 트위키 트위키는 확장 가능한 자체 마크업 언어를 사용하는 위키 엔진으로, 기업 환경에서 팀 협업, 프로젝트 관리 등에 활용되는 기업 위키 솔루션이며, WYSIWYG 편집기, 접근 제어, 버전 관리 등의 기능을 제공하고 플러그인 API를 통해 확장 기능을 지원한다.
버전 관리 시스템 - 깃 (소프트웨어) 깃은 리누스 토르발스가 개발한 분산 버전 관리 시스템으로, 빠른 분기 및 병합, 분산 개발 환경 지원, 대규모 프로젝트 처리 효율성 등의 특징을 가지며, 깃허브, 깃랩 등에서 서비스되며 소프트웨어 개발 분야에서 널리 사용된다.
버전 관리 시스템 - 의존성 지옥 의존성 지옥은 애플리케이션의 라이브러리 간 복잡한 관계에서 발생하는 문제로, 소프트웨어 설치 및 관리를 어렵게 만들며, 다양한 형태와 해결책이 존재한다.
미디어위키는 2001년 1월 위키백과가 처음 시작했을 때 펄로 작성된 유스모드위키 소프트웨어를 사용했으나, 기능과 성능 면에서 제한이 있었다. 2001년 중순, 쾰른 대학교의 매그너스 맨스케가 PHP와 MySQL을 기반으로 하는 새로운 소프트웨어 개발에 착수하여 2002년 1월 영어 위키백과에 적용되었고, 이후 다른 언어 위키백과에도 점차 적용되었다. 이 버전은 '제2단계(Phase II)'로 불렸다.
사용량이 증가하면서 다시 문제가 발생하자, 리 대니얼 크로커가 확장성을 개선한 '제3단계(Phase III)' 소프트웨어를 개발하여 2002년 7월에 적용했다. 2003년 7월, 위키미디어 재단은 위키백과 기여자 대니얼 메이어의 제안으로 이 소프트웨어에 '미디어위키'라는 이름을 붙였다.
플로랑스 드부아르가 찍은 꽃 사진을 에릭 묄러가 이용하여 제작한 미디어위키의 옛 로고는 2003년 중순에 개최된 새로운 위키백과 로고를 위한 국제 로고 콘테스트에 제출되었다.[189] 이 로고는 3위를 차지하면서 위키백과 대신 위키미디어를 대표하도록 선정되었으며, 2위에 들어선 로고는 위키미디어 재단에 사용되었다.[190]해바라기 사진 주변의 이중 대괄호는 미디어위키가 다른 위키 문서로의 하이퍼링크를 이용하는데 쓰이는 문법을 상징한다.
이후 미디어위키 개발에는 분류 시스템(2004년), 구문 분석 기능(2006년), 플래그 리비전(2008년) 등이 추가되었다.[191]
2020년에는 기존 로고의 렌더링 문제를 해결하기 위해 새 로고 디자인 콘테스트가 개최되었고, 세르히오 매그파이가 디자인한 로고가 선정되어 2021년 4월 1일에 공식 채택되었다.[192]
미디어위키는 개발과 유지보수를 위해 활동적인 자원 봉사자 커뮤니티를 가지고 있으며, 주로 위키미디어 재단을 위해 프로젝트를 개발하는 유료 프로그래머도 있다. 주요 미디어위키 릴리스는 약 6개월마다 생성되며, 버그를 수정하기 위해 필요에 따라 마이너 릴리스 또는 포인트 릴리스가 발행된다. 미디어위키는 지속적 통합 개발 모델을 기반으로 개발된다.[16]
쾰른 대학교의 학생이자 개발자이며 위키백과 편집자이기도 했던 매그너스 맨스케는 2001년 중순에 위키백과의 이용에 적합하면서, 유스모드위키를 대체할 새로운 소프트웨어 개발에 착수하였다. 이 소프트웨어는 PHP로 작성되었고 모든 정보를 MySQL 데이터베이스에 저장하였다. 2002년 1월에 영어 위키백과에 포함된 뒤 당시 모든 언어의 위키백과에 점차 적용되었다. 이 버전의 소프트웨어는 제2단계(phase II)로 불렀는데, 이는 제1단계인 유스모드위키를 대체하는 것이다.[157][158]
(2012년)
(2008년)
브리온 비버 (2008년)
위키백과가 시작된 2001년 1월에는 UseModWiki라는 기존 소프트웨어로 구동되었으며, Perl을 채택하여 모든 위키 페이지를 텍스트 형식으로 저장했다. 그러나 곧 기능면에서도 성능면에서도 제약이 많다는 점이 눈에 띄기 시작했다. 영어 위키백과에 구현된 것은 2001년 11월에 새로운 소프트웨어 메타 위키백과 구현 직후였으나, 크리스마스 전에 기말고사를 앞둔 만스케가 버그 발생 시 자신이 처리할 수 없다는 이유로 망설여 다음 해까지 연기되었다.[157][158]
이용자가 증가함에 따라 읽기 속도 문제가 다시 불거져 소프트웨어 재작업이 시작되었고, Lee Daniel Crocker|리 D. 크로커영어가 주도하여 "phase III"라는 이름으로 진행되었다.
2. 2. Phase III와 미디어위키 명칭
위키백과가 2001년 1월 처음 시작했을 때에는 펄로 작성되었고 모든 위키 문서를 텍스트 파일로 저장하는 위키 소프트웨어 유스모드위키를 이용하여 구동되었다. 이 소프트웨어는 곧 기능과 성능 면에서 모두 제한이 있는 것으로 확인되었다. 2001년 중순에 쾰른 대학교의 학생이자 개발자이며 위키백과 편집자이기도 했던 매그너스 맨스케(Magnus Manske)는 위키백과의 이용에 적합하면서, 유스모드위키를 대체할 새로운 소프트웨어의 개발에 착수하였다. 이 소프트웨어는 PHP로 작성되었고 모든 정보를 MySQL 데이터베이스에 저장하였다. 2002년 1월에 영어 위키백과에 포함된 뒤 당시 모든 언어의 위키백과에 점차 적용되었다. 이 버전의 소프트웨어는 제 2단계(phase II)로 불렀는데, 이는 제 1단계인 유스모드위키를 대체하는 것이다.
사용량이 늘면서 문제가 다시 불거지자 곧이어 리 대니얼 크로커가 제3단계(Phase III) 소프트웨어를 작성하였다. 이 새로운 소프트웨어 또한 제2단계와 마찬가지로 MySQL 백엔드를 포함한 PHP로 작성되었으며, 제2단계 소프트웨어의 기본 인터페이스는 유지하되 더 나은 크기 조절을 가능케 했다. 이 버전은 2002년 7월까지 유지되었다.
위키미디어 재단은 2003년 7월 위키백과 기여자 대니얼 메이어(Daniel Mayer)가 "위키미디어"에 빗대어 미디어위키(MediaWiki)라는 이름을 이 소프트웨어에 사용할 것을 제안했다고 발표하였다.[188]
이 제품의 옛 로고는 플로랑스 드부아르가 찍은 꽃 사진을 에릭 묄러가 이용하여 제작하였으며, 이 로고는 원래 2003년 중순에 개최된 새로운 위키백과 로고를 위한 국제 로고 콘테스트에 제출된 것이었다.[189] 이 로고는 3위를 차지하면서 위키백과 대신 위키미디어를 대표하도록 선정되었으며, 2위에 들어선 로고는 위키미디어 재단에 사용되었다.[190]해바라기 사진 주변의 이중 대괄호는 미디어위키가 다른 위키 문서로의 하이퍼링크를 이용하는데 쓰이는 문법을 상징한다.
미디어위키 개발의 혁신적인 부분들이 분류 시스템에 포함되어 2004년에 추가되었다. 구문 분석 기능이 2006년에 추가되었다. 플래그 리비전이 2008년에 추가되었다.[191]
새 로고 디자인 콘테스트는 2020년 6월 22일에 시작되었다. 기존 로고는 비트맵 이미지이고 "높은 디테일"을 갖고 있어 각각 고해상도 및 저해상도에서 렌더링할 때 문제가 발생했기 때문이다. 두 차례의 투표를 거쳐 세르히오 매그파이(Serhio Magpie)가 디자인한 새로운 현재 미디어위키 로고가 2020년 10월 24일에 선정되었으며, 2021년 4월 1일에 공식적으로 채택되었다.[192]
2. 3. 로고의 변천
미디어위키의 과거 로고
에릭 묄러는 플로랑스 드부아르가 찍은 꽃 사진을 이용하여 미디어위키의 옛 로고를 제작하였다. 이 로고는 원래 2003년 중순에 개최된 새로운 위키백과 로고를 위한 국제 로고 콘테스트에 제출된 것이었다.[189] 이 로고는 3위를 차지하면서 위키백과 대신 위키미디어를 대표하도록 선정되었으며, 2위에 들어선 로고는 위키미디어 재단에 사용되었다.[190]해바라기 사진 주변의 이중 대괄호는 미디어위키가 다른 위키 문서로의 하이퍼링크를 이용하는데 쓰이는 문법을 상징한다.
2020년 6월 22일, 새 로고 디자인 콘테스트가 시작되었다. 기존 로고는 비트맵 이미지이고 "높은 디테일"을 갖고 있어 고해상도 및 저해상도에서 렌더링할 때 문제가 발생했기 때문이다. 두 차례의 투표를 거쳐 세르히오 매그파이(Serhio Magpie)가 디자인한 새롭고 현재의 미디어위키 로고가 2020년 10월 24일에 선정되었으며, 2021년 4월 1일에 공식적으로 채택되었다.[192]
미디어위키는 확장 기능을 추가하여 부가 기능을 제공하는 핵심 기능들을 제공한다. 위키미디어 프로젝트에서 여러 언어들에 대한 지원이 강조되므로 국제화와 지역화가 개발자들로부터 큰 집중을 받고 있다. 사용자 인터페이스는 300개 이상의 언어로 부분적으로나 완전히 번역되고 있으며,[196] 사이트 관리자들이 직접 원하는대로 수정이 가능하다. (완전한 인터페이스는 위키를 통해 편집 가능)
미디어위키는 다음과 같은 주요 기능들을 제공한다:
'''콘텐츠 관리''':
* '''문서 탭 및 연결 문서''': 문서 상단의 탭을 통해 현재 페이지를 보거나 편집하고, 토론할 수 있다. 또한, 페이지의 모든 버전에 접근하여 두 버전 간의 차이를 확인할 수 있다.
미디어위키 페이지 탭, "Vector 2010" 스킨 사용. "토론" 탭의 빨간색 표시는 해당 문서에 아직 토론 페이지가 없음을 나타냅니다. 다른 빨간색 위키링크와 마찬가지로, 클릭하면 사용자가 페이지를 만들 수 있습니다.
* '''이름공간''': 콘텐츠와 유지보수, 토론 페이지 등을 분리하는 기능이다. 예를 들어, "사용자:"나 "토론:" 같은 접두사를 사용하여 페이지의 목적을 구분한다. 이를 통해 같은 제목으로 다른 기능을 하는 여러 페이지가 존재할 수 있다. 각 이름공간에는 관련된 "토론:" 이름공간이 있어 내용에 대해 논의할 수 있다.[71][72]
* '''분류 태그''': 문서나 파일에 분류 태그를 추가하여 관련 문서를 쉽게 찾을 수 있게 한다.[74] 이는 협업 태깅 시스템과 계층적 분류의 조합으로 설명된다.[75]
* '''하위 문서''': 슬래시(/)를 이용해 상위 문서와 하위 문서를 연결하여 사이트 이동 경로를 자동으로 지정할 수 있다. 예를 들어, `페이지 제목/하위 페이지 제목`과 같이 사용한다.
* '''템플릿''': 다른 페이지에 동적으로 포함될 수 있는 텍스트 블록이다. `template영어`은 이중 중괄호()를 사용하여 호출하며, 구조화된 문서 형태로 속성-값 쌍을 포함한다. 인포박스 `Infobox영어`는 주제에 대한 정보를 요약하여 문서 상단이나 오른쪽에 표시하는 데 사용된다. 템플릿 대체( `subst:` )를 사용하면 템플릿 내용을 페이지에 직접 삽입할 수 있다. 템플릿은 위키백과 문서의 문제점을 알리는 그래픽 상자를 출력하거나, 사용자에게 환영 메시지, 경고 메시지 등을 보내는 데 사용된다.[78][79][80][81][82]
'''사용자 지정''':
* '''틀''': "미디어위키:" 이름공간은 원래 특별한 문법을 사용하여 다른 문서로 동적으로 불러들일 수 있는 사용자 지정 텍스트 블록을 만드는 데 이용되었다. 이러한 내용은 나중에 저만의 이름공간인 "틀:"로 이동되었다.
* '''사용자 그룹 및 접근 제한''': 미디어위키는 사용자 그룹을 만들고 정의하는 유연성을 제공한다. 이를테면 사용자를 차단하고 문서를 삭제할 수 있는 권한을 가진 임의의 "닌자" 그룹을 만들 수 있다.
* '''확장성''': 미디어위키의 코드에는 콜백 함수를 이용하여 다양한 후크(hook)를 포함하고 있으므로 부가적인 PHP 코드를 확장 가능한 방법으로 추가할 수 있다.
사용자는 모든 페이지 보기에서 실행되는 맞춤형 자바스크립트를 구성할 수 있다. 이로 인해 사용자가 "설치"할 수 있는 자바스크립트 도구가 생겨났으며, 여기에 표시된 "탐색 팝업" 도구는 링크 제목 위에 마우스를 올리면 문서의 작은 미리 보기를 표시한다.
해당 기능이 활성화되면, 사용자는 스타일 시트를 사용자 정의하고 모든 페이지 보기에서 실행할 클라이언트 측 자바스크립트를 구성할 수 있다. 위키백과에서는 이로 인해 위키를 통해 개발되고 사용자 간에 공유되는 많은 수의 추가 도구와 지원 도구가 생겨났다. 예를 들어, ''탐색 팝업''은 사용자가 링크 위에 마우스를 올리면 문서의 미리 보기를 표시하고 일반적인 유지 관리 작업에 대한 바로 가기를 제공하는 맞춤형 자바스크립트 도구이다.[76]
미디어위키 전체 사용자 인터페이스는 필요한 권한을 가진 사용자(일반적으로 "관리자"라고 함)가 위키 자체를 통해 편집할 수 있다. 이는 접두사 "MediaWiki:"가 있는 특수 네임스페이스를 통해 수행되며, 여기서 각 페이지 제목은 특정 사용자 인터페이스 메시지를 식별한다. 확장 기능을 사용하면,[77] 사용자는 개인 스크립트를 만들고 사용자 기본 설정 페이지에서 해당 옵션을 토글하여 특정 사이트 전체 스크립트가 적용될지 여부를 선택할 수도 있다.
'''API''': 미디어위키 데이터베이스에 포함된 데이터에 대한 높은 수준의 직접 접근을 제공하는 확장 가능한 웹 API (애플리케이션 프로그래밍 인터페이스)를 가지고 있다.
그림은 갤러리로 정렬될 수 있으며, 이는 Wikimedia Commons의 미디어 보관소에 광범위하게 사용되는 기능이다.
미디어위키는 다양한 미디어 파일 처리에 강점을 보인다. 특히 이미지 갤러리와 썸네일 생성 기능이 뛰어나며, Exif 메타데이터도 지원한다. 이는 자유 콘텐츠 미디어 보관소인 Wikimedia Commons 운영에 필요한 기능이다.
'''편집 추적''': 편집 추적을 돕는 "최근 바뀜" 기능은 위키에서 최근에 일어난 편집 목록을 보여준다. 또한 "주시 목록" 기능을 통해서 자신이 원하는 페이지를 주시 목록에 추가하여 편집이 발생했을 때 확인할 수 있다.
3. 1. 편집 인터페이스
미디어위키의 문서 편집 도구는 배우기가 쉽지 않은 것으로 알려져 있다.[208] 미디어위키 기반의 위키를 이용하도록 한 학생들을 대상으로 한 설문 조사에서 위키의 주요 문제점에 대한 열린 질문을 했을 때, 24%가 서식 관련 기술적 문제, 예를 들어 "이미지를 넣는 방법을 모르겠습니다. 단어를 사용하여 링크를 표시하는 방법을 모르겠어요; 숫자가 삽입됩니다." 와 같은 문제를 언급했다.[209]
긴 페이지를 더 쉽게 편집할 수 있도록 미디어위키는 머릿말로 구분되는 페이지의 하위 섹션을 편집할 수 있게 해준다. 등록된 사용자는 편집이 사소한지 여부를 나타낼 수 있다. 맞춤법, 문법 또는 구두점 수정은 사소한 편집의 예이며, 새로운 텍스트 단락을 추가하는 것은 사소하지 않은 편집의 예이다.
어떤 사용자가 편집하는 동안, 두 번째 사용자가 페이지의 동일한 부분에 편집 내용을 저장하는 경우가 있다. 그러면 첫 번째 사용자가 페이지를 저장하려고 할 때 편집 충돌이 발생한다.
미디어위키는 여러 다른 언어로 사용자 인터페이스를 제공한다. 위키 콘텐츠 자체에 대한 언어도 설정할 수 있으며, 이는 "Content-Language" HTTP 헤더 및 "lang" HTML 속성으로 전송된다.
구문 강조가 적용되고 2017년 위키텍스트 편집기의 편집 도구 모음과 위키 구문 몇 가지 예시가 표시된 MediaWiki 1.44.0-wmf.4의 편집 인터페이스
3. 2. 마크업
미디어위키는 확장 가능하며[204]HTML보다 배우고 쓰기 더 쉬운 가벼운위키 마크업을 이용한다. 미디어위키 마크업과 HTML 사이에 표와 같은 내용을 변환하는 도구들이 존재한다.[205] 미디어위키 마크업 규격을 만드는 노력이 있었으나, 위키코드에 문맥 대응 문법 규칙이 필요하다는 총의가 모인 것으로 보인다.[206][207]
미디어위키는 확장 기능을 추가하여 부가 기능을 제공하게 하는 핵심 기능들을 제공한다. 위키미디어 프로젝트에서 여러 언어들에 대한 지원이 강조되므로 국제화와 지역화가 개발자들로부터 큰 집중을 받고 있다.
사용자 인터페이스는 300개 이상의 언어로 부분적으로나 완전히 번역되고 있으며[196] 사이트 관리자들이 직접 원하는대로 수정이 가능하다. (완전한 인터페이스는 위키를 통해 편집 가능)
Niklas Laxström은 translatewiki.net이 MediaWiki에 400개 이상의 언어를 제공할 수 있도록 한 기능을 설명한다.
위키미디어 프로젝트에서 다국어 지원을 강력하게 강조하기 때문에 국제화 및 지역화는 개발자들의 많은 관심을 받았다. 사용자 인터페이스는 translatewiki.net에서 400개 이상의 언어로 완전히 또는 부분적으로 번역되었으며,[36] 사이트 관리자가 추가로 사용자 정의할 수 있다(전체 인터페이스는 위키를 통해 편집 가능).
MediaWiki Language Extension Bundle에 수집된 여러 확장 기능을 포함하여 여러 확장 기능은 MediaWiki의 다국어 지원 및 국제화를 더욱 향상시키도록 설계되었다.
3. 4. 확장 기능
미디어위키는 확장 기능을 추가하여 부가 기능을 제공하는 핵심 기능들을 제공한다. 위키미디어 프로젝트에서 여러 언어들에 대한 지원이 강조되므로 국제화와 지역화가 개발자들로부터 큰 집중을 받고 있다.
사용자 인터페이스는 300개 이상의 언어로 부분적으로나 완전히 번역되고 있으며[196] 사이트 관리자들이 직접 원하는대로 수정이 가능하다. (완전한 인터페이스는 위키를 통해 편집 가능)
미디어위키에는 서버 접근 권한이 있는 사용자가 "확장 기능"을 설치하여 부가 기능을 넣을 수 있다. 확장 기능은 여러 가지 종류가 있는데, 기능에 따라 다른 추가 기능, 권한, 특수 문서 등이 생긴다. 이러한 확장 기능은 위키 내의 특수:버전에서 확인 가능하다.
미디어위키는 풍부한 핵심 기능 집합과 추가 기능을 제공하기 위해 확장 기능을 첨부하는 메커니즘을 제공한다.
미디어위키의 코드베이스는 추가적인 PHP 코드를 확장성 있게 추가하기 위해 콜백 서브루틴 훅을 다양하게 포함하고 있다. 이를 통해 개발자는 핵심 코드를 수정하거나 코드를 검토를 위해 제출할 필요 없이 확장 기능을 작성할 수 있다. 일반적으로 확장 기능을 설치하려면 구성 파일에 한 줄을 추가해야 하지만, 경우에 따라 데이터베이스 업데이트 또는 핵심 패치와 같은 추가 변경이 필요하다.
개발자가 미디어위키에 기능과 기능을 추가할 수 있도록 다섯 가지 주요 확장 지점이 생성되었다. 훅은 특정 이벤트가 발생할 때마다 실행된다. 예를 들어, `ArticleSaveComplete` 훅은 저장 요청이 처리된 후 발생한다.[91] 이는 예를 들어 새로운 사용자 또는 익명의 사용자가 위키에서 페이지 편집을 할 때마다 선택된 사용자에게 알림을 보내는 확장 기능에서 사용될 수 있다.[92] 새로운 태그는 시작 태그와 종료 태그를 사용하여 데이터를 처리하기 위해 생성될 수 있다(``).[93] 파서 함수는 새로운 명령을 생성하는 데 사용될 수 있다().[94] 특정 기능을 수행하기 위해 새로운 특수 페이지를 만들 수 있다. 이러한 페이지는 동적으로 생성된다. 예를 들어, 특수 페이지는 외부 사이트에 하나 이상의 링크가 있는 모든 페이지를 표시하거나 사용자가 제출한 피드백을 제공하는 양식을 생성할 수 있다.[95]스킨을 통해 사용자는 미디어위키의 모양과 느낌을 사용자 정의할 수 있다.[96] 사소한 확장 지점은 Amazon S3를 사용하여 이미지 파일을 호스팅할 수 있도록 한다.[97]
미디어위키는 확장 기능을 통해 다양한 목적으로 더욱 발전하고 유용하게 만들 수 있다. 이러한 확장 기능은 복잡성에서 큰 차이를 보인다.
위키미디어 재단은 많은 확장 기능이 저장소를 호스팅하는 Git 서버를 운영한다. 이들 중 대부분은 미디어위키 웹사이트에 문서 페이지도 있다.
미디어위키 코드 검토는 역사적으로 미디어위키 확장을 통해 이루어졌으며,[98] 2012년 3월 현재, Gerrit를 통해 이루어지고 있다.
버전 1.16부터 미디어위키는 jQuery 라이브러리를 사용한다.[99]
2008년 팀 스타링
가장 인기 있는 확장 기능 중 하나는 조건문의 결과에 따라 다른 콘텐츠를 렌더링할 수 있게 해주는 구문 분석 기능 확장인 ParserFunctions이다.[100] 이러한 조건문은 매개변수가 비어 있는지 평가하고, 문자열을 비교하고, 수학적 식을 평가하고, 페이지가 존재하는지 여부에 따라 두 값 중 하나를 반환하는 등의 기능을 수행할 수 있다. 이 기능은 악명 높게 비효율적인 템플릿을 대체하기 위해 설계되었다.[101]
다른 구문 분석 기능 확장 기능인 StringFunctions는 문자열 길이, 문자열 위치 등을 평가하기 위해 개발되었다. 동일한 기능을 수행하기 위해 어색한 해결 방법을 만든 Wikimedia 커뮤니티는[102] 해당 기능을 프로젝트에서 활성화해 달라고 요청했다.[103] 이 기능의 대부분은 결국 ParserFunctions 확장 기능에 통합되었지만[104] 기본적으로 비활성화되었으며, 팀 스타링은 문자열 기능을 활성화하면 사용자가 "인류가 아는 가장 끔찍하고 비효율적인 프로그래밍 언어인 MediaWiki 위키 텍스트와 ParserFunctions로 자체 구문 분석기를 구현할 수 있다"는 경고를 했다.[105]
2012년부터 Scribunto라는 확장이 존재하여 Lua 스크립팅 언어로 작성된 "모듈"(위키 페이지)을 생성할 수 있으며, 이를 템플릿 및 표준 위키 페이지 내에서 실행할 수 있다. Scribunto는 2013년부터 위키백과 및 기타 Wikimedia 사이트에 설치되었으며 해당 사이트에서 많이 사용된다. Scribunto 코드는 ParserFunctions를 사용하는 해당 위키 텍스트 코드보다 훨씬 빠르게 실행된다.[106]
또 다른 매우 인기 있는 확장 기능은 인라인 참조를 사용하여 페이지에 각주를 추가할 수 있게 해주는 인용 확장 기능이다.[107] 하지만 이 확장 기능은 사용하기 어렵고 사용자가 복잡한 구문을 암기해야 한다는 비판을 받아왔다. RefToolbar라는 도구는 일반적인 틀을 사용하여 인용을 더 쉽게 만들 수 있도록 시도한다. 미디어위키는 수학 확장 기능[108]과 분자를 3D로 렌더링할 수 있는 확장 기능[109]과 같이 학계에 적합한 일부 확장 기능을 가지고 있다.
위젯 확장 기능은 미디어위키를 사실상 모든 것과 통합할 수 있도록 해준다. 위키를 개선할 수 있는 다른 확장 기능의 예로는 분류 제안 확장 기능,[110]플래시 비디오,[111] 유튜브 동영상,[112] 및 RSS 피드[113] 포함 확장 기능 등이 있다. 미국 상원 및 미국 하원 회의의 영상 기록을 보관하는 사이트인 메타비드(Metavid)는 미디어위키를 공동 비디오 제작 영역으로 확장하는 코드를 사용하여 제작되었다.[114]
스팸 봇은 웹을 검색하여 미디어위키 설치를 찾고 여기에 링크 스팸을 추가하는 경우가 많다. 미디어위키는 이러한 검색 엔진 최적화 시도를 막기 위해 nofollow 속성을 사용함에도 불구하고 이러한 일이 발생한다.[115] 문제의 일부는 미러 사이트와 같은 타사 재게시자가 웹사이트에서 nofollow 태그를 독립적으로 구현하지 않을 수 있다는 것이다. 따라서 마케터는 해당 항목이 타사 웹사이트에 나타날 때 페이지에 링크를 삽입하여 페이지랭크 이점을 얻을 수 있다.[116] 스팸 방지 확장은 CAPTCHA를 도입하고,[117] 특정 URL을 블랙리스트에 올리고,[118] 특정 사용자가 최근에 추가한 페이지를 대량 삭제할 수 있도록 하여 이 문제를 해결하기 위해 개발되었다.[119]
드롭다운 목록을 보여주는 검색 상자
미디어위키는 표준 텍스트 기반 검색 기능을 기본으로 제공한다. 미디어위키가 더 정교한 타사 검색 엔진을 사용할 수 있도록 해주는 확장 기능도 존재하며, 여기에는 엘라스틱서치 (2014년부터 위키백과에서 사용), 루씬[120] 및 스핑크스가 포함된다.[121]
위키 내에 입력된 데이터와 페이지의 수정 내역과 같은 메타데이터 모두에 대해 더 복잡한 패싯 검색을 허용하도록 다양한 미디어위키 확장 기능도 제작되었다.[122][123]시맨틱 미디어위키는 그러한 확장 기능 중 하나이다.[124][125]
3. 5. 접근 제한 및 사용자 그룹
미디어위키는 사용자 그룹을 생성하고 정의하는 데 유연성을 제공한다.[83] 예를 들어, 사용자를 차단하고 페이지를 삭제할 수 있으며 최근 변경 로그에서 기본적으로 편집 내용이 숨겨지는 임의의 "닌자" 그룹을 만들 수 있다. 또한 일정 횟수의 편집을 하고 며칠을 기다린 후 멤버가 되는 "자동 확인된" 사용자 그룹을 설정할 수도 있다.[83] 기본적으로 활성화된 일부 그룹에는 관리자와 운영자가 있다. 관리자는 다른 사용자의 권한을 변경할 수 있는 권한을 가지고 있다. 운영자는 페이지 보호, 삭제, 사용자 편집 차단에 대한 권한을 가지고 있다. 미디어위키의 편집 권한에 대한 사용 가능한 제어 기능은 병원 내 표준 운영 절차 매뉴얼과 같은 중요한 문서를 게시하고 유지 관리하는 데 충분하다고 간주되었다.[84]
페이지가 쓸모없는 내용으로만 구성된 경우, 해당 내용을 제거하는 데는 여러 가지 방법이 있다. 모든 사용자가 사용할 수 있는 가장 간단한 방법은 단순히 페이지를 비우는 것이다. 그러나 이는 페이지 존재 감지에 영향을 미친다. 확장 기능을 설치하여 비워진 페이지를 존재하지 않는 것처럼 처리하지 않는 한 그렇다.[85] 비우는 것은 또한 기록 페이지를 통해 내용에 접근할 수 있도록 한다. 이는 비운영자가 콘텐츠 제거 결정의 적절성을 쉽게 검토할 수 있도록 함으로써 투명성을 잠재적으로 증가시킬 수 있지만, 어떤 경우에는 용납할 수 없거나 심지어 불법일 수도 있다.[86] 다른 옵션은 운영자가 페이지를 삭제하여 비운영자가 볼 수 없도록 하는 것이다. "개정 삭제"라고 하는 또 다른 수준의 삭제는 특정 그룹(예: "감독자")에서 해당 그룹의 구성원이 아닌 사람이 페이지를 볼 수 없도록 하는 데 사용할 수 있다.[87] 또한 특정 확장 기능을 사용하여 위키의 일반적인 채널을 통해 콘텐츠를 볼 수 없게 하거나,[88] 데이터베이스에서 수정 사항을 완전히 삭제할 수도 있다.[89]
미디어위키는 접근 제한과 관련된 기본적인 기능 세트를 제공하지만, 원래 및 지속적인 설계는 내용 분리가 아닌 주로 내용과 관련된 기능에 의해 추진된다. 결과적으로, 최소한의 예외(특정 도구 및 관련 "특수" 페이지와 관련됨)를 제외하고 페이지 접근 제어는 핵심 개발에서 우선순위가 높지 않았으며, 개발자는 보안 사용자 접근 및 권한 부여 제어가 필요한 사용자는 미디어위키에 의존해서는 안 된다고 밝혔습니다. 이는 이러한 종류의 상황을 위해 설계되지 않았기 때문이다. 예를 들어, 특정 사용자만 일부 페이지를 읽고 접근할 수 있는 위키를 만드는 것은 매우 어렵다.[90] 여기서 Foswiki, MoinMoin 및 Confluence와 같은 위키 엔진은 접근 제어 목록과 같은 고급 보안 메커니즘을 지원하여 더 많은 유연성을 제공한다.
3. 6. 내비게이션
위키를 통한 내비게이션은 대개가 내부 위키링크를 통한다. 인터위키 링크는 네임스페이스와 매우 동일한 방식의 역할을 한다.
위키 탐색은 주로 내부 위키 링크를 통해 이루어진다. 미디어위키의 위키 링크는 페이지 존재 감지 기능을 구현하여, 대상 페이지가 로컬 위키에 존재하면 파란색으로, 존재하지 않으면 빨간색으로 링크를 표시한다. 사용자가 빨간색 링크를 클릭하면 해당 제목으로 문서를 만들라는 메시지가 표시된다. 페이지 존재 감지 기능을 통해 사용자는 아직 존재하지 않는 다른 관련 주제에 대한 링크를 포함하는 "위키화된" 문서, 즉 다른 문서에 대한 링크를 포함하는 문서를 실용적으로 만들 수 있다.
인터위키 링크는 네임스페이스와 거의 같은 방식으로 작동한다. 예를 들어, 구성된 인터위키 접두사 집합은 `wikiquote:Jimbo Wales`와 같은 페이지 제목이 위키인용집의 지미 웨일스 문서로 사용자를 안내하도록 할 수 있다.[66] 내부 위키 링크와 달리 인터위키 링크는 페이지 존재 감지 기능을 갖추고 있지 않으므로 파란색 인터위키 링크가 깨졌는지 여부를 알 수 없다.
Interlanguage links의 예
인터위키 링크는 대부분의 미디어위키 스킨의 사이드바에 나타나는 작은 탐색 링크로, 같은 위키 계열 내에서 다른 언어로 된 관련 문서와 연결해 준다. 이를 통해 더 큰 맥락으로 연결된 언어별 커뮤니티를 제공할 수 있으며, 모든 위키가 동일한 서버 또는 각각 자체 서버에 있을 수 있다.[67]
이전에는 위키백과에서 인터위키 링크를 사용하여 다른 위키백과 언어판에서 동일한 주제의 다른 문서와 연결했다. 이는 위키데이터가 출시되면서 대체되었다.[68]
3. 7. 콘텐츠 관리
미디어위키는 확장 기능을 통해 부가 기능을 제공하며, 특히 여러 언어 지원을 위한 국제화와 지역화에 중점을 두고 있다. 사용자 인터페이스는 300개 이상의 언어로 번역되어 있으며, 사이트 관리자가 수정할 수 있다.[196]
미디어위키는 콘텐츠 구조화를 위해 다음과 같은 기능들을 제공한다.
'''문서 탭 및 연결 문서''': 문서 상단의 탭을 통해 현재 페이지를 보거나 편집하고, 토론할 수 있다. 또한, 페이지의 모든 버전에 접근하여 두 버전 간의 차이를 확인할 수 있다.
'''이름공간''': 콘텐츠와 유지보수, 토론 페이지 등을 분리하는 기능이다. 예를 들어, "사용자:"나 "토론:" 같은 접두사를 사용하여 페이지의 목적을 구분한다. 이를 통해 같은 제목으로 다른 기능을 하는 여러 페이지가 존재할 수 있다. 각 이름공간에는 관련된 "토론:" 이름공간이 있어 내용에 대해 논의할 수 있다.[71][72]
'''분류 태그''': 문서나 파일에 분류 태그를 추가하여 관련 문서를 쉽게 찾을 수 있게 한다.[74] 이는 협업 태깅 시스템과 계층적 분류의 조합으로 설명된다.[75]
'''하위 문서''': 슬래시(/)를 이용해 상위 문서와 하위 문서를 연결하여 사이트 이동 경로를 자동으로 지정할 수 있다. 예를 들어, `페이지 제목/하위 페이지 제목`과 같이 사용한다.
'''템플릿''': 다른 페이지에 동적으로 포함될 수 있는 텍스트 블록이다. `template영어`은 이중 중괄호()를 사용하여 호출하며, 구조화된 문서 형태로 속성-값 쌍을 포함한다. 인포박스 `Infobox영어`는 주제에 대한 정보를 요약하여 문서 상단이나 오른쪽에 표시하는 데 사용된다. 템플릿 대체( `subst:` )를 사용하면 템플릿 내용을 페이지에 직접 삽입할 수 있다. 템플릿은 위키백과 문서의 문제점을 알리는 그래픽 상자를 출력하거나, 사용자에게 환영 메시지, 경고 메시지 등을 보내는 데 사용된다.[78][79][80][81][82]
3. 8. 사용자 지정
미디어위키는 확장 기능을 추가하여 부가 기능을 제공하게 하는 핵심 기능들을 제공한다. 위키미디어 프로젝트에서 여러 언어들에 대한 지원이 강조되므로 국제화와 지역화가 개발자들로부터 큰 집중을 받고 있다. 사용자 인터페이스는 300개 이상의 언어로 부분적으로나 완전히 번역되고 있으며[196] 사이트 관리자들이 직접 원하는대로 수정이 가능하다. (완전한 인터페이스는 위키를 통해 편집 가능)
미디어위키 일부는 특수 문서를 통해서나 특정 문서의 편집을 통해 구성할 수 있다. 이를테면 부정 행위 방지 필터들은 특수 문서를 통해 구성할 수 있으며[202] 특정 소도구들은 미디어위키 이름공간에다 자바스크립트 문서를 작성하여 추가할 수 있다.
'''틀''': "미디어위키:" 이름공간은 원래 특별한 문법을 사용하여 다른 문서로 동적으로 불러들일 수 있는 사용자 지정 텍스트 블록을 만드는데 이용되었다. 이러한 내용은 나중에 저만의 이름공간인 "틀:"로 이동되었다.
'''사용자 그룹 및 접근 제한''': 미디어위키는 사용자 그룹을 만들고 정의하는 유연성을 제공한다. 이를테면 사용자를 차단하고 문서를 삭제할 수 있는 권한을 가진 임의의 "닌자" 그룹을 만들 수 있다.
'''확장성''': 미디어위키의 코드에는 콜백 함수를 이용하여 다양한 후크(hook)를 포함하고 있으므로 부가적인 PHP 코드를 확장 가능한 방법으로 추가할 수 있다.
해당 기능이 활성화되면, 사용자는 스타일 시트를 사용자 정의하고 모든 페이지 보기에서 실행할 클라이언트 측 자바스크립트를 구성할 수 있다. 위키백과에서는 이로 인해 위키를 통해 개발되고 사용자 간에 공유되는 많은 수의 추가 도구와 지원 도구가 생겨났다. 예를 들어, ''탐색 팝업''은 사용자가 링크 위에 마우스를 올리면 문서의 미리 보기를 표시하고 일반적인 유지 관리 작업에 대한 바로 가기를 제공하는 맞춤형 자바스크립트 도구이다.[76]
미디어위키 전체 사용자 인터페이스는 필요한 권한을 가진 사용자(일반적으로 "관리자"라고 함)가 위키 자체를 통해 편집할 수 있다. 이는 접두사 "MediaWiki:"가 있는 특수 네임스페이스를 통해 수행되며, 여기서 각 페이지 제목은 특정 사용자 인터페이스 메시지를 식별한다. 확장 기능을 사용하면,[77] 사용자는 개인 스크립트를 만들고 사용자 기본 설정 페이지에서 해당 옵션을 토글하여 특정 사이트 전체 스크립트가 적용될지 여부를 선택할 수도 있다.
3. 9. API
미디어위키는 미디어위키 데이터베이스에 포함된 데이터에 대한 높은 수준의 직접 접근을 제공하는 확장 가능한 웹 API (애플리케이션 프로그래밍 인터페이스)를 가지고 있다. 클라이언트 프로그램은 API를 사용하여 로그인, 데이터 가져오기 및 변경 사항 게시를 할 수 있다. API는 얇은 웹 기반 자바스크립트 클라이언트와 최종 사용자 애플리케이션 (예: 반달리즘 방지 도구)을 지원한다.[51] 광범위한 파이썬 봇 라이브러리인 Pywikibot[52]과 AutoWikiBrowser라고 불리는 인기 있는 반자동 도구도 API와 인터페이스한다.[53] API는 `https://ko.wikipedia.org/w/api.php?action=query&list=recentchanges`와 같은 URL을 통해 액세스한다. 이 경우 쿼리는 위키백과에 사이트에 대한 마지막 10개의 편집과 관련된 정보를 요청한다. API의 인식된 장점 중 하나는 언어 독립성이다. API는 클라이언트의 HTTP 연결을 수신하며 XML, 직렬화된 PHP 또는 JSON과 같은 다양한 형식으로 응답을 보낼 수 있다.[54] 클라이언트 코드는 API에 추상화 계층을 제공하도록 개발되었다.[55]
3. 10. 리치 콘텐츠
미디어위키는 특별한 문법을 통해 만들어진 리치 콘텐츠를 지원한다.[196] 예를 들어, LaTeX를 사용하여 수식을 표현하거나, OCaml로 작성된 texvc라는 특수 파서를 선택적으로 지원한다.[56] 그래픽 타임라인, 수학적 플로팅, 악보, 이집트 상형 문자 등 다양한 콘텐츠를 확장 기능을 통해 사용할 수 있다.
미디어위키는 다양한 미디어 파일 처리에 강점을 보인다. 특히 이미지 갤러리와 썸네일 생성 기능이 뛰어나며, Exif 메타데이터도 지원한다. 이는 자유 콘텐츠 미디어 보관소인 Wikimedia Commons 운영에 필요한 기능이다.
WYSIWYG 편집을 위해 VisualEditor를 사용할 수 있으며, 이는 편집 과정을 단순화하고 미디어위키 1.35부터 기본으로 제공된다.[57] 다른 수준의 WYSIWYG 편집을 위한 확장 기능도 존재한다.[58]
인라인 참조를 사용해 각주를 추가하는 인용 확장 기능[107]도 많이 사용되지만, 복잡한 구문을 외워야 한다는 비판이 있다. RefToolbar 도구는 일반적인 틀을 사용하여 인용을 쉽게 만들 수 있도록 돕는다. 미디어위키는 수학 확장 기능[108], 분자를 3D로 렌더링하는 확장 기능[109] 등 학술적인 용도에 맞는 확장 기능도 제공한다.
위젯 확장 기능을 사용하면 미디어위키를 거의 모든 것과 통합할 수 있다. 분류 제안 확장 기능[110], 플래시 비디오[111], 유튜브 동영상[112], RSS 피드[113] 포함 등의 확장 기능이 있다. 미국 상원 및 미국 하원 회의 영상 기록 보관 사이트인 메타비드(Metavid)는 미디어위키를 공동 비디오 제작 영역으로 확장하는 코드를 사용하여 만들어졌다.[114]
3. 11. 편집 추적
미디어위키는 편집 추적을 돕는 여러 기능들을 제공한다. 그 중 하나인 "최근 바뀜" 기능은 위키에서 최근에 일어난 편집 목록을 보여준다. 이 목록에는 편집한 사용자, 편집 요약, 편집된 문서와 같은 기본적인 편집 정보와 더불어, 수정 가능한 부정 행위 방지 필터 등의 확장 기능을 통해 추가된 태그[211]도 포함된다. 이러한 태그는 도움이 되지 않는 편집을 막는 데 사용된다.[60]
더 활발한 위키에서는 편집이 너무 많이 일어나서 최근 변경 사항을 일일이 확인하기 어렵다. 그래서 사용자 지원 도구를 포함한 반달리즘 방지 소프트웨어[61]가 최근 변경 항목을 처리하는 데 사용되기도 한다. 이러한 도구는 서버 부하를 줄이기 위해 최근 변경 사항을 지속적으로 IRC 채널로 전송하기도 한다.[62][63]
또 다른 중요한 도구는 "주시 목록"이다. 로그인한 사용자는 자신이 원하는 페이지를 주시 목록에 추가할 수 있다. 주시 목록에 있는 페이지가 편집되면, 다음에 새로 고침할 때 해당 편집 요약이 주시 목록에 나타난다.[64] 최근 변경 페이지와 마찬가지로, 주시 목록에 나타나는 최근 편집에는 문서 기록과 특정 변경 사항을 쉽게 확인할 수 있는 링크가 포함되어 있다.
특정 사용자가 한 모든 편집을 검토하는 기능도 있다. 이를 통해 어떤 편집에 문제가 있는 것으로 확인되면, 그 사용자의 다른 편집도 문제가 있는지 확인할 수 있다.
미디어위키는 문서의 특정 버전에 링크할 수 있는 기능을 제공한다. 이는 과학계에서 유용하게 사용될 수 있는데, 전문가 동료 검토자가 문서를 분석하고 개선하여 해당 문서의 신뢰할 수 있는 버전에 대한 링크를 제공할 수 있기 때문이다.[65]
미디어위키는 MySQL/MariaDB, PostgreSQL 또는 SQLite관계형 데이터베이스 관리 시스템을 사용할 수 있다. Oracle Database 및 Microsoft SQL Server에 대한 지원은 미디어위키 1.34부터 중단되었다.[126] 미디어위키 데이터베이스는 페이지 제목, 페이지 ID 및 기타 메타데이터를 포함하는 `page` 테이블을 비롯하여 수십 개의 테이블을 포함한다.[127] 편집이 수행될 때마다 새 행이 추가되는 `revision` 테이블은 페이지 ID, 수행된 변경에 대한 간략한 텍스트 요약, 기사 편집자의 사용자 이름(또는 등록되지 않은 사용자의 경우 IP 주소) 및 타임스탬프를 포함한다.[128][129]
2008년 이전 4년 반 동안 미디어위키 데이터베이스는 170개의 스키마 버전을 가지고 있었다.[130] 가장 큰 스키마 변경은 성능 유연성을 향상시키기 위해 메타데이터 저장을 콘텐츠 저장과 분리한 미디어위키 1.5에서 2005년에 이루어졌다. 이 업그레이드가 위키백과에 적용되었을 때, 사이트는 편집이 잠겼고, 스키마는 약 22시간 만에 새로운 버전으로 변환되었다. 기사 섹션을 감시 목록을 통해 감시할 수 있도록 하는 제안과 같은 일부 소프트웨어 개선 제안은 필요한 스키마 변경으로 인해 위키백과 가동 중단 시간이 과도하게 필요했기 때문에 거부되었다.[131]
5. 개발자 공동체
미디어위키 개발자들은 전 세계에 분포해 있으나, 대부분은 미국과 유럽에 위치해 있다. 2004년부터 미디어위키 개발자들을 위한 대면 회의와 프로그래밍 세션이 한 해에 여러 번 개최되고 있다.[213]
6. 지원
미디어위키의 사용자 지원은 다음에서 이루어진다.
MediaWiki.org 지원 데스크[181][214]
공식 메일링 리스트 MediaWiki-l[181][214]
미디어위키 관리에 대한 정보를 담은 일부 서적 (일부 무료 온라인 서적 포함)[147][148][149][215][216]
7. 한계점
미디어위키 구문은 ''사실상'' 표준 역할을 하지만, 공식적인 문법이 정의되어 있지 않아 WYSIWYG 편집기를 만드는 데 어려움이 있었다. 그럼에도 불구하고, VisualEditor를 포함한 여러 WYSIWYG 확장 기능이 존재한다.
미디어위키는 전용 온라인 포럼이나 블로그 소프트웨어를 대체하도록 설계되지 않았지만,[133] 이를 가능하게 하는 확장 기능들이 있다.[134][135]
새로운 미디어위키 사용자들은 네 개의 물결표(~~~~)로 게시물에 서명하는 것을 잊거나,[136] 일반 텍스트 서명을 수동으로 입력하는[137] 등 미디어위키 토론 페이지에서의 의사소통과 관련된 특이 사항에 익숙하지 않아 실수를 저지르는 경우가 많다. 반면, 이러한 토론 페이지의 형식은 한 교육자에 의해 강점으로 언급되기도 했는데, 전통적인 스레드 토론 포럼보다 토론을 위한 더 세분화된 기능을 제공한다는 것이다. 예를 들어, 전체 메시지에 '답장'하는 대신, 토론 참가자는 원래 페이지의 모든 단어에 대한 새 위키 페이지에 하이퍼링크를 걸 수 있다. 콘텐츠가 전통적인 스레드 토론 포럼의 일련의 답장 메시지가 아닌, 하이퍼링크된 위키 페이지를 통해 제공되므로 토론을 따라가기가 더 쉽다. 그러나, 몇몇 경우를 제외하고 학생들은 이러한 기능을 사용하지 않았는데, 이는 아마도 전통적인 선형 토론 스타일에 익숙하고 콘텐츠를 더 '링크 풍부하게' 만드는 방법에 대한 지침이 부족했기 때문일 것이다.[138]
미디어위키는 기본적으로 다른 페이지의 데이터를 집계하는 동적으로 조립된 문서나 페이지를 만드는 것을 거의 지원하지 않는다. 이러한 기능을 미디어위키 내에서 직접 활성화하기 위한 연구가 수행되었다.[139] Semantic MediaWiki 확장은 이러한 기능을 제공한다. 위키백과에서는 사용되지 않지만, 1,600개 이상의 다른 미디어위키 설치에서 사용되고 있다.[140] 그러나 Wikibase 저장소 및 Wikibase 저장소 클라이언트는 각각 위키데이터와 위키백과에 구현되어 있으며, 어느 정도 시맨틱 웹 기능을 제공하고 다양한 위키백과 문서의 정보 상자에 중앙에 저장된 데이터를 연결한다.
미디어위키 업그레이드는 일반적으로 완전히 자동화되어 사이트 콘텐츠나 템플릿 프로그래밍에 대한 변경이 필요하지 않다. 역사적으로 상당히 오래된 버전에서 업그레이드할 때 문제가 발생하기도 했다.[141]
8. 다른 온라인 협업 소프트웨어와의 비교
온라인 협업 소프트웨어 사용자들은 위키백과에서 미디어위키를 사용한 것으로 유명하기 때문에 미디어위키의 기능과 레이아웃에 익숙하다. 2006년 학계의 소셜 소프트웨어 개요에서는 "다른 위키와 비교했을 때 미디어위키는 단순하지만 미적으로 꽤 훌륭하며, 쉽게 사용자 정의할 수 있는 사이드 메뉴와 스타일 시트를 갖추고 있다."라고 언급했다.[150] 하지만 같은 해 한 평가에서는 Confluence가 사용하기 쉬운 API와 여러 위키를 더 잘 지원하는 능력 때문에 더 우수한 제품으로 여겨졌다.[109]
2009년 홍콩 대학교의 연구에서는 TWiki와 미디어위키를 비교했다. 저자는 TWiki가 교육 논문 및 기술 프로젝트 개발을 위한 협업 도구로 여겨지는 반면, 미디어위키는 위키백과에서 가장 두드러지게 사용된다고 언급했다. 두 플랫폼 모두 토론 및 진행 상황 추적을 허용하지만, TWiki에는 미디어위키에 없는 "보고서" 부분이 있었다. 학생들은 미디어위키가 TWiki보다 사용하기 쉽고 더 즐겁다고 인식했다. 지식 관리 과정의 그룹 프로젝트에 미디어위키 사용을 권장하는지 묻는 질문에 대해 응답자 16명 중 15명이 "물론", "확실히"와 같은 매우 확신에 찬 답변을 하며 미디어위키를 선호한다고 답했다.[151] TWiki와 미디어위키 모두 유연한 플러그인 아키텍처를 가지고 있다.[152]
같은 해 다른 연구에서는 학생들이 미디어위키와 구글 문서를 사용한 경험을 비교한 결과, 학생들은 구글 문서의 사용자 친화적인 레이아웃에 대해 훨씬 더 높은 점수를 주었다.[153]
2021년 브라질 핵공학 연구소가 실시한 연구에서는 미디어위키 기반 지식 관리 시스템을 각각 DSpace와 Open Journal Systems를 기반으로 한 다른 두 시스템과 비교했다.[154] 이 연구에서는 미디어위키 기반 시스템의 장점으로 사용 편의성을 강조하며, 위키미디어 재단이 일반 대중(위키백과)을 대상으로 하는 사이트를 위해 미디어위키를 개발해 왔기 때문에 "사용자 인터페이스가 처음부터 더 사용자 친화적으로 설계되었으며, 오랜 기간 동안 광범위한 사용자 피드백을 받아왔다"고 언급했다. 이는 틈새 시장을 겨냥한 DSpace와 OJS와 대조적이다.[154]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.