Drupal bazı eksiklikler nelerdir?

12 Cevap php

Drupal çok bir "Do Everything" CMS. Harika hemen hemen herhangi bir işlevsellik eklemek için izin modülleri vardır. Ancak, özellikleri (v5 ve v6) bir sürü gibi hissediyor kullanıcı için ve çevresinde unintuitive dağınık görünüyor. Bir geliştirici olarak, ben ciklet ve dize kullanarak birlikte bir site yamalı olma hissi ile sol.

Örneğin, varsayılan arama kutusuna (tıklandığında o kaybolur) metin eklemek için, bazı jQuery kodu eklemek VEYA temayı geçersiz kılmak için ya var. Ben de olması gerekenden daha menü sistemi daha karmaşık buldum.

Ben bu görüşe bir tek ben miyim? Ne gibi şeyler (eğer varsa) Drupal çekirdek hakkında değiştirmek istiyorsunuz?

12 Cevap

Gerçek nesne yönelimli tasarım eksikliği sık sık belirli bir davranışı değiştirmeye izin vermek "kanca" işlevlerini terk diğer geliştiricilerin öngörü dayanmak zorunda olduğu anlamına gelir.

Ben de nispeten basit bir tasarım değişikliği tamamlamak için tek yol Drupal kendisi yama (ve sonra her yeni resmi Drupal sürümü ile yamaları yeniden emin olun) için olduğu durumlarda için koşuyoruz Drupal 5 kullanıyorum. Ama adil olmak gerekirse, bunu Drupal 4 oldu ne kadar kötü görmeliydin.

Ben Drupal mevcut üretim sürümünde bir hata veya cilvesi belirlemek için zaman zaman, ben bir yama göndermek ve temelde sadece güvenlik hata şimdiki kararlı sürümde sabit olsun, çünkü yama kararlı asla bu da rahatsız değilim.

Benim için, Drupal büyük eksiklik canlı Drupal sitesinin büyük bölümleri veritabanında saklanır olmasıdır. Sistemleri arasında içerik veya yapılandırma göç için otomatik bir yolu yoktur bu yana, canlı sitede değişiklik yayıyoruz ya elle veya aşırı karmaşık kod tarafından ele alınmalıdır.

Drupal en büyük eksikliklerinden biri de nonprogrammer sitesi inşaatçılar için bir anahtar teslimi araç arasındaki çizgi üzerinde dans olduğunu ve karmaşık webapps bina geliştiriciler için bir çerçeve. Bu iki grup sunmak için bazı güzel şeyler var, ama bir kalabalığa tavizler her zaman diğer çelme eğilimindedir.

Drupal toplumda artan eğilim açıkça geliştirici API'lerini, API'ler üstüne daha sonra katman yönetim UI ve son kullanıcı UI inşa etmektir. Bu iyi bir şey, ama eski mimari bir sürü hala da var. Proje, bu hafta 8 yaşında döndü ve her site farklı adım gelişmektedir modüllerin bir karışımını gerektirir.

Birisi zaten farklı iç API'leri bir sürü grokking gerektirir etkin çekirdek kod hack olmadan sistem yararlanarak, ne isterseniz onu yapar bir modül yerleşik değilse, benzersiz-to-drupal veri yapılarının bir sürü ve bazı bazen korkak üzerinde eğitim iş akışları. Korumak için korkunç kötü ve imkansız siteleri bir çok zor şeyler yapmak için gerekli ve şeyler yapmak için "doğru" bir şekilde araştırma uzmanlık (veya zaman) yoktu insanların sonrasında etrafında dalgalanmaktadır.

(Yasal Uyarı: Ben sadece Drupal hakkında bir kitap için bir bölüm birkaç ortak yazarlığını ve ben Drupal tam-zamanlı çalışma, bu yüzden ben kadar 'tarafsız' dan alabileceğiniz gibi üzereyim Ama ben düşünmek istiyorum emin. Ben perspektif tutmak. Ben kalp Django, çok.)

Drupal kutunun orada yol% 80 alacak, ama bu son 20% ay ay sürer.

Drupal etkileyici bir sistemdir. Bu öyle herkes için şaşırtıcı derecede küçük, ve modül sistemi son derece güçlüdür bulunuyor. Eli Ancak dediğim gibi, görevlerin bir sürü belirli bir şekilde bir şey yapıyor, diğer geliştiriciler güvenmek için gidiyoruz.

Bu tasarımı üzerinde Drupal toplum içinde bir tartışma var. PHP'nin OOP özellikleri güçlü öncesinden Drupal etrafında, ama şimdi olduklarını, nesne yönelimli veri yapılarını kullanmak için sistemi değiştirerek hakkında sık tartışma var. Kendi zevkinize bağlı olarak, bu bir geliştirici olarak size bir dezavantajı olabilir. Ben bu konuda iki kafasında ben değilim.

Sistem aynı zamanda her nasılsa küçük bir açıklama ile tüm bu çılgınca şeyler yapar içinde, yeni gelenler çok "büyülü" gibi görünüyor olabilir. "Ben sadece ikiliye Drupal onu aramak için nasıl biliyor, nasıl bir işlev tanımlanmış?!"

Ancak, genel olarak ben Drupal büyük bir hayranı olduğumu söylemeliyim. Her ana sürümü ile daha iyi yükleri alır, iyi bir sistem. Ben biri için 7 için sabırsızlanıyorum.

Drupal başlamak için iyi ama aslında Getting Things Done daha fazla zaman 'geri kaymasına neden' geçirirler. Bu Drupal 6 sürümü ile özellikle değişen olmuştur ve adil olmak için bu katkıda modülleri daha belirgindir.

Sean dediği gibi göçleri yönetmek de bir sorundur. Ben hala canlı bir birine bir dev siteden değişiklikleri hareketli iyi bir yöntem bilmiyorum.

Ben mevcut çekirdek değiştirmek istiyorsunuz ve eksikliklerin en çalışmış olan bir şey olduğundan emin değilim. Görüntü yönetimi ihtiyaçlarını varsayılan admin arayüz dahil bazı işler kullanabilirsiniz views / panelleri, vb almadan biraz darmadağın yapma daha karmaşık düzenleri olduğunu, çalışır.

i çok karmaşık buluyorum. Bir php geliştirici im php ile ilgisi var konular üzerinde ancak drupal kendisi ile günlük olarak benim saç yırtılma gibi. nasıl / neden / ne zaman X yapar? terbiyeye ihtiyacı olan büyük bir canavar. dokümantasyon hep google açılır gibi birkaç çok iyi kılavuzları, boktan olanları bir sürü, hatta daha yararsız forumlar parçacığı sınırlıdır.

backend kullanılabilirlik bok. özel bir tema da oldukça düzenleri daha az son derece sinir bozucu ve sonuç olabilir paketinin "admin" bölümünün düzenini değiştirecektir.

Eğer html dilimleme çalışıyorsanız, onun imkansız drupal için özel olarak oluşturulan henüz html kullanmak. oldukça fazla zorlar vb divlere sürü div başına 5 ayrıntılı sınıfları, doğa ile birlikte, drupal-html kullanmak, html / css adamlar bu seviyede drupal bilmek beklenemez.

i bir tema oluşturmak için (aralarında çok ince farklılıklar, 10 kelime uzunluğunda) dosya dayanır şekilde sevmiyorum.

yapabileceği bazı şeyler çok güzel ve size özel php geliştirme günlerini kaydeder, söyledikten

Drupal olmayan programcılar için güçlü araçları verir, onlar kolayca daha az zaman tam özellikli bir siteyi kurabilirsiniz. Ama sorun öğrenme eğrisi Siteye için çok yüksek olmasıdır.

Bir kişi drupal ve bir şey o uygun bir şekilde bunu yapmak istiyorsa o zaman çok alacaktır özelleştirilmiş yapmak istiyorum için yeni ise. O yeni bir köşe için en iyi ya da uygun bir baş ağrısı olduğunu hangi bulma, drupal tek bir şey yapmak için pek çok yolu vardır.

Ben yüksek bir öğrenme eğrisi en şirketlerin iyi Drupal yetenek bulma mücadele gibi tek eksiklik olduğunu düşünüyorum. http://drupalize.me/ ve http://buildamodule.com/ Bu yüksek bir öğrenme eğrisi azaltmak için çok iyi bir iş yapıyoruz.

Ben varsayılan yönetici arayüzü MODX veya joomla / mambo gibi diğer cms 'göre çok sezgisel olmadığını bulmak

Bu PHP4 de yazılmış. Bu sürüm 7 olarak değişecektir. Tabii php5 kendi modülleri yazabilirsiniz. Deneyimli bir Drupal geliştiricisi ve ben bulmak gibi özgeçmişimi nedeniyle php5 benim sınırlı maruz kalma uğramıştır.

Bu SOAP gibi hizmetlerde çalışan için iyi değil. Bir web hizmeti sunmak için bütün Drupal yığınını çağıran bir performans ceza çok fazla. Hizmetler modülleri geliştirme hala.

Hiçbir veritabanı işlem desteği. Eğer aşırı yüklere onu büyütmek, bu bir sorun haline gelir.

Bu komut satırından testleri çalıştırmak için iyi olurdu. Bu SimpleTest 1.x ile mümkün oldu ama güncel sürümü çok iyi desteklemez. SimpleTest yeterince olgun değildir. Temiz bir Drupal yükleyebilirsiniz testleri başarısız olabilir. Varsayılan Bazı testler ihtiyacınız olmayabilir içerik türleri ve modüllerini kullanmaya zorlamak ve SimpleTest modülünü hack olmadan bu devre dışı bırakamazsınız dahil.

Bu görünüşte kötü güvenlik sicili vardır: http://secunia.com/advisories/search/?search=Drupal