Melaporkan kesalahan dan meminta fitur¶
Penting
Silahkan laporkan masalah keamanan hanya ke security@djangoproject.com. Ini adalah daftar pribadi hanya buka ke waktu-panjang, sangat dipercaya pengembang Django, dan arsipnya tidak untuk umum. Untuk rincian lebih jauh, silahkan lihat our security policies.
Sebaliknya, sebelum melaporkan sebuah kesalahan atau meminta fitur baru pada ticket tracker, pertimbangkan titik-titik ini:
- Periksa seseorang yang belum mengajukan kesalahan atau permintaan fitur dengan searching atau menjalankan custom queries di pelacak tiket.
- Jangan gunakan sistem tiket untuk meminta dukungan pertanyaan. Gunakan daftar django-users atau saluran #django IRC untuk itu.
- Jangan membuka kembali masalah-masalah yang telah ditandai "wontfix" tanpa menemukan pemufakatan untuk melakukannya pada django-developers.
- Jangan menggunakan pelacak tiket untuk obrolan panjang, karena mereka sepertinya hilang. Jika sebagian tiket kontroversial, silahkan pindahkan obrolan ke django-developers.
Melaporkan kesalahan¶
Penulisan-bagus laporan kesalahan adalah luar biasa sangat membantu. Bagaimanapun, ada jumlah tertentu dari atas ikut dalam bekerja dengan sistem pelacakan kesalahan apapun sehingga bantuan anda dalam menjaga pelacak tiket berguna mungkin sangat dihargai. Khususnya:
- Lakukan baca FAQ untuk melihat jika masalah anda mungkin menjadi pertanyaan dikenal.
- Lakukan tanya pada django-users atau #django pertama jika anda tidak yakin jika apa yang anda lihat adalah sebuah kesalahan.
- Lakukan tulsi lengkap, dapat digandakan, laporan kesalahan khusus. anda harus mememasukkan jelas, gambaran ringkas dari masalah, dan mensetel petunjuk untuk menggandakan itu. Tambah sebanyak informasi mencari kesalahan anda bisa: potongan kode, kasus percobaan, pengecualian pelacakan kebelakang, tangkapan layar, dll. Sebuah kasus percobaan kecil yang bagus adalah cara terbaik untuk melaporkan kesalahan, itu memberikan kami cara membantu untuk mengkonfirmasi kesalahan dengan cepat.
- Jangan tempatkan pada django-developers hanya untuk mengumumkan bahwa anda telah memberkaskan laporan kesalahan. Semua tiket disuratkan ke daftar lain, django-updates, yang dilacak oleh pengembang dan anggota komunitas yang tertarik; kami melihat mereka ketika mereka diberkaskan.
Untuk memahami siklus hidup tiket anda pertama anda telah membuatnya, mengacu ke Mendahulukan tiket.
Melaporkan kesalahan antarmuka pengguna dan fitur¶
Jika kesalahan atau fitur anda menyentuh pada apapun penglihatan dalam alami, terdapat beberapa tambahan panduan untuk diikuti:
- Include screenshots in your ticket which are the visual equivalent of a minimal test case. Show off the issue, not the crazy customizations you've made to your browser.
- Jika masalah sulit untuk ditunjukkan menggunakan gambar diam, pertimbangkan mengambil rekaman layar singkat. Jika perangkat lunak anda mengizinkannya, tangkap hanya kawasan yang sesuai dari layar.
- If you're offering a patch that changes the look or behavior of Django's UI, you must attach before and after screenshots/screencasts. Tickets lacking these are difficult for triagers to assess quickly.
- Cetak layar tidak membebaskan anda dari praktik pelaporan bagus. pastikan menyertakan URL, potongan kode, dan petunjuk langkah-demi-langkah pada bagaimana membuat kembali kebiasaan nampak dalam cetak layar.
- Pastikan menyetel bendera UI/UX pada tiket sehingga pihak tertarik dapat menemukan tiket anda.
Meminta fitur¶
Kami selalu mencoba membuat Django lebih baik, dan permintaan fitur anda adalah kunci bagian dari itu. Disini ada beberapa tip dalam bagaimana membuat permintaan paling efektif:
- Pastikan fitur sebenarnya membutuhkan perubahan dalam inti Django. Jika ide anda dapat dikembangkan sebagai aplikasi berdiri sendiri atau modul - contohnya, anda ingin mendukung mesin basisdata lain - kamia kan mungkin menyarankan anda mengembangkan itu secara mandiri. kemudian, jika proyek anda mendapatkan dukungan komunitas cukup, kami mungkin mempertimbangkan itu untuk disertakan di Django.
- Permintaan pertama pada daftar django-developers,bukan di pelacak tiket. Dia akan membaca lebih dekat jika dia berada di daftar penyuratan. Ini bahkan lebih penting untuk permintaan fitur skala-besar. Kami suka mengobrol perubahan besar apapun pada inti Django pada daftar penyuratan sebelum sebenarnya bekerja dengan mereka.
- Gambarkan dengan jelas dan secara singkat apa fitur yang hilang dan bagaimana anda ingin melihatnya diterapkan. Sertakan kode contoh (bukan-fungsional OKE) jika memungkinkan.
- Explain why you'd like the feature. Explaining a minimal use case will help others understand where it fits in, and if there are already other ways of achieving the same thing.
If there's a consensus agreement on the feature, then it's appropriate to create a ticket. Include a link to the discussion on django-developers in the ticket description.
Seperti dengan kebanyakan proyek sumber-terbuka, kode berbicara. Jika anda ingin menulis kode untuk fitur itu sendiri atau, bahkan lebih baik, jika anda teah menulisnya, itu jauh lebih mungkin diterima. Cabangkan Django pada GitHub, buat sebuah fitur, dan tunjukkan kami kerja anda!
Lihat juga: Mendokumentasikan fitur baru.
Bagaimana kita membuat keputusan¶
Whenever possible, we strive for a rough consensus. To that end, we'll often have informal votes on django-developers or the Django Forum about a feature. In these votes we follow the voting style invented by Apache and used on Python itself, where votes are given as +1, +0, -0, or -1. Roughly translated, these votes mean:
- +1: "Saya cinta ide dan Saya sangat kuat melakukannya."
- +0: "Kedengarannya OKE buat saya."
- -0: "Saya tidak senang, tetapi Saya tidak berdiri di jalan."
- -1: "Saya sangat tidak setuju dan akan sangat tidah bahagia untuk melihat ide berubah menjadi kenyataan."
Although these votes are informal, they'll be taken very seriously. After a suitable voting period, if an obvious consensus arises we'll follow the votes.
However, consensus is not always possible. If consensus cannot be reached, or if the discussion toward a consensus fizzles out without a concrete decision, the decision may be deferred to the steering council.
Internally, the steering council will use the same voting mechanism. A proposition will be considered carried if:
- There are at least three "+1" votes from members of the steering council.
- There is no "-1" vote from any member of the steering council.
Pemungutan suara harus diajukan dalam minggu ini.
Since this process allows any steering council member to veto a proposal, a "-1" vote should be accompanied by an explanation of what it would take to convert that "-1" into at least a "+0".
Votes on technical matters should be announced and held in public on the django-developers mailing list or on the Django Forum.