MoinMoin adalah mesin wiki yang dikembangkan menggunakan bahasa pemrogramanPython dan awalnya didasarkan pada mesin wiki PikiPiki. Nama MoinMoin berasal dari sapaan khas Jerman Utara, moin, yang diulang dengan konsep serupa dengan penamaan WikiWiki. Kode sumber MoinMoin dilisensikan di bawah GNU General Public License versi 2 atau versi yang lebih baru, dengan pengecualian pada beberapa modul pihak ketiga yang menggunakan lisensi perangkat lunak bebas lain yang kompatibel dengan GPL.[1]
MoinMoin digunakan oleh berbagai organisasi untuk menjalankan wiki publik, termasuk proyek perangkat lunak bebas seperti Ubuntu, Apache, Debian, dan FreeBSD.[2]
MoinMoin mengalami penurunan dukungan pada tahun 2020 setelah dukungan resmi untuk Python 2 berakhir pada Januari tahun itu. Rilis stabil terakhir, MoinMoin 1.9.11, ditulis dalam Python 2.7 dan tidak direncanakan untuk diporting ke Python 3.
Pengembangan MoinMoin 2.0, yang dimaksudkan untuk berjalan pada Python 3.5, berjalan lambat dan baru mencapai status rilis pada November 2023. Akibatnya, instalasi MoinMoin 1.9.11 menghasilkan beberapa peringatan terkait ketergantungannya pada Python 2.[3]
Detail teknis
MoinMoin menggunakan mekanisme penyimpanan berbasis berkas dan direktori, bukan pangkalan data. Pendekatan ini memungkinkan pengelolaan dan pemulihan konten secara langsung melalui penyunting teks pada peladen, termasuk penanganan revisi apabila terjadi penyalahgunaan seperti spam.
MoinMoin mendukung sistem pengaya dan dapat diperluas melalui makro dan aksi. Perangkat lunak ini menerapkan pemisahan antara parser dan formatter, dengan antarmuka menyerupai SAX di antara keduanya. Parser digunakan untuk mengurai sintaks wiki, sedangkan formatter bertanggung jawab atas keluaran, seperti HTML. Dengan arsitektur ini, keluaran dalam format lain, seperti DocBook, dapat dihasilkan dengan menyediakan formatter yang sesuai tanpa perlu mengubah parser.[4]
MoinMoin mendukung penautan berbasis CamelCase serta tautan bebas non-CamelCase. Penautan CamelCase diaktifkan secara bawaan dan tidak dapat dinonaktifkan secara permanen, kecuali melalui penggunaan parser alternatif, yang tidak sepenuhnya kompatibel dengan penyunting WYSIWYG.[5]
Perangkat lunak ini menyediakan dukungan lanjutan untuk daftar kontrol akses, yang meningkatkan kegunaannya sebagai sistem manajemen konten. MoinMoin juga dilengkapi dengan kemampuan penyuntingan berbasis antarmuka grafis.[6]
Untuk fungsi pencarian, MoinMoin dapat menggunakan mesin pencari bawaan tanpa ketergantungan tambahan atau mesin pencari terindeks berbasis Xapian, yang menawarkan kinerja lebih cepat serta kemampuan menelusuri revisi lama dan berkas terlampir.[7]
MoinMoin mendukung sinkronisasi konten antarinstans melalui XML-RPC, sehingga memungkinkan pengeditan luring secara terdistribusi.[8] Selain itu, edisi DesktopEdition menyediakan penggunaan yang lebih sederhana dengan memanfaatkan peladen web bawaan dan hanya memerlukan Python pada sistem host. Sejak versi 1.6.0, DesktopEdition telah digabungkan ke dalam rilis standar. Pada rilis ini pula diperkenalkan sintaks markah baru yang relatif stabil sejak diperkenalkan.[9]