Drupal Katkı Yolculuğunuza Hızlı Başlamak için En İyi Kılavuz
Yayınlanan: 2022-08-23giriiş
Açık kaynaklı bir içerik yönetim sistemi olan Drupal, dünya çapındaki geliştiriciler ve kullanıcılar topluluğunun çeşitli biçimlerde katkılarını teşvik eder. Temel ve katkıda bulunan projelere yamalar içeren kod biçiminde, pazarlama, belgeleme, etkinlik organizasyonu dahil olmak üzere kod dışı yollarla veya projeyi parasal olarak destekleyerek olabilir. Bu makale, Drupal kod katkısı yolculuğunuza sıfırdan başlamak için bilmeniz gereken her şeyde size yol gösterecektir.
Neden Drupal'a Katkıda Bulunmalısınız?
Elbette, çalışma ve muhtemelen her gün yaşama şeklinizi destekleyen bir projeye geri dönmek, gönüllü olarak katkıda bulunmanız ve açık kaynak projesini geliştirmeniz için yeterince güçlü bir neden olabilir. Ancak katkıda bulunmak için biraz daha teşvik arıyorsanız, burada gördüğümüz bazı avantajlar:
- Katkılarınız, Drupal'ın zaman içinde tüm bağımlılıklarında meydana gelen gelişmelerle alakalı ve güncel kalmasına yardımcı olur.
- Drupal hakkında daha fazla bilgi edinebilir ve bu da müşterileriniz için daha iyi uygulamalar oluşturmanıza olanak tanır.
- Geliştiricileri daha fazla beceri ve bilgi kazandıkça ve kendilerini bir uzman olarak sergileyerek katkı için zaman sponsoru olan kuruluşlara rekabet avantajı sağlar.
- Sizinle aynı ilgi alanlarını paylaşan insanlarla işbirliği yapın ve tanışın
Nasıl Katkıda Bulunulur
Başlamak için, drupal.org'da kendiniz için bir hesap oluşturun ve profilinizi gerekli ayrıntılarla güncelleyin.
Drupal.org'da hesap oluşturma
Bir Sorun Arayın
Hesap oluşturulduktan sonraki adım, doğru sorunu bulmak olacaktır. İlginize göre değişebilir:
1. Sorun kuyruğundan bir sorun bulabilirsiniz - https://www.drupal.org/project/issues. Daha spesifik arama için 'Gelişmiş arama'ya tıklayabilir ve filtreleri kullanabilirsiniz.
- Sorun etiketleri - Sorunlar farklı etiketlerle eklenir. "Acemi" etiketi, sorunun basit bir düzeltmeye ihtiyacı olduğunu ve yeni başlayanların bunu seçebileceğini, "Belge gerekiyor" etiketi, bu sorunun bazı belgelerde değişiklik gerektirdiğini vb. belirtir.
- Sorun durumu - Sorun oluşturulduktan sonra farklı durumlardan geçer. Mevcut sorun durumuna bağlı olarak, ilerlemek için ihtiyaç duyduğu sonraki adımlara karar verebilirsiniz.
- Sorun önceliği - Kritik bir hata mı yoksa küçük bir düzeltme mi olabileceğine bakılmaksızın sorunun önceliğini tanımlar.
- Sorun kategorisi - Sorunun bir hata mı yoksa bir görev mi olduğu veya projeye yeni bir özellik isteği olabileceği gibi sorunun kategorisini belirtir.
- Spesifik proje - Burada ilgilendiğiniz projeyi doğrudan belirtebilirsiniz.
Sorun filtreleri
2. Veya modül/tema/profil sayfasını ziyaret ederek her zaman üzerinde çalışmak istediğiniz projeden başlayın - https://www.drupal.org/project/<project_name> . Sağ kenar çubuğunda "Tüm sorunlar" bağlantısını arayın - https://www.drupal.org/project/issues/<project_name>?categories=All
3. Veya bir proje üzerinde çalışırken çekirdekte veya katkıda bulunan modüller/temalar/profiller üzerinde karşılaştığınız bir hata üzerinde çalışın. Aynı zamanda katkıda bulunmanın doğru yolu. Projeler üzerinde çalışırken bile "katkıda bulunan modunu" her zaman AÇIK tutma alıştırması yapılmalıdır, bu, gizli sorunları keşfetme ve düzeltmeye katkıda bulunma fırsatı verir!
Bir Drupal Sorununun Yaşam Döngüsü
Bir sorun oluşturulduktan sonra, farklı durumlardan geçer. Karşılaşacağınız farklı sorun durumları şunlardır:
- Aktif - Yeni bir sayı oluşturulduğunda, Aktif durumdadır.
- İncelenmesi gerekiyor - Sorun üzerinde çalışılması gerektiğinde, Çalışma Gerekiyor durumundadır.
- Çalışma gerekiyor - Sorun seçildikten, yamalar başarıyla gönderildikten ve tüm test senaryoları geçtikten sonra, sorunun durumu İnceleme Gerekiyor olarak değiştirilmelidir.
- Topluluk tarafından incelenir ve test edilir - Sorun herhangi bir katkıda bulunan tarafından incelendikten sonra, sorun, çekirdek topluluk ekibinden üyelerden birinin sorunu incelediği "Topluluk tarafından incelendi ve test edildi" (RTBC) durumuna taşınır.
- Sabit - Bir sorun RTBC durumundan geçtiğinde, Sabit durumuna taşınır.
- Kapalı (sabit) - Sabit durumundan sonra, sorun iki hafta içinde otomatik olarak Kapalı (sabit) durumuna geçer. Bu bir sorunun son halidir.
- Kapalı (yinelenen) - Daha önceki herhangi bir sorunun kopyası olan herhangi bir sorun oluşturulduğunda, doğrudan Kapalı (yinelenen) olarak kapatılır.
- Kapalı (düzeltilmiyor) - Bu durum, bir sorunun çözümü olmadığını gösterir.
- Kapalı (tasarlandığı gibi çalışır) - Bu durum, ortaya çıkan bir sorunun olması gereken işlevi sağladığını ve bu nedenle "tasarlandığı gibi çalışır" durumuna taşındığını gösterir. Başka bir deyişle, ortaya çıkan sorun bir hata değil, bir özelliktir.
- Kapalı (yeniden üretilemez) - Bir sorun yeniden oluşturulamadığında bu duruma taşınır.
- Kapalı (eski) - Bir sorun düzeltilemeyecek kadar eski olduğunda veya başka bir modülün sorunu içinde çözüldüğünde, durum o sorun için Kapalı (eski) olabilir.
- Yama (taşınacak) - Bir Yama, Drupal/Contributed modülünün diğer sürümleri için taşınacağı zaman.
- Ertelendi - Sorun/Özellik/hata yazar/topluluk tarafından ertelendiğinde ve düzeltilmesi gerekmediğinde.
- Ertelendi (bakıcının daha fazla bilgiye ihtiyacı var) - Bir sorun ortaya çıktığında, ancak Contribute modülünün sağlayıcısına göre, sorunu çözmek için sorun hakkında daha fazla bilgiye ihtiyaç duyulur.
Sorun Oluştur
Modül için bir sorun oluşturmak için. https://www.drupal.org/project/issues/<project_name>?categories=All modülünün sorun kuyruğuna gidin ve Yeni bir sorun oluştur 'a tıklayın.
Bir sonraki adım, oluşturulması gereken konunun ayrıntılarını vermektir.
1. Başlık: Sorunun başlığını ekleyin.
2. Proje: Proje adı otomatik olarak seçilecektir.
3. Kategori: Projenin kategorisini seçin. 5 kategori var
- Hata: Hata , sistemdeki işlevsel bir hatadır. Örneğin php hatası, veri kaybı, bellek sızıntısı, Yanlış veya yanıltıcı belgeler, Yanlış veya yanıltıcı kullanıcı arayüzü metni vb.
- Görev: Bunlar işlevsel bir hata değil, sürümden önce “yapılması gerekiyor”. Örneğin, kodu daha okunabilir ve sürdürülebilir kılmak için yeniden düzenleme, Otomatik testler ekleme, Kodu yeni API'lere güncelleme, Kodlama standartlarını iyileştirme vb.
- Özellik talebi: Bu, modüle eklenecek tamamen yeni işlevsellik talebidir.
- Destek Talebi: Modülün herhangi bir bölümünde yardıma ihtiyacımız olursa veya drupal çekirdek işlevselliği hakkında bilgi edinmek istersek. Destek isteklerini etiketleyebilir ve soruyu ekleyebiliriz.
- Planla: Bu etiket, tek bir sorunla çözülemeyen bir sorununuz olduğunda kullanılır. Plan sorunlarının genellikle "alt" sorunlarla ilgili birden çok alt adımı olacaktır.
4. Öncelik: Sorunun önceliğini seçin. Burada Kritik, Büyük, Normal ve Küçük var. Gerçekten ciddi olmadığı sürece normali seçin. Veya normal olarak seçebilir ve bakımcının veya gözden geçirenin gerektiği gibi değiştirmesine izin verebilirsiniz.
5. Durum: Yeni sorunlar için Etkin'i seçin.
6. Sürüm: Sorunun düzeltilmesi gereken proje sürümünü seçin.
7. Bileşen: Soruna en yakın eşleşmeyi seçin. Bunlar daha sonra değiştirilebilir. Buradaki bileşenler modüle dayanmaktadır. Seçenekler modülden modüle değişir.
8. Atandı: Sorun herkese atanabilir. Zorunlu değildir ve daha sonra atanabilir.
9. Etiketler: Sorunu uygun etiketlerle etiketleyin. Sorun etiketleri hakkında bilgimiz yoksa bu boş bırakılabilir. Bu zorunlu değildir ve daha sonra etiketlenebilir.
10. Sayı özeti ve İlişkiler: Alanı genişletin ve editörün sayının ayrıntılarını eklemesini sağlayın. Editörde önceden tanımlanmış bazı başlıklar var ve bunları sayı detaylarında istemiyorsak değiştirebiliriz.
- Ana sorun: Ana sorunu etiketlemek için.
- İlgili sorun: İlgili sorunu etiketlemek için.
11. Dosyalar: Dosyalar altında oluştururken sorunlarla ilgili dosyaları ekleyebilir veya yamayı konuya yükleyebiliriz. Ve sorunu kaydedin.
Sorunu kaydettikten sonra. Oluşturulan sorun, ilgili modülün sorun sırasına eklenecektir.
drupal çekirdeği için bir sorun oluşturmak için https://www.drupal.org/node/add/project-issue/drupal bağlantıdır. Ve adımlar, sorunu modülde oluşturmakla aynı olacaktır. Ancak, yukarıdaki bağlantıda görüntülenecek olan temel bir sorun oluşturmak için bazı yönergeler vardır.
Bunlar, temel sorunu oluştururken izlenecek yönergelerdir.
Yama Oluştur
burada 2 durum var
- Yeni bir yama oluştur
- Mevcut yamayı güncelleyin.
Yeni bir yama oluşturmak için
- Modülün sürüm kontrol sekmesine gidin. https://www.drupal.org/project/ <project_name>/git-instructions sayfanın bağlantısıdır.
- Çalışmak istediğiniz dalı seçin ve Göster butonuna tıklayın.
Göster düğmesine tıklamak size git komutunu getirecek, komutu kopyalayıp terminalinizde çalıştıracak ve dizini klonlanmış modül olarak değiştirecektir.
- Sorunu çözmek için değişiklikleri yapın.
- Yama oluşturma komutu şudur:
git diff > <issue-description (optional)>-<issue-number>-<comment-number>.patch
- Sayı açıklaması sayının başlığı olacak, tüm harfler küçük olmalı ve boşluklar alt çizgi ile doldurulmalıdır. Bu isteğe bağlıdır.
- Sorun numarası, sorunun URL'sinde olacaktır. Bu, yama dosyasını adlandırırken zorunlu olacak sorunlar için benzersiz olacaktır.
- Yorum numarası, yamanın yükleneceği en son yorum kimliğidir.
Yamaya yeni bir dosya eklemeniz gerektiğini düşünün. Yeni dosya izlenmeyecek ve git diff komutu dosyayı izlemeyecek.
Yamaya yeni bir dosya eklemek için
- git add komutunu kullanarak yeni dosyayı ekleyin
- Koşmak
git diff HEAD > <issue-description (optional)>-<issue-number>-<comment-number>.patch
Mevcut bir yamayı güncellemek için
1. Yamayı eklemeniz gereken projeyi klonlayın.
2. Sorun sayfasına gidin, yama bağlantısına sağ tıklayın ve Adresi kopyala bağlantısına tıklayın.
3. curl veya wget komutunu kullanarak yamayı yerelinize indirin.
Curl komutunu kullanarak yamayı indirmek için:
curl -O <paste the address link of the patch>
4. Yamayı uygulamak için şu komutu çalıştırın:
git apply <patch name>
5. Yamayı uyguladıktan sonra, yamanın değişikliklerini yerel olarak alacaksınız. Yamaya gereken diğer değişiklikleri ekleyin ve yeni bir yama oluşturun.
Mevcut yamayı güncellerken bir interdiff dosyası oluşturmamız gerekiyor. Interdiff dosyası, eski yama ile yeni yama arasındaki farktan başka bir şey değildir. Bu, gözden geçirenin yeni yamada yapılan değişiklikleri bilmesine yardımcı olacaktır.
Bir interdiff oluşturma komutu aşağıdadır:
interdiff <old-patch> <new patch> > interdiff_<old-patch-comment-number>-<new-patch-comment-number>.txt
Eski bir indirme yaması 3302030-2.patch ve 3302030-3.patch oluşturduğunuz yeni bir güncellenmiş yamaya sahip olduğunuzu düşünün. Bu iki dosya arasındaki farkı oluşturmak için komut şöyle olacaktır:
interdiff 3302030-2.patch 3302030-3.patch > interdiff_2-3.txt
Yama Gönder
Bir yama oluşturduktan sonra yamayı göndermemiz gerekiyor.
Yamayı göndermek için sorun sayfasına gidin.
1. Yayın meta verileri
Sorun meta verilerinde, durumu ihtiyaç incelemesi olarak değiştirin. Sorun size atanmışsa sorunun atamasını kaldırın ve gerektiğinde etiketleri ekleyin veya kaldırın.
2. Bu katkıyı ilişkilendirin
İlgili seçenekleri işaretleyin ve herhangi bir kuruluş için çalışıyorsanız kuruluşu ekleyin. Bunu ekleyerek, sorun çözüldüğünde krediler sizinle birlikte kuruluşa verilecektir.
3. Yamada yapılan değişikliklerin açıklamasını yorum bölümünün altına ekleyin.
4. Yama dosyasını, interdiff dosyasını seçin ve dosyaların altına yükleyin.
Burada dosyaları tek tek ekledik ve dosyayı seçtikten sonra upload'a bastık. Upload'a tıklandığında dosya yüklenecek ve aşağıdaki listeye eklenecektir.
NOT: Yeni bir yama eklerken Interdiff gerekli değildir.
5. Dosyayı yükledikten sonra kaydet düğmesine tıklayın. Bu, sorun sayfasını güncelleyecektir ve yeni bir yorum numarası ile yüklenen yamayı görebiliriz.
Temel sorunlara yönelik yamalar aynı prosedür kullanılarak gönderilmelidir.
Bir Yamayı Gözden Geçirin
Artık bir sorunu nasıl arayacağınızı, bir yama oluşturup onu nasıl yükleyeceğinizi biliyorsunuz. Sıradaki ne? Doğru yamanın en kısa sürede taahhüt edildiğinden nasıl emin olabiliriz? Bir yamayı gözden geçirmek, sorunu ileriye taşımak için eşit derecede önemli bir adımdır. Kod satırları yazmanın sizin işiniz olmadığını düşünüyorsanız, neden mevcut yamaları incelemeyi denemiyorsunuz?
Başlamadan önce, tarayıcınıza Dreditor uzantısı eklemenizi şiddetle tavsiye ederiz.
Dreditor uzantısı
Yama/interdiff dosyaları için size bir 'İnceleme' düğmesi sağlar. Tıklandığında, değişiklikleri okunması kolay bir biçimde görüntüler.
Dreditor'dan 'İncele' düğmesi
Dreditor olmadan yama dosyası değişiklikleri
Şimdi hepimiz gözden geçirilecek bir sorun bulmaya hazırız!
- 'İncelenmesi Gerekiyor' durumuyla sorunları filtreleyin.
- Listeden seçiminizi yapın.
- Yorumları okuyun ve sayıya yüklenen en son yamayı seçin.
- Yamanın test durumlarını geçtiğinden ve yeşile döndüğünden emin olun.
Testleri geçen yama
- Yama dosyasını indirin ve aşağıdakileri çalıştırarak yerelinizdeki yamayı çekirdek/modül/tema/profilinize uygulayın:
git apply <patch-file-downloaded> -v
- Beklentilere göre çalışıp çalışmadığını/biraz çalışmaya ihtiyaç duyup duymadığını test edin.
- Sorun durumunu değiştirin ve puanlarınızı destekleyen resimler/videolar içeren yorumlar ekleyin. Yorumunuz, yamanın en son sürüme uygulanıp uygulanmadığı, sorunu yeniden oluşturmak için hangi adımların izlendiği, yamayı uygulamadan önce ve sonra sorun davranışı gibi ayrıntılara sahip olmalıdır.
- Her şey yolunda görünüyorsa, durumu 'RTBC' olarak değiştirin.
- Bazı ekstra işler/değişiklikler için herhangi bir kapsam varsa, durumu 'Çalışma Gerekiyor' olarak güncelleyin.
Katkıda bulunmanın diğer yolları
Kod katkıları dışında, Drupal projesinin kalitesini ve erişimini geliştirmek de dahil olmak üzere katkıda bulunabileceğiniz birçok alanı vardır. İlgi alanlarınıza göre bu topluluğa katkı yönteminizi seçebilirsiniz. Katkı alanlarından bazıları::
- Mentorluk Yaparak - Katkıda bulunma deneyiminiz varsa, çevrimiçi veya şahsen mentor olarak başkalarının başlamasına yardımcı olabilirsiniz.
- Dokümantasyona - Drupal Projesi için tüm dokümantasyon, tıpkı sizin gibi dünyanın her yerinden insanlar tarafından ücretsiz olarak sağlanmaktadır.
- Bilgi Paylaşımı - Drupal projesine katkıda bulunmanın önemli bir yolu, blog gönderileri yazarak, yerel Drupal Grup toplantınızda, bir DrupalCamp'ta veya bir DrupalCon'da bir sunum yaparak, bir eğitmen olarak vb. Drupal hakkındaki bilgilerinizi paylaşmaktır.
- Etkinlik Planlama - Buluşmalar, sprintler vb. sanal veya yüz yüze Drupal etkinlikler düzenleyerek veya gönüllü olarak.
- Pazarlama Yoluyla - Drupal hizmetlerini satan herkes tarafından paylaşılabilen ve kullanılabilecek Drupal markalı pazarlama ve satış materyalleri oluşturmak için dünyanın dört bir yanındaki diğer pazarlama ekipleriyle birlikte çalışabilirsiniz.
- Modüller/Temalar - Modüller, dağıtımlar ve temalar dahil Drupal projelerinde işbirliği, Drupal topluluğuna katkıda bulunmanın ayrılmaz bir yoludur.
Bağlantıda Kalın ve Güncel Kalın!
• Gevşek
- Drupal topluluğu, basitçe 'Drupal' olarak bilinen birincil bir Slack çalışma alanına sahiptir - - http://drupal.slack.com/
- #support, #bugsmash, #contribute, #drupal10rediness gibi farklı konular için çeşitli kanallar bulacaksınız.
• Bloglar
- Drupal topluluğunun üyeleri, Drupal hakkında blog yazıları yazar.
- SEN bile onlardan biri olabilirsin!
• Sosyal Medya - Twitter, LinkedIn, vb.
- Drupal ile ilgili profilleri takip etmek, Drupal çevresinde meydana gelen tüm devam eden değişiklikler/olaylar hakkında sizi güncel tutabilir.
Drupal Davranış Kuralları
Drupal bir açık kaynak olduğundan ve topluluğumuz büyüdüğünden, bizi buraya getiren şeyleri korumamız zorunludur. İşte davranışla ilgili bazı noktalar.
- işbirlikçi olun
Drupal daha büyük bir topluluğa sahip olduğundan, işbirliği anahtardır. Ekip olarak çalışarak en iyiyi drupal platformuna getirebiliriz.
- Saygılı ol
Herkes Drupal'a değerli katkılarda bulunduğundan, topluluk ve üyeleri birbirlerine saygıyla davranırlar.
- Emin olmadığımızda, yardım isteyin
Drupal'da kimse mükemmel değildir ve kimsenin Drupal topluluğunda her şeyi bilmesi beklenmez. Soru sormak birçok sorunu çözebilir, bu nedenle sorular teşvik edilir.
- Slack'in tacizine maruz kaldıysanız veya tacize tanık olduysanız veya Slack'in yönetimiyle ilgili yardıma ihtiyacınız varsa lütfen meslektaşlarınızla/slack yöneticinizle iletişime geçin.
https://www.drupal.org/dcoc , davranış kurallarını derinlemesine bulabileceğiniz dokümanın bağlantısıdır.
Son düşünceler
Drupal'ı yaşayan ve nefes alan bir kuruluş olarak, her zaman projeye elimizden gelen her şeyi geri vermeye kararlıyız. Bir sonraki projeniz için güvenilir bir Drupal ajansı arıyorsanız, uzmanlarımız size yardımcı olmaktan mutluluk duyacaktır. Bugün bizimle konuşun!