Extension:BetaFeatures/id

Ekstensi BetaFeatures (bahasa Indonesia: Fitur Beta) memungkinkan ekstensi MediaWiki lainnya untuk mendaftarkan fitur beta ke daftar preferensi pengguna di wiki. Ekstensi ini menggunakan arsitektur preferensi pengguna yang sudah ada dan beberapa halaman spesial untuk mencapai fungsinya.

Menggunakan hook baru di ekstensi Anda
Menggunakan ekstensi ini untuk mendukung fitur beta Anda itu mudah. Daftarkan hook bertipe "" di berkas Anda — sintaksnya nyaris sama persis dengan hook, dengan perubahan kecil untuk mendukung tipe preferensi yang kita butuhkan dalam kasus ini.

Di :

Di :

Lalu, Anda bisa menggunakan fungsi kenyamanan yang disediakan oleh BetaFeatures untuk memeriksa apakah fitur dinyalakan.

Anda bisa juga menggunakan mengecek preferensi biasa, tetapi jangan mengecek nilai benar atau salah - menggunakan nilai dari kelas HTMLFeatureField.

Karena kelas BetaFeatures harus ada di semua tempat, Anda bisa menggunakan fungsi kenyamanan di hook, halaman istimewa, atau di manapun Anda mau. Perhatikan saja bahwa ada kemungkinan terjadi masalah performa atau tembolok yang disebabkan oleh perubahan tersebut.

Jika Anda juga ingin menggunakan ekstensi Anda tanpa BetaFeatures, Anda sebaiknya juga mengecek keberadaannya, misalnya:

Konfigurasi
Variabel konfigurasi  bisa digunakan untuk membatasi fitur beta yang ditampilkan di preferensi. Secara bawaan isinya kosong, dan semua fitur beta ditampilkan.

Jika variabelnya digunakan maka untuk menampilkan suatu fitur beta di preferensi, maka fiturnya harus dimasukkan ke daftar putih. Variabel konfigurasi ini menerima selarik string. Masing-masing string seharusnya berupa nama dari fitur beta sebagaimana yang ditetapkan di definisi preferensi dan diberikan ke. Sebagai contoh, di kode di atas, nama dari fitur betanya adalah, jadi Anda perlu menambahkan string itu ke larik   di konfigurasi wiki Anda:

Penggunaan lanjutan
Ingin melihat sesuatu yang sangat keren?

Kelompok otomatis-memasukkan
Dengan contoh ini, kita memasukkan preferensi "auto-enroll" - jika seorang pengguna mencentang ini, dan fitur baru yang berada dalam suatu kelompok muncul, pengguna tersebut akan secara otomatis dimasukkan ke dalam fitur tersebut.

Manajemen dependensi
Berikutnya, kita bisa mendefinisikan manajemen dependensi per fitur. Untuk melakukan ini kita pertama-tama mendaftarkan name dari hook yang kita ingin gunakan untuk ini dengan hook "", kemudian kita daftarkan hook bertipe itu yang memeriksa dependensi, dan menghasilkan nilai true apabila dependensinya dipenuhi atau false jika tidak.

Anda bisa men yalah gunakan fitur ini untuk melakukan penonaktifan fitur per wiki, jika mereka ditandai sebagai dependen. Tetapi itu terdengar sangat canggung. Anda sebaiknya tidak melakukannya. Aku bisa mendengar Anda sedang memikirkannya, hentikan saja.

Urusan basis data
Terdapat tabel basis data yang didefinisikan, dan digunakan, oleh BetaFeatures. Tetapi Anda mungkin kebingungan jika Anda mencoba menggunakannya secara lokal.

Kami menggunakan antrean pekerjaan untuk menjalankan pembaruan untuk tabel ini, ketika temboloknya kedaluwarsa (30 menit TTL). Jika wiki Anda dikonfigurasi untuk menjalankan pekerjaan begitu diminta, ini akan membuat satu permintaan setaip 30 menit sangat lambat, tetapi sisanya akan relatif cepat. Jika Anda mengonfigurasi wiki Anda untuk menjalankan pekerjaan via cron, hal-hal akan bekerja dengan lebih baik.