Panduan Utama untuk Memulai Perjalanan Kontribusi Drupal Anda
Diterbitkan: 2022-08-23pengantar
Menjadi sistem manajemen konten sumber terbuka, Drupal mendorong kontribusi dari komunitas pengembang dan pengguna di seluruh dunia dalam berbagai bentuk. Itu bisa dalam bentuk kode yang mencakup tambalan ke proyek inti dan kontribusi, dengan cara non-kode termasuk pemasaran, pendokumentasian, organisasi acara atau dengan mendukung proyek secara finansial. Artikel ini akan memandu Anda melalui semua yang perlu Anda ketahui untuk memulai perjalanan kontribusi kode Drupal Anda dari awal.
Mengapa Berkontribusi ke Drupal
Tentu saja, memberikan kembali ke proyek yang mendukung cara Anda bekerja dan mungkin hidup setiap hari mungkin menjadi alasan yang cukup kuat bagi Anda untuk secara sukarela berkontribusi dan meningkatkan proyek sumber terbuka. Tetapi jika Anda mencari sedikit lebih banyak insentif untuk berkontribusi, berikut adalah beberapa manfaat yang kami lihat:
- Kontribusi Anda membantu Drupal tetap relevan dan up-to-date dengan kemajuan yang terjadi di semua dependensinya dari waktu ke waktu
- Anda dapat memperoleh lebih banyak pengetahuan tentang Drupal yang pada gilirannya akan memungkinkan Anda membangun aplikasi yang lebih baik untuk klien Anda
- Ini memberikan keunggulan kompetitif bagi organisasi yang mensponsori waktu untuk kontribusi karena pengembang mereka memperoleh lebih banyak keterampilan dan pengetahuan dan dengan menunjukkan diri mereka sebagai ahli
- Berkolaborasi dan bertemu dengan orang-orang yang memiliki minat yang sama dengan Anda
Bagaimana Berkontribusi
Untuk memulainya, buat akun di drupal.org untuk Anda sendiri dan perbarui profil Anda dengan detail yang diperlukan.
Pembuatan akun di Drupal.org
Cari Masalah
Setelah akun dibuat, langkah selanjutnya adalah menemukan masalah yang tepat. Ini mungkin berbeda berdasarkan minat Anda:
1. Anda dapat menemukan masalah dari antrian masalah - https://www.drupal.org/project/issues. Untuk pencarian yang lebih spesifik, Anda dapat mengklik 'Pencarian lanjutan' dan menggunakan filter.
- Tag masalah - Masalah dilampirkan dengan tag yang berbeda. Tag "pemula" menunjukkan bahwa masalah ini memerlukan perbaikan sederhana dan setiap pemula dapat memilihnya, tag "Memerlukan dokumentasi" menunjukkan bahwa masalah ini memerlukan beberapa perubahan dokumentasi, dan seterusnya.
- Status masalah - Setelah masalah dibuat, ia melewati status yang berbeda. Berdasarkan status masalah saat ini, Anda dapat memutuskan langkah selanjutnya yang diperlukan untuk melanjutkan.
- Prioritas masalah - Ini menentukan prioritas masalah, apakah itu bug kritis atau bisa jadi perbaikan kecil.
- Kategori masalah - Ini menunjukkan kategori masalah, apakah itu bug, atau itu tugas, atau bisa jadi permintaan fitur baru untuk proyek.
- Proyek khusus - Di sini Anda dapat langsung menentukan proyek yang Anda minati.
Filter masalah
2. Atau mulai dari project yang selalu kamu minati, dengan mengunjungi halaman module/theme/profile - https://www.drupal.org/project/<project_name> . Di bilah sisi kanan, cari tautan “Semua masalah” - https://www.drupal.org/project/issues/<project_name>?categories=All
3. Atau kerjakan bug yang Anda temukan di inti, atau modul/tema/profil apa pun yang dikontribusikan saat mengerjakan proyek. Ini juga cara yang tepat untuk berkontribusi. Seseorang harus selalu berlatih menjaga "mode kontributor" mereka AKTIF bahkan saat mengerjakan proyek, ini memberi kesempatan untuk mengeksplorasi dan berkontribusi memperbaiki masalah tersembunyi!
Siklus Hidup Masalah Drupal
Setelah masalah dibuat, ia melewati status yang berbeda. Berikut ini adalah berbagai status masalah yang akan Anda temui:
- Aktif - Saat masalah baru dibuat, itu dalam status Aktif.
- Perlu ditinjau - Saat masalah perlu diselesaikan, masalah tersebut berada dalam status Perlu Pekerjaan.
- Perlu perbaikan - Setelah masalah diambil, tambalan berhasil dikirim dan semua kasus uji lulus, status masalah harus diubah menjadi Perlu Peninjauan.
- Ditinjau & diuji oleh komunitas - Setelah masalah ditinjau oleh kontributor mana pun, masalah dipindahkan ke status “Ditinjau & diuji oleh komunitas” (RTBC) tempat salah satu anggota dari tim komunitas inti meninjau masalah tersebut.
- Diperbaiki - Saat masalah berpindah dari status RTBC, masalah akan dipindahkan ke status Tetap.
- Ditutup (diperbaiki) - Setelah status Tetap, masalah berpindah ke Ditutup (diperbaiki) secara otomatis dalam waktu dua minggu. Ini adalah status terakhir dari suatu masalah.
- Tertutup (duplikat) - Ketika masalah apa pun dibuat yang merupakan duplikat dari yang sebelumnya, itu langsung ditutup sebagai Tertutup (duplikat).
- Ditutup (tidak akan diperbaiki) - Status ini menunjukkan bahwa masalah tidak memiliki solusi.
- Tertutup (berfungsi seperti yang dirancang) - Status ini menunjukkan bahwa masalah yang diangkat menyediakan fungsionalitas seperti yang seharusnya dan dipindahkan ke "berfungsi seperti yang dirancang". Dengan kata lain, masalah yang diangkat bukanlah bug melainkan fitur.
- Tertutup (tidak dapat direproduksi) - Saat masalah tidak dapat direproduksi dipindahkan ke status ini.
- Tertutup (kedaluwarsa) - Ketika suatu masalah terlalu lama untuk diperbaiki atau diperbaiki dalam beberapa masalah modul lain, status dapat ditutup (ketinggalan zaman) untuk masalah itu.
- Patch (untuk di-porting) - Ketika Patch akan di-porting untuk versi lain dari modul Drupal/Contributed.
- Ditunda - Saat Masalah/Fitur/bug ditunda oleh penulis/komunitas dan tidak perlu diperbaiki.
- Ditunda (pengelola membutuhkan lebih banyak info) - Ketika masalah diangkat tetapi menurut pengelola modul Kontribusi, diperlukan lebih banyak info tentang masalah tersebut untuk memperbaikinya.
Buat Masalah
Untuk membuat masalah untuk modul. Buka antrian masalah modul https://www.drupal.org/project/issues/<project_name>?categories=All dan klik Buat masalah baru .
Langkah selanjutnya adalah memberikan rincian masalah yang perlu dibuat.
1. Judul: Tambahkan judul terbitan.
2. Proyek: Nama proyek akan dipilih secara otomatis.
3. Kategori: Pilih kategori proyek. Ada 5 kategori
- Bug: Bug adalah kesalahan fungsional dalam sistem. Misalnya, kesalahan php, kehilangan data, kebocoran memori, dokumentasi yang salah atau menyesatkan, teks antarmuka pengguna yang salah atau menyesatkan, dll.
- Tugas: Ini bukan bug fungsional tetapi "perlu dilakukan" sebelum rilis. Misalnya Refactoring kode agar lebih mudah dibaca, dan dipelihara, Menambahkan tes otomatis, Memperbarui kode ke API baru, Meningkatkan standar pengkodean, dll.
- Permintaan fitur: Ini adalah permintaan untuk fungsionalitas yang benar-benar baru untuk ditambahkan ke modul.
- Permintaan Dukungan: Jika kami memerlukan bantuan di bagian mana pun dari modul atau ingin tahu tentang fungsionalitas inti drupal. Kami dapat menandai permintaan dukungan dan menambahkan pertanyaan.
- Plan: Tag ini digunakan ketika Anda memiliki masalah yang tidak dapat diselesaikan dengan menggunakan satu masalah. Masalah rencana seringkali memiliki beberapa sub-langkah yang terkait dengan masalah "anak".
4. Prioritas: Pilih prioritas masalah. Di sini kita memiliki Kritis, Mayor, Normal dan Kecil. Pilih normal kecuali itu benar-benar serius. Atau Anda dapat memilihnya seperti biasa dan membiarkan pengelola atau peninjau dapat mengubahnya sesuai kebutuhan.
5. Status: Pilih Aktif untuk masalah baru.
6. Versi: Pilih versi proyek di mana masalah harus diperbaiki.
7. Komponen: Pilih kecocokan terdekat dengan masalah. Ini dapat diubah nanti. Komponen di sini didasarkan pada modul. Pilihannya berbeda dari modul ke modul.
8. Ditugaskan: Masalah dapat diberikan kepada siapa saja. Itu tidak wajib dan dapat ditugaskan nanti.
9. Tag: Tandai masalah dengan tag yang sesuai. Ini dapat dibiarkan kosong jika kita tidak memiliki pengetahuan tentang tag masalah. Ini tidak wajib dan dapat ditandai nanti.
10. Ringkasan masalah dan Hubungan: Luaskan bidang dan kami meminta editor menambahkan detail masalah. Ada beberapa judul yang telah ditentukan di editor dan kami dapat menggantinya jika kami tidak menginginkannya dalam detail masalah.
- Masalah induk: Untuk menandai masalah induk.
- Masalah terkait: Untuk menandai masalah terkait.
11. File: Kami dapat menambahkan file yang terkait dengan masalah atau kami dapat mengunggah tambalan ke masalah saat membuat di bawah file. Dan simpan masalah ini.
Setelah menyimpan masalah. Masalah yang dibuat akan ditambahkan ke antrian masalah dari modul masing-masing.
Untuk membuat masalah untuk inti drupal https://www.drupal.org/node/add/project-issue/drupal adalah tautannya. Dan langkah-langkahnya akan sama dengan membuat masalah di modul. Tetapi ada beberapa panduan untuk membuat masalah inti yang akan ditampilkan pada tautan di atas.
Ini adalah pedoman yang harus diikuti saat membuat masalah inti.
Buat Patch
Ada 2 kasus di sini
- Buat tambalan baru
- Perbarui tambalan yang ada.
Untuk membuat tambalan baru
- Buka tab kontrol versi modul. https://www.drupal.org/project/ <project_name>/git-instructions adalah tautan ke halaman tersebut.
- Pilih cabang untuk bekerja dan klik tombol Tampilkan.
Mengklik tombol show akan memberi Anda perintah git, salin dan jalankan perintah di terminal Anda dan ubah direktori ke modul kloning.
- Lakukan perubahan untuk memperbaiki masalah.
- Perintah untuk membuat patch adalah:
git diff > <issue-description (optional)>-<issue-number>-<comment-number>.patch
- Deskripsi masalah akan menjadi judul masalah, di mana semua huruf harus huruf kecil dan spasi harus diisi dengan garis bawah. Ini opsional.
- Nomor masalah akan ada di URL masalah. Ini akan menjadi unik untuk masalah ini akan menjadi wajib dalam penamaan file patch.
- Nomor komentar adalah id komentar terbaru di mana patch akan diunggah.
Pertimbangkan Anda perlu menambahkan file baru ke patch. File baru tidak akan terlacak dan perintah git diff tidak akan melacak file.
Untuk menambahkan file baru ke tambalan
- Tambahkan file baru menggunakan perintah git add
- Lari
git diff HEAD > <issue-description (optional)>-<issue-number>-<comment-number>.patch
Untuk memperbarui tambalan yang ada
1. Klon proyek yang Anda perlukan untuk menambahkan tambalan.
2. Buka halaman masalah, klik kanan pada tautan tambalan dan klik tautan Salin alamat.
3. Unduh tambalan ke lokal Anda menggunakan perintah curl atau wget.
Untuk mengunduh tambalan menggunakan perintah curl:
curl -O <paste the address link of the patch>
4. Untuk menerapkan patch jalankan perintah:
git apply <patch name>
5. Setelah menerapkan tambalan, Anda akan mendapatkan perubahan tambalan di lokal Anda. Tambahkan perubahan lebih lanjut yang diperlukan ke tambalan dan buat tambalan baru.
Saat kami memperbarui tambalan yang ada, kami perlu membuat file interdiff. File interdiff tidak lain adalah perbedaan antara patch lama dan patch baru. Ini akan membantu reviewer untuk mengetahui perubahan yang dilakukan di patch baru.
Berikut ini adalah perintah untuk membuat interdiff:
interdiff <old-patch> <new patch> > interdiff_<old-patch-comment-number>-<new-patch-comment-number>.txt
Pertimbangkan Anda memiliki tambalan unduhan lama 3302030-2.patch dan tambalan baru yang diperbarui yang telah Anda buat 3302030-3.patch. Untuk membuat interdiff antara dua file ini, perintahnya adalah:
interdiff 3302030-2.patch 3302030-3.patch > interdiff_2-3.txt
Kirim Patch
Setelah membuat tambalan, kita perlu mengirimkan tambalan.
Untuk mengirimkan tambalan, buka halaman masalah.
1. Terbitkan metadata
Dalam metadata masalah, ubah status menjadi tinjauan kebutuhan. Batalkan penetapan masalah jika masalah ditetapkan kepada Anda dan tambahkan atau hapus tag sesuai kebutuhan.
2. Atribusikan kontribusi ini
Periksa opsi yang relevan dan tambahkan organisasi jika Anda bekerja untuk organisasi mana pun. Menambahkan ini, kredit akan diberikan kepada organisasi bersama Anda ketika masalah telah diperbaiki.
3. Tambahkan deskripsi perubahan yang dilakukan di tambalan di bawah bagian komentar.
4. Pilih file patch, file interdiff dan unggah di bawah file.
Di sini kami telah menambahkan file satu per satu dan tekan unggah setelah memilih file. Mengklik unggah file akan diunggah dan ditambahkan ke daftar di bawah ini.
CATATAN: Interdiff tidak diperlukan saat menambahkan tambalan baru.
5. Setelah mengupload file klik tombol simpan. Ini akan memperbarui halaman masalah dan kita dapat melihat tambalan yang diunggah dengan nomor komentar baru.
Patch untuk masalah inti harus dikirimkan menggunakan prosedur yang sama.
Tinjau Patch
Sekarang Anda tahu cara mencari masalah, membuat tambalan, dan mengunggahnya. Apa berikutnya? Bagaimana kita bisa memastikan bahwa patch yang tepat akan di-commit ASAP? Meninjau tambalan adalah langkah yang sama pentingnya dalam memajukan masalah. Jika Anda merasa bahwa menulis baris kode bukan keahlian Anda, mengapa tidak mencoba meninjau patch yang ada?
Sebelum kita mulai, sangat disarankan untuk menambahkan ekstensi Dreditor ke browser Anda.
Ekstensi Dreditor
Ini memberi Anda tombol 'Tinjau' untuk file patch/interdiff. Saat diklik, ini akan menampilkan perubahan dalam format yang mudah dibaca.
Tombol 'Tinjau' dari Dreditor
Patch file berubah tanpa Dreditor
Sekarang kita siap untuk menemukan masalah untuk ditinjau!
- Filter masalah dengan status 'Memerlukan Tinjauan'.
- Pilih dari daftar.
- Baca komentar & pilih tambalan terbaru yang diunggah dalam edisi ini.
- Pastikan tambalan telah lulus uji kasus dan telah berubah menjadi hijau.
Patch yang lulus tes
- Unduh file tambalan dan terapkan tambalan di lokal Anda ke inti/modul/tema/profil Anda dengan menjalankan:
git apply <patch-file-downloaded> -v
- Uji apakah itu berfungsi sesuai harapan/perlu beberapa pekerjaan.
- Ubah status masalah dan tambahkan komentar dengan gambar/video yang mendukung poin Anda. Komentar Anda harus memiliki detail seperti, apakah tambalan diterapkan ke versi terbaru, langkah apa yang diikuti untuk mereproduksi masalah, perilaku masalah sebelum & setelah menerapkan tambalan, dll.
- Jika semua terlihat baik, ubah statusnya menjadi 'RTBC'.
- Jika ada ruang untuk beberapa pekerjaan/perubahan tambahan, perbarui statusnya menjadi 'Perlu Pekerjaan'.
Cara lain untuk Berkontribusi
Selain kontribusi kode, proyek Drupal memiliki banyak area yang dapat Anda sumbangkan termasuk meningkatkan kualitas dan jangkauannya. Anda dapat memilih metode kontribusi Anda ke komunitas ini berdasarkan minat Anda. Beberapa bidang kontribusi::
- Dengan Mentoring - Jika Anda memiliki pengalaman berkontribusi, Anda dapat membantu orang lain memulai dengan menjadi seorang mentor, baik secara online atau secara langsung.
- To Documentation - Semua dokumentasi untuk Proyek Drupal disumbangkan secara gratis oleh orang-orang di seluruh Dunia, sama seperti Anda.
- Berbagi Pengetahuan - Cara penting untuk berkontribusi pada proyek Drupal adalah dengan membagikan pengetahuan Anda tentang Drupal dengan menulis posting blog, memberikan presentasi di pertemuan Grup Drupal setempat, DrupalCamp, atau DrupalCon, menjadi pelatih, dll.
- Perencanaan Acara - Dengan mengatur atau menjadi sukarelawan dalam acara Drupal virtual atau tatap muka seperti pertemuan, sprint, dll.
- Dengan Pemasaran - Anda dapat bekerja dengan tim pemasaran lain di seluruh dunia untuk membuat materi pemasaran dan penjualan bermerek Drupal yang dapat dibagikan dan digunakan oleh semua orang yang menjual layanan Drupal.
- Dengan menyumbangkan Modul/Tema - Kolaborasi pada proyek Drupal termasuk modul, distribusi, dan tema merupakan cara integral untuk berkontribusi pada komunitas Drupal.
Tetap Terhubung & Diperbarui!
• Kendur
- Komunitas Drupal memiliki ruang kerja utama Slack yang hanya dikenal sebagai 'Drupal' - - http://drupal.slack.com/
- Anda akan menemukan berbagai saluran untuk berbagai topik, seperti #support, #bugsmash, #contribute, #drupal10rediness, dll.
• Blog
- Anggota komunitas Drupal menulis posting blog tentang Drupal.
- Bahkan ANDA bisa menjadi salah satunya!
• Media Sosial - Twitter, LinkedIn, dll
- Mengikuti profil apa pun yang terkait dengan Drupal dapat membuat Anda terus diperbarui dengan semua perubahan/peristiwa yang sedang berlangsung yang terjadi di sekitar Drupal.
Kode Etik Drupal
Karena Drupal adalah open source dan komunitas kami berkembang, sangat penting bagi kami untuk melestarikan hal-hal yang membawa kami ke sini. Berikut adalah beberapa poin sehubungan dengan perilaku.
- Jadilah kolaboratif
Karena Drupal memiliki komunitas yang lebih besar, kolaborasi adalah kuncinya. Dengan bekerja sebagai tim, kami dapat menghadirkan yang terbaik di platform drupal.
- Bersikaplah hormat
Karena setiap orang memberikan kontribusi yang berharga bagi Drupal, komunitas dan anggotanya memperlakukan satu sama lain dengan hormat.
- Ketika kita tidak yakin, mintalah bantuan
Tidak ada yang sempurna di Drupal, dan tidak ada yang diharapkan untuk mengetahui segalanya di komunitas Drupal. Mengajukan pertanyaan dapat memperbaiki banyak masalah, jadi pertanyaan dianjurkan.
- Silakan hubungi rekan/admin slack Anda jika Anda menjadi korban, atau saksi, pelecehan, atau memerlukan bantuan dengan administrasi Slack.
https://www.drupal.org/dcoc adalah tautan ke dokumen tempat Anda dapat menemukan kode etik secara mendalam.
Pikiran Akhir
Sebagai organisasi yang hidup dan bernafaskan Drupal, kami selalu berkomitmen untuk memberikan kembali proyek dengan cara apa pun yang kami bisa. Jika Anda mencari agen Drupal tepercaya untuk proyek Anda berikutnya, para ahli kami akan dengan senang hati membantu. Bicaralah dengan kami hari ini!