Huwag abusuhin ang MediaWiki core.

This page is a translated version of the page Do not hack MediaWiki core and the translation is 100% complete.

Habang ang hacking MediaWiki core ay kadalasang isang solusyong iminungkahi sa iba pang mga MediaWiki support forum, ito ay hindi isang perpektong solusyon. Sa pangkalahatan, magdudulot ito sa iyo ng higit pang mga problema kaysa sa malulutas nito at gagawin lamang na mas mahirap i-install ang mga upgrade sa hinaharap.

Para sa mga layunin ng itong sanaysay, ang "core" ay nilalayong isama ang lahat ng mga file na kabilang sa orihinal na MediaWiki installation. Ibig sabihin nito ay lahat ng mga file maliban sa LocalSettings.php, docker-compose.override.yml, ang mga nasa iyong "extensions" o "skins" na folder, o iba pang mga folder na idinagdag mo mula noong una mong pag-install.

Bakit hindi mo dapat baguhin ang mga core files

Gaano man kadaling baguhin ang mga pangunahing file (core files) para magawa ng MediaWiki ang gusto mong gawin nito, labanan ang tentasyon.

  • Ang paggawa nito ay maaring kumplikado, mahirap o halos imposibleng ilapat ang mga pagbabago sa site tulad ng mga seguridad at pag-aayos ng mga depekto. *
  • Papahirapan mo ang mga susunod na magpanatili ng site. *
  • Maaari mong iwanang mahina ang iyong site sa mga pagsasamantala. *
  • Hindi gaanong pinapaboran ang ibang mga developer na tulungan ka kung na-hack mo ang iyong core — kung sa walang ibang dahilan kundi mahirap para sa kanila na malaman kung ano ang nagawa.

Ang MediaWiki core ay idinisenyo upang maging modular, kaya dapat walang dahilan para abusuhin ito. Kung mayroong isang tampok na gusto mo at hindi ito magagawa sa labas ng pagbabago ng core, isaalang-alang ang pagbuo ng isang extension o pagsusumite ng iyong hack bilang isang patch. Magsumite ng ulat ng depekto at sabihin sa komunidad tungkol sa feature na nais mong makamit. Ito ay susuriin at ang iyong tampok ay maaaring maging bahagi ng MediaWiki core.

Mga problemang kinakaharap ng mga wiki na nagha-hack ng kanilang core

  • Ang mga oras ng pag-upgrade ng MediaWiki ay mula 30 minuto hanggang 6 na oras o kahit 6 na linggo kung ang iyong diff ay nagpapakita ng 13650 na linya ay nabago.
  • Pagtaas ng spam at iba pang hindi kanais-nais na pag-atake dahil sa kahinaan ng seguridad.
  • Nasayang na pagkakataon sa bagong features dahil sa magkasalungat na mga hack sa core file.
  • Kawalan ng kakayahang gumamit ng dokumentasyon ng MediaWiki.org — lahat ng ito ay isinulat sa ilalim ng pagpapalagay na hindi ay na-hack mo ang iyong mga pangunahing file (maliban kung siyempre sumulat ka ng dokumentasyon na partikular para sa kung paano patakbuhin ang MediaWiki kapag ang partikular na pag-hack ay ginagamit).
  • Ang pag-uulit ng pinagmumulan ng problema — dahil ang ulat ng depekto ay isang mas maaasahang paraan upang malutas ang isang problema kaysa sa isang pangunahing hack — kung walang ibang dahilan kundi isang pangkat ng mga developer ang titingnan ang problema at maaaring matuklasan ang mga kinakailangang pagbabago sa code na napalampas mo .
  • Ang pagrereklamo sa mga developer tungkol sa iyong mga core file na hindi gumagana — at hindi nakakahanap ng labis na simpatiya — kung na-hack mo ang mga core file — Ang epektibong teknikal na suporta ay magiging imposible.

Mga Eksepsyon

Mayroon bang eksepsyon sa patakaran na ito?

Wala.

Opo, napakabihira lamang. Ngunit ito ay karaniwang para sa mga partikular na wiki o pagpapatupad ng mga taong lubos na pamilyar sa MediaWiki code base, mga kasanayan sa pag-unlad at modelo ng seguridad. Yaong mga wastong nagdodokumento ng kanilang mga pagbabago at nagsasagawa ng wastong kontrol sa rebisyon gamit ang kanilang code. Kung kailangan mong magtanong, malamang na hindi mo dapat.

Mga Ekstensyon

Tandaan na ang karamihan sa page na ito ay nalalapat din sa mahahalagang extension. Hindi magandang ideya na direktang simulan ang pag-hack ng mga extensyon ng Semantic MediaWiki, o alinman sa mga extensyon ginamit sa Wikipedia at iba pang mga site ng Wikimedia.

Ang isang eksepsyon ay maaaring kung ang isang extensyon ay pangunahing naka-install sa pamamagitan ng pagkopya ng code nito mula sa this wiki (sa halip na makuha ito mula sa isang software repository). Nangangahulugan ito na hindi ito masyadong seryosong pinananatili.

Sa halip na gawin

Sa halip na i-hack ang core ng MediaWiki, may ilang alternatibong solusyon na dapat isaalang-alang, higit pa o mas kaunti sa ganitong pagkakasunud-sunod:

Ang # MediaWiki ay isang makapangyarihang halimaw sa labas ng kahon, marami kang magagawa gamit ang mga mensahe sa interface ng MediaWiki gaya ng MediaWiki:Sidebar at marami pang iba, tingnan din ang iba pang mga pahina sa wiki na ito para sa hal. JavaScript at CSS mga karagdagan at pagbabago.

  1. Bumuo ng extensyon upang maisakatuparan ang nais gawin ng iyong hack, o gamitin lamang ang isa sa mga nauunang hooks
  2. Magsumite ng ulat sa depekto
  3. I-ambag ang iyong pag-uunlad sa mga core sa iyong code repository upang makinabang ang iba sa iyong solusyon

Mangyaring tingnan din

  • {{Extension by patch warning }} — Template na idaragdag sa mga pahina ng mga extensyon na nangangailangan ng mga pagbabago sa MediaWiki core.