MediaWiki hackeri olma

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page How to become a MediaWiki hacker and the translation is 54% complete.

Outdated translations are marked like this.
Other languages:
العربية • ‎български • ‎dansk • ‎Deutsch • ‎Ελληνικά • ‎English • ‎español • ‎فارسی • ‎français • ‎हिन्दी • ‎magyar • ‎interlingua • ‎Bahasa Indonesia • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎occitan • ‎ਪੰਜਾਬੀ • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎русский • ‎српски / srpski • ‎svenska • ‎ไทย • ‎Türkçe • ‎Tiếng Việt • ‎中文

Bu madde, geliştiricilere MediaWiki geliştirmeye katkıda bulunmak için gereken temel becerileri öğrenmelerinde yardımcı olmak için yazılmıştır.

Note that in most cases when working with MediaWiki, you do not want to hack MediaWiki core unless you really know what you're doing.

The main path to get started with Wikimedia development is to contribute to Wikimedia projects that offer mentoring. An alternative without mentoring is to fix an annoying little bug.

MediaWiki'yi zaten tanıdık deneyimli bir geliştiriciyseniz, onun yerine GeliştiricilerDeveloper hub sayfasını ziyaret edin.

MediaWiki topluluğuna katılmanın diğer yolları için Katkıda nasıl bulunulur?How to contribute sayfasına bakınız.

Genel bakış

MediaWiki, Wikipedia'nın, onun kardeş projelerinin ve binlerce wikinin tüm dünyada güç sağlayan bir yazılımdır.

MediaWiki is written in the PHP programming language[1]. It uses jQuery as the client JavaScript library.

MediaWiki is primarily written for the LAMP platform[2] and runs on most operating systems. MediaWiki primarily uses the MySQL and MariaDB database servers.[3]

Development happens in an open source style[4], is largely coordinated online, and supported by the Wikimedia Foundation, though volunteer community developers play a huge part as well.

Bu sayfa, MediaWiki'ye katkıda bulunma yolunda başlamanıza yardımcı olmaktadır.

Öğretici değil; gerekli olanı öğrenmek için gidebileceğiniz çeşitli yerlere işaret ediyor.

Başlarken

Çoğu projelerde Git ve Gerrit kullanır. Siz de $dev'e kaydolarak ve Gerrit öğreticisini okuyarak başlayabilirsiniz.

Ardından, kodumuzu indirmek, değişiklik yapmak, test etmek ve yamalar göndermek için devam edebilirsiniz. Geliştirme ortamınızı ayarlamanın iki yolu vardır: önceden yapılandırılmış sanal makine kurulumunu (vagrant) veya elle kullanma.

Vagrantlı Sanal Makine

  • Vagrant kurulumu - Bu adımlar MediaWiki sunucusunu bir Linux sanal makinesi içerisindeki tüm gereksinimlerle birlikte yükleyecektir (Linux, Windows veya Mac bilgisayarlarda kullanılabilir)

Elle kurulum

MediaWiki özelliklerini geliştirmek için Vikipedi veritabanı dökümlerini indirmek gerekli değildir. Aslında, çoğu durumda, birkaç özel hazırlanmış sınama sayfası bulunan boş boş bir veritabanını kullanmak daha kolaydır. Bununla birlikte, eğer bir nedenle Vikipedi'nin bir kopyasını almak istiyorsan, bir dökümü cangetlemelisiniz.

Önerilen okuma

Bir geliştirici olarak soruşturma, git commit, gözden geçirme ve birleştirme işlemleri yapma ve Bugzilla biletini kapatma (şu anda PhabricatorPhabricator'ın yerini alması) dahil olmak üzere bir hatayı giderdiği gibi izleyin.


Geri bildirim, sorular ve destek

  • Öncelikle kendinize bazı temel araştırmalar yapmanız beklenmektedir: Koda bakınız, ne yapmanız gerektiği konusunda fikir sahibi olmaya çalışınız, ilgili dokümanları okumaya çalışın, hatayı düzeltmek için sırayla değişiklik yapmanız gereken muhtemel yerleri bulmaya çalışın.
  • If you have general questions about infrastructure (Git, Gerrit, Vagrant), the software architecture or workflows which are not tied to the specific task that you want to work on, use generic channels like IRCIRC, mailing lists, or wiki discussion pages but not the specific task. For example, if you have a problem with Gerrit, the Gerrit discussion page could be a good place to ask.

"Can you give me more info how to fix this bug?" is not a good question to start with: The more specific your questions are, the more likely somebody can answer them quickly. Eğer hatanın nasıl düzeltileceği konusunda hiçbir fikriniz yoksa, belki bu hata henüz sizin için değildir - lütfen önce daha kolay bir hata bulmayı düşünün.

  • Sorarken, başkalarının doğru seviyede yardımcı olabilmesi için, denediğiniz ve keşfettiğiniz şeyleri ayrıntılı bir şekilde anlatın.

Belirli olmaya çalışın - örneğin, kendi sözcüklerinizde bir ifade vermek yerine, komutlarınızı ve çıktılarını (eğer çok uzun değilse) kopyalayıp yapıştırın. Bu, yanlış anlaşılmaları önler.

  • Avoid private email or support requests in our social media channels.
  • Giriş ve yorumlar ararken lütfen sabırlı olunuz.

IRC'de, sormaya sormayın, sormanız yeterlidir: bir IRC kanalında sorarsanız çoğu soru diğer topluluk üyeleri tarafından da cevaplanabilir. Eğer kimse cevap vermezse, sorunla ilgili hata raporunda veya viki sayfasında sorun; Sadece soruyu bırakmayın.


Bir hata üzerinde çalıştığınızı bildirme

Hata raporunda atanan olarak ayarlanmanız veya bir hata üzerinde çalışmaya başlamadan önce planlarınızı duyurmanız gerekmez, ancak hoş karşılanıyor.

You are welcome to set yourself as the assignee in a task: Use the dropdown Add Action… → Assign/Claim in Phabricator.

En son ne hata için bir yama oluşturmaya yaklaştığınızda, bir yorumda üzerinde çalıştığınızı bildirmek iyidir.

Duyurunuz aynı zamanda başkalarının böcek üzerinde aynı anda çalışmamasına ve çoğaltmasına yardımcı olur.

Ayrıca, bir hata raporunda Gerrit'teki bir düzeltme eki için yeni bir bağlantı varsa ve "Derleme İçin Düzeltme Eki" projesi bulunuyorsa, bunun yerine üzerinde çalışmak için farklı bir hata seçmelisiniz - işi çoğaltmaktan kaçının.

Gerrit'teki düzeltme eki birleşmediyse ve uzun süredir herhangi bir değişiklik görmediyse, varolan düzeltme ekini alıp iyileştirmeyi deneyebilirsiniz.

Eğer bir görev üzerinde çalışmayı bırakırsanız, kendinizi bir hata raporunun devralanı olarak atamalı ve atanan kişiyi varsayılan ödev sahibine sıfırlamalısınız, böylece başkaları hata raporunda çalışabileceklerini biliyor ve üzerinde çalışmaya devam etmenizi beklemiyor.

Erken iletişim kurarak topluluk üyelerinden daha fazla ilgi, geri bildirim ve yardım alırsınız.


İlave

MediaWiki contributors at work in Bangalore, India.

PHP

MediaWiki PHP ile yazılmıştır, bu nedenle MediaWiki'nin çekirdeğini kesmek için PHP'ye aşina olmanız gerekir.

Learn PHP
  • PHP öğrenimi — Birçok farklı dilde mevcuttur. Eğer PHP hakkında hiçbir bilgiye sahip değilseniz, ancak diğer nesne tabanlı programlama dillerinde nasıl program yapacağınızı biliyorsanız, PHP öğrenmenizi kolaylaştıracaktır.
  • PHP Programming at Wikibooks.
  • PHP topic at Wikiversity.
PHP kaynakları
Bilmeniz gereken şeyler
  • MediaWiki'deki maintenance/eval.php komut dosyası, MediaWiki nesneleri ve sınıfları yüklenen basit bir PHP yorumlayıcı sağlar.

Veritabanı

Birçok özellik, bir miktar veritabanı manipülasyonu gerektirir, bu nedenle sıklıkla MySQL/MariaDB'yi tanımanız gerekir.

MySQL/MariaDB'yi öğrenin
MySQL/MariaDB kaynakları
Bilmeniz gereken şeyler
  • Kodunuzu MySQL/MariaDB ile test edin.
    • MediaWiki şu anda birincil veritabanı arka uç olarak MySQL ve MariaDB'yi kullanmaktadır. Ayrıca PostgreSQL ve SQLite gibi diğer DBMS'leri de destekler. Bununla birlikte, hemen hemen tüm geliştiriciler MySQL/MariaDB'yi kullanır ve sonuç olarak düzenli olarak kesilen diğer DB'leri test etmezler. Bu nedenle, özellikle başka bir DB için desteği geliştirmeye çalışmadıkça yamaları test ederken MySQL/MariaDB'yi kullanmanız önerilir. İkinci durumda, MySQL/MariaDB'yi kırmamaya özen gösterin (veya içinde korkunç derecede yetersiz olan soruları yazın), çünkü MySQL/ MariaDB herkesin kullandığı şeydir.

JavaScript ve CSS

JavaScript and CSS have become omnipresent in front-end code. You don't have to be familiar with JavaScript, jQuery and CSS to work on MediaWiki, but you might need to, depending on what you choose to work on.

JavaScript ve CSS'yi öğrenin
JavaScript ve CSS kaynakları

MediaWiki

The MediaWiki code base is large and some parts are ugly; don't be overwhelmed by it.

İlk başlayınca, küçük bir kod bölgesine kısıtlanmış hatalar veya hatalar düzeltmeyi hedefleyin.

MediaWiki basics and must-reads
MediaWiki kaynakları

Eklentilerde çalışma

MediaWiki uzantıları koduyla çalışmayı seçerseniz, aşağıdaki bağlantılar daha fazla bilgi sağlar.

MediaWiki uzantıları astarları:
MediaWiki uzantıları kaynakları

Ayrıca bakınız

  1. Not all of MediaWiki is written in PHP. Some supporting tools are written in other languages, including batch files, shell scripts, makefiles and Python.
  2. MediaWiki runs on most platforms that can support PHP, however, the lack of certain utilities or operating system features may limit the functionality or performance of MediaWiki on non-LAMP platforms.
  3. MediaWiki has support for DBMS other than MySQL and MariaDB, including Oracle, PostgreSQL, SQLite, and Microsoft SQL Server.
  4. Developers are a mix of volunteers and paid staff (or contractors) for various organizations. For a full list of who works on the MediaWiki code, read the DevelopersDevelopers article.
  5. Browse the source code and revisions of code repositories at https://phabricator.wikimedia.org/diffusion/ or download the source code to your system by using Gerrit.