Pergunta

Drupal é muito mais um CMS "fazer tudo". Existem módulos que permitem que você adicione quase qualquer funcionalidade, o que é ótimo. No entanto, parece que muitas das características (V5 e V6) parecem espalhados e unintuitive para o usuário. Como um desenvolvedor, eu estou à esquerda com a sensação de ter corrigido um site em conjunto, utilizando chiclete e string.

Por exemplo, para adicionar texto para a caixa de pesquisa padrão (que desaparece quando clicado), você tem que quer adicionar algum código jQuery OR substituir o tema. Eu também achei o sistema de menu mais complicado do que deveria ser.

Eu sou o único com essa opinião? Que coisas (se houver) que você mudaria no núcleo do Drupal?

Foi útil?

Solução

A falta de verdadeiros orientadas a objeto projeto significa que você frequentemente tem que confiar na previsão de outros desenvolvedores para deixar funções 'gancho' para permitir que você alterar um determinado comportamento.

Usando Drupal 5 Eu também correr em situações onde a única maneira de completar uma alteração de design relativamente simples é para corrigir si Drupal (e, em seguida, certifique-se de manchas Reaplicar a cada novo lançamento oficial Drupal). Mas, para ser justo, você deve ter visto o quão ruim era em Drupal 4.

Eu também estou irritado que quando eu tomar o tempo para identificar um bug ou peculiaridade na versão de produção atual do Drupal, eu enviar um patch, eo patch não está comprometida, porque, basicamente, apenas bugs de segurança ficar fixo na corrente versão estável.

Outras dicas

Para mim, a maior falha do Drupal é que grandes porções de um site Drupal ao vivo são armazenados no banco de dados. Uma vez que não há como automatizado maneira de conteúdo migrar ou configuração entre sistemas, implantar-se alterações em um site ao vivo ou deve ser feito manualmente ou tratados pelo código excessivamente complicado.

Uma das maiores deficiências do Drupal é que ele dança na linha entre uma ferramenta completa para construtores de sites nonprogrammer, e uma estrutura para desenvolvedores de aplicações web complexas. Tem algumas coisas legais para oferecer ambos os grupos, mas as concessões para uma multidão sempre tendem a viagem até o outro.

A tendência crescente na comunidade Drupal é explicitamente APIs para desenvolvedores de construção, em seguida, administração camada UI e UI para o usuário final em cima das APIs. Isso é uma coisa boa, mas também há ainda um monte de arquitetura legado. O projeto virou 8 anos esta semana, e cada site requer uma combinação de módulos que estão evoluindo em ritmos diferentes.

Se alguém ainda não tenha construído um módulo que faz o que quiser, efetivamente alavancar o sistema sem hackear código do núcleo requer grokking um monte de diferentes APIs internas, um monte de estruturas de dados exclusivos-to-drupal, e estudando-se sobre alguns fluxos de trabalho ocasionalmente descolados. Um monte de terrivelmente ruim e impossível de manter locais estão flutuando na esteira de pessoas que precisavam de fazer coisas complicadas e não têm o conhecimento (ou tempo) para pesquisar a maneira "correta" de fazer as coisas.

(Disclaimer: Eu só co-autor de um par de capítulos para um livro sobre Drupal, e eu faço o trabalho Drupal em tempo integral, por isso estou tão longe de 'imparcial' como você pode começar Mas eu gosto. pensar que eu manter a perspectiva. I heart Django, também.)

Drupal vai te dar 80% do caminho até lá para fora da caixa, mas que a última 20% vai levar meses e meses.

Drupal é um sistema impressionante. É surpreendentemente pequeno para tudo o que faz, e é o sistema de módulo é extremamente poderoso. Mas, como disse Eli, um monte de suas tarefas vão contar com outros desenvolvedores fazendo algo de uma forma particular.

Há um debate dentro da comunidade Drupal sobre ele do design. Drupal existia antes características OOP do PHP eram fortes, mas agora que eles são, não há discussão frequente sobre como alterar o sistema para usar estruturas de dados orientado a objetos. Dependendo do seu gosto, esta poderia ser uma desvantagem para você como um desenvolvedor. Eu sou de duas mentes sobre ele próprio.

O sistema também pode parecem ser muito "mágica" para os recém-chegados, em que de alguma forma ele faz todo este material louco com pouca explicação. "Eu só acabou de definir uma função, como o deuce não Drupal sabe como chamá-lo?!"

No entanto, devo dizer que, em geral, eu sou um grande fã do Drupal. É um sistema bom que recebe cargas melhor com cada versão principal. Eu, pelo menos não posso esperar para 7.

Drupal é bom para começar, mas você gasta mais tempo 'desfazer' do que realmente fazer as coisas. Isso vem mudando, especialmente com o lançamento do Drupal 6 e para ser justo é mais aparente em módulos contribuíram.

Gerenciamento de migrações também é um problema, como disse Sean. Eu ainda não sei de um bom método de mover muda de um site dev para um vivo.

Não estou certo de que há qualquer coisa que eu mudaria no núcleo atual e maior parte das deficiências estão sendo trabalhadas. gerenciamento de imagem precisa de trabalho, a interface de administração padrão é um pouco confuso fazer layouts mais complicados sem ficar views / painéis, etc. envolvidos poderia usar algum trabalho.

i encontrá-lo muito complexo. como um im desenvolvedor php rasgar meu cabelo para fora em uma base diária sobre assuntos que nada têm a ver com php, mas com Drupal em si. como / por que / quando ele faz X? é um grande animal que precisa ser domado. documentação é limitada a alguns muito bons guias, um monte de merda queridos, e ainda mais inútil fóruns tópicos que parecem sempre aparecer no Google.

usabilidade no backend é uma porcaria. um tema personalizado também vai alterar o layout da peça "admin" do pacote que pode ser extremamente frustrante e resultados em menos de layouts bonitas.

Se você está trabalhando com máquinas de corte de html, a sua impossibilidade de usar html que não tenha sido criado especificamente para Drupal. É muito bonito o obriga a usar o Drupal-html, com lotes de divs, 5 verboso aulas por div, etc., por natureza, caras HTML / CSS não se pode esperar para saber drupal a este nível.

Eu não gosto da maneira como ele se baseia em nomes de arquivos (10 palavras de comprimento, com diferenças muito sutis entre eles) para construir um tema.

tendo dito isso, algumas das coisas que pode fazer é muito legal e você economiza dias e dias de desenvolvimento php personalizado

Drupal dá ferramentas poderosas para não programadores, eles podem facilmente construir um site cheio de recursos com menos tempo. Mas o problema é que a curva de aprendizagem é muito alto para Drupal.

Se uma pessoa é novo para o Drupal e quer fazer algo personalizado que vai demorar muito tempo se ele quer fazê-lo de forma adequada. Há muitas maneiras de fazer uma única coisa em Drupal, descobrir o que é que ele melhor ou adequado para um recém-chegado é uma dor de cabeça.

Eu acho que é alta curva de aprendizado é o único defeito como a maioria das empresas lutam encontrar boa Drupal talento. http://drupalize.me/ e http://buildamodule.com/ estão fazendo trabalho muito bom para reduzir essa alta curva de aprendizado.

I find that the default admin interface isn't very intuitive compared to other cms' like modx or joomla/mambo

It's written in PHP4. This will change as of version 7. You can write your own modules in php5 of course. As a seasoned Drupal developer and I find my resume has suffered due to my limited exposure to php5.

It's not the best for running services like SOAP. Calling the whole Drupal stack to provide a web service is too much of a performance penalty. The services modules are still in development.

No database transaction support. This becomes an issue when you scale it up to extreme loads.

It would be good to run tests from the command line. This was possible with simpletest 1.x but the current version doesn't support it very well. Simpletest is not mature enough. A clean Drupal install can fail tests. Some of the default included tests force you to use content types and modules you may not need and you can't disable these without hacking the simpletest module.

It has a seemingly bad security record: http://secunia.com/advisories/search/?search=Drupal

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top