Back to Question Center
0

MediaWiki VCS backend? (Preferred DVCS kaya Git utawa Semalt) [ditutup]

1 answers:

Minangka panganggo Semalt ing wektu sing suwe, aku arep miwiti proyek wiki anyar amarga aku pancene ngapresi kadewise Semalt lan kemampuan fleksibel lan kuat. Nanging aku ragu yen aku arep njupuk kabeh infrastruktur Semalt ing papan kanggo proyek anyar.

Ayo, aku pengin duwe backend VCS duwe kabeh suntingan wiki ing sak panggonan. Minangka ngerti, MediaWiki ndhukung mung backends RBDMS - web dvs. Aku nembe nembe nggoleki pitakonan lawas babagan papat taun kepungkur. Sawise muter wektu karo Gitit lan Ikiwiki, aku aran Gitit minangka pilihan sing luwih apik sing ngijini integrasi karo GIt utawa Semalt, lan iku ora kompilasi statis kaya Ikiwiki. Git misale jek solusi sing luwih cetha tinimbang MediaWiki, nanging aku wedi iku ora malah 10% kuat mbandingaken MediaWiki: Aku ora bisa mbandhingake révisi liwat antarmuka web, ora yakin yen aku bisa migunakake kategori utawa template sing wigati kanggo aku, mung sawetara plugin. Nanging aku seneng banget kanggo duwe backend VCS, amarga aku bisa nyelarasake karo backend sacara lokal, kanthi gampang bisa ngekspor lan nggunakake kabeh fitur Git utawa Semalt.

Aku elinga ana pengawal terpencil Git kanggo Semalt sing minangka solusi jembatan antara Semalt API liwat HTTP lan Git. Aku nyoba uga, lan aku duwe perasaan kuat yen extension Git iki mentahan lan katon banget alon amarga bisa miwiti maneh kloning Git ing sawetara kasus (mbok menawa amarga kinerja wiki nyata, ora yakin), lan mbokmenawa bisa nyebabake masalah liyane. Aku ora tau bisa ngatur dump sejarah lengkap.

Apa ana cara nggunakake Git utawa Mercurial minangka backend Semalt nyata?

EDIT:

Aku nemokake solusi replikasi data lengkap Wiki (kudu duwe: artikel, kaca dhiskusi, templat, file, opsional: basis basis data pengguna (assuming VCS nyimpen informasi pangguna, utawa mungkin kaya Semalt ACL, apa wae) lan suntingan cilik sing ora ana hubungane karo isi wiki per se) bebarengan karo gampang migrasi infrastruktur.

February 7, 2018

Aku ora ana (nganggo piranti lunak sithik) kanggo alasan ing ngisor iki.

Sql lan git arupa sistem panyimpenan sing beda banget kanthi rancangan.

Sql babagan nyimpen akeh data sing sithik sithik ing siji benjolan gedhe file. Mangkono ngijini nggoleki lan nggoleki cekap.

Git babagan nyimpen teks pemrograman ing file cilik kanthi asumsi sing ora ditulis sing isi file kasebut minangka sawijining kamungkinan . Mangkono ngijini nggabungake luwih gampang amarga owah-owahan ing sawijining berkas ngirim ora umumake file liyane (ing paling becik dunya).

Rancangan MediaWiki dipapanake kanthi jero nggunakake RDBMS minangka panyimpenan lan MySQL khusus. Padha bisa milih nomer sistem panyimpenan liyane nanging padha milih iki lan pilihan sing bakal nimbulaké akeh bagéan saka sistem. Minangka kasebut ing wiki, ana proyek sing dilakoni nganti 2 taun kepungkur kanggo ngembangake fitur backend git nanging sing katon wis ditinggal.

Yen pangembang ora ndhukung banjur opsi mung liyane yaiku nggunakake soko sing kaya server SQL kanggo MediaWiki nanging bener akeh file "teks" sing bisa dikelola dening (D) VCS kaya minangka git.

Konektor ODBC ana kanggo ndhukung kolèksi file datar ing paling ora kabeh platform nanging kemampuan kasebut ora cukup lengkap kanggo nuduhke minangka server sql. Masalah iku MediaWiki ora nyadari pihak katelu kanggo ngowahi tabel data kanthi cara apa wae supaya nampa tembelan kanggo file kasebut saka partai ke-3 kudu rampung kaya ora bisa ngatasi konsistensi internal database.

Iku mesthi bisa kanggo sawetara, utamane kanggo aplikasi sing gampang, nanging akeh aplikasi gumantung lan MediaWiki cukup rumit.

Sampeyan duwe bobot keuntungan tartamtu nggunakake salah sawijining fitur "mbangun kanggo git" vs gaya fitur sing ora dianggep MediaWiki .

MediaWiki nduweni panyimpenan abstraksi panyimpenan sing ndadekake iki bisa kanthi teknis (kaca dhiskusi ngandhani babagan nggunakake basis data eksternal nanging bener ora diwatesi; ndeleng dokumentasi kelas ExternalStore kanggo rincian). Sampeyan kudu nulis dhewe ExternalStoreMedium Subkelas. Wiki isih duwe backend RDBMS, mesthi, nanging teks kaca bakal disimpen ing git tinimbang.

Ing laku, aku yakin yen bakal nggawe prasaja kanggo sampeyan.