Var ne iş vs yeni bir drupal modülü geliştirmek için ne zaman?

3 Cevap php

Bu muhtemelen diğer uzayabilir içerik yönetim sistemleri için geçerli olabilir, ama Drupal ile çalışıyoruz. Özellikle ben olan işlevselliği Drupal çekirdek kodundan daha özgün kod dayanıyordu bir görüntü paylaşım web uygulaması oluşturulur. Ben WebForm modülü kullanılmış ve düğümleri programlı ve diğer garip voodoo oluşturulmuş olması zor kodlanmış php ile Custom Pages onun formlarını işaret.

Just before I was done I realized I perhaps should have just made my own module, or should I have? Even in retrospect it's difficult to tell.

Ne yeni bir modül yazılması gerekiyor ve ne zaman aradığınız işlevselliği sadece mevcut olanı bir araya kludged edilebildiği zaman karar kullanabilirim?

3 Cevap

Sadece bir olası istisna (aşağıya bakınız) ile, bu all custom coding should be done within custom modules Bu güçlü bir görüş vardır:

Ben üç olgu ayırt:

  1. Tamamen yeni işlevler - Bu tabii ki yeni işlevselliği kapsüller özel bir modül için çağırır. Bu yeniden kullanılabilir ve işlevsellik popüler talebini karşılayan bile, 'resmi' bir katkıda Drupal modülü dönüşebilir yapar.
  2. Mevcut işlevselliğini verdiği - her site için, ben hemen kurulum (sitenin adını) boş, özel bir modül. (O çekirdek veya katkıda modüllerden olmak) mevcut işlevselliğini verdiği için kullanılan tüm özel kodu bu modül içinde olur. Bu şekilde, bütün özelleştirmeleri temiz (elbette biri özelleştirmeler hala güncellemeden sonra çalışmak ve ayarlamak olmadığını kontrol etmek zorundadır sürekli güncellenen kod benim özelleştirmeler yeniden zorunda kalmadan çekirdek veya diğer modülleri güncellemek çok daha kolay yapar, ayrılır gerektiği gibi ya da) bunları kaldırın.
  3. / Sabitleme hata eksik özellikler ekleyerek - bu yukarıda belirtilen olası istisna değildir. Benim yaptığım değişiklikler sadece bir bug fix veya bariz bir ek, ama eksik bir özellik varsa, ben sadece orijinal kodu içinde, onlar bir sonraki sürümde dahil olsun umuyor, orijinal modülüne bir yama olarak benim değişiklikleri göndererek o yapabilir , böylece benim değişiklikler eski yapım.

Benim deneyim, özgün koddan özelleştirmeleri ayıran 'havai' gerçekten 'tek seferlik' tweaks gibi, 'havai' & değil düzeltmeleri genellikle beklenenden çok daha uzun ayrılmamak ve bir sitenin ömrü boyunca büyümek için bir eğilim var. Baştan ayrılmış onlara sahip güncelleştirmeleri uygulamak gibi, bakım yolda sıkıntılar kapalı bir sürü kaydeder & güvenlik düzeltmeleri yanı sıra tweaks uzanan çok daha kolay olacaktır.

Kolayca işlevsellik paylaşımı veya yeniden istediğiniz zaman yeni bir modül yapmak. Orada bunu yaparken yükü olduğunu, bu yüzden bir kerelik eğer buna değer değil.

Ne i tercih yapıyor ben gerektiren özelliğe sahip herhangi / tüm modüller için drupal.org üzerinde tam arama olduğunu. Ben drupal.org Ara groups.drupal.org (ve hatta belki forumları) bu modül (ler) adı ile bu konuda söylediklerini ne diğer millet görmek için. Son olarak, ben her zaman bu konuda söylediklerini toplumda başkalarının ne görmek için drupalmodules.com kontrol edin.

Ben tam olarak ne ihtiyacım bulamazsanız, benim kendi modülünü dışarı rulo. Eğer işlevselliğini yeniden henüz mevcut değil yeterince eşsiz bir IF yeni bir modül oluşturmak için planlıyorsanız Plynx, doğru da değildir.