Developer hub/ko



이 문서는 미디어위키 개발을 위한 높은 레벨의 개요입니다. 이 문서에는 미디어 위키 개발자들을 위한 핵심 문서, 리소스, 툴로의 링크가 포함되어 있습니다. 미디어위키를 사용해본 경험이 있는 숙련된 LAMP 개발자들을 위해 쓰여졌습니다.


 * 만약 위키미디어 웹 API를 "사용하고" 싶으시다면 웹 API 허브를 방문해주세요(작업중입니다).
 * 미디어위키 개발 시작을 위한 가이드가 필요하다면, 미디어위키 해커가 되는 법을 읽어주세요.
 * 미디어위키의 인스톨과 커스터마이즈에 도움이 필요하다면, 을 봐 주세요.
 * 미디어위키 사용에 관한 도움말은 에서 볼 수 있습니다.

개요
미디어위키는 PHP 프로그래밍 언어를 사용하여 오픈소스 스타일로 개발되었는데 주로 LAMP 플랫폼을 위한 것입니다. 핵심 개발은 주로 온라인 협업으로 이루어집니다.


 * 개발 토론는 다양한 메일링 리스트와 IRC 채널에서 이루어집니다. 메인 개발자 리스트는 wikitech-l에 있습니다. 메인 개발자의 IRC 채널은 #mediawiki와 #wikimedia-dev입니다. 메일링 리스트와 IRC 채널에 있는 사람들에 대한 것은 개발자들을 참고하세요.
 * 소스 코드는 Git의 버전 관리 시스템으로 관리됩니다. 미디어위키 개발자들이 Git을 어떻게 사용하는지 알고 싶으시면 Git 문서를 읽어주세요. 만약 당신이 시작하고 싶다면, wikitech:Help:Access를 읽어주세요.
 * 코드 리뷰는 에서 수행됩니다. 패치 내용을 제출하고 싶으시다면, 이 튜토리얼을 보고 git과 gerrit을 설치하세요.
 * 핵심 코드로 작업하는 대신 미디어위키로 확장이나 인터페이스를 개발을 하는 경우에는 API나 Hooks 시스템과 Skins 같은 편리한 확장 도구들을 사용할 수 있습니다. 이 페이지의 #미디어위키 확장 부분에서 볼 수 있습니다.

핵심 문서


코드, 개발과 스타일

 * 개발 정책 – 핵심 개발 정책이 정리되어있습니다.
 * 코딩 관례 – 미디어위키 형식으로 코드 작성하는 법을 배워보세요.
 * 개발자를 위한 보안 - 미디어위키 보안을 유지하는 법을 배워보세요.
 * 코드 적용 전 체크리스트 – 코드를 적용하기 전에 읽어보세요.
 * 코드 리뷰 가이드 - 미디어위키 소스 코드를 커밋하려는 리뷰어를 위한 가이드입니다.
 * 의견 요청 - 미디어위키 환경의 새로운 요소들에 대해 읽거나 제안해주세요.

디버깅과 테스트

 *  – 미디어위키 프로젝트의 버그 트래킹의 개요입니다.
 * 디버그하는 방법 – 미디어위키의 디버깅 가이드
 * 설명서:오류와 증상 – 흔한 미디어위키 오류와 그에 따른 증상입니다.
 *  – learn to write UI tests for MediaWiki using Selenium.
 * Unit testing – learn to write unit tests for MediaWiki using PHPUnit.
 *  – security issues are reported to [mailto:security@wikimedia.org security@wikimedia.org].



구조

 * Manual:Code – an overview of the key parts of MediaWiki's source code.
 * Database layout – an overview of MediaWiki's database schemas.
 * 글로벌 객체 변수 – 핵심 글로벌 변수 목록입니다.
 * 현지화 – 미디어위키의 글로벌화 체계에 대해 알아보세요.
 * Manual namespace on this wiki – documentation for developers.
 * [//doc.wikimedia.org/mediawiki-core/master/php/ MediaWiki Class Reference] – technical documentation generated from the MediaWiki source code. (Note: The class reference is a large, slow-to-load page.)
 *  – 매뉴얼, 가이드, 콜렉션과 selected articles.

오래된 체제
미디어위키 데이터베이스에 들어 있는 데이터로의 고수준의, 직접적인 접근을 제공합니다.
 * ContentHandler – MediaWiki's framework for supporting custom types of page content.
 *  – an overview of using databases in MediaWiki, including a brief guide to the database abstraction layer.
 *  – MediaWiki's framework for processing long-running tasks asynchronously.
 *  – MediaWiki's framework for providing localized application messages with PHP or JavaScript.

MediaWiki를 확장한다
개발자가 특색과 기능성을 MediaWiki에 추가하는 것도 깔고는 기존의 기능성을 변경하는 것을 가능하게 하는 5의 주요한 확장 기능의 포인트가 있습니다.MediaWiki는"코어 코드"를 변경하는 일 없이 수정할 수 있도록 설계되고 있습니다.이것에 의해서 낡은 확장 기능 코드에 수작업으로 머지 하는 일 없이 새로운 MediaWiki의 버젼을 업데이트 하는 것이 간단하게 됩니다.확장 기능 포인트는 이하와 같습니다:


 * API – access the data and metadata of MediaWiki instances through its powerful "Action" web API
 * Hooks - "X"가 일어날 때마다 무엇인가를 합니다...
 * Parser Functions - 새로운 커멘드를 작성하는:
 * Skins - MediaWiki의 룩 앤드 필을 변경한다.
 * Special Pages - 새로운 특별 페이지를 추가한다.
 * Tag Extensions - 새로운 태그를 작성합니다:

확장 기능 개발자를 위한 도움말

 * Manual:Developing extensions – a guide to developing extensions.
 * Project:WikiProject Extensions
 * Extensions FAQ
 * See Category:Extensions, for a list of extensions.
 * Manual:$wgExtensionFunctions – use to defer setup (or run other callbacks) for extensions until after the MediaWiki core is setup.
 * Extension:BoilerPlate - a blank extension template

스킨 개발자를 위한 도움말


 * Manual:Skinning Part 1 – instructions on how to create a skin for MediaWiki.
 * Manual:Skin configuration – a guide to configuring skins for a wiki.

라이브러리 코드 재사용을 위한 도움말
 * – MediaWiki에서 사용 할 타사 라이브러리 패키징에 대한 안내

제 3자의 위키 사용

 * - For Enterprise wikis
 * - For Academic wikis