Drupalが奜きではない理由

原則ずしお、それは同じですが、詳现であるため、さらに読むこずはできたせん。



背景



Drupalの孊習を開始しおから3か月が経過したした。 勉匷しながら、Drupal 6で匷力で堅牢なアプリケヌションを構築する本を読んで、Drupal 6のモゞュヌル開発を孊び、Pro Drupal開発を孊びたした。 たた、䜿甚䞭は、Drupal'aずそのAPIのドキュメントを参照する必芁がありたした。 9月末頃、母囜の倧孊のりェビナヌでDrupalの講矩を行い、Drupalずは䜕か、Drupalで䜕ができるのか、Drupalで孊んだこずに぀いお話したした。



倚くの情報源で、私はフレヌズや図に出くわしたした。その本質は、もう少しすれば、Drupalが開発のための理想的なツヌルになるずいうこずでした...埅ちたせんでした、病気になりたした



基本的な問題



すでにセミナヌでレポヌトを読んだずき、倚くの人が曞いお話し合っおいるDrupalの問題をいく぀か特定したした。研究の耇雑さずデヌタベヌスの高負荷です。 私の報告には、すでに玄1幎間圌をいじくり回しお、圌を非垞に嫌っおいた男性が出垭したした。 圌は、デヌタベヌスの負荷はほが最悪のDrupalパラメヌタヌであり、ほずんどすべおの人にずっお損倱であるず述べたした。 そしお、倚数のナヌザヌに関する矎しい数字はすべお誇匵されおいたすが、実際には、Drupalは1日あたり1000人を超える蚪問者を保持できたせん。 drupal.orgに぀いおの私の発蚀に察しお、圌は笑っただけで、drupal.orgにはすでに非垞に倚くのパッチが詰め蟌たれおいお、drupalからは名前だけが入っおいるず蚀っおいたした。



しかし、私はDrupal'eでプロゞェクトを終了しなければならなかったので、ひらひら続けなければなりたせんでした。 深くなるに぀れお、レポヌトを䜜成したずきに思っおいたよりも倚くの問題がDrupalにあるこずに気付き始めたした。 最初で最も頻繁に䞍安になったのは、Drupalキャッシュです。 私はただそれがどのように機胜するか理解しおいたせん。 たずえば、モゞュヌル内の関数を倉曎するず、実行される堎合ずされない堎合がありたす。 これは、管理むンタヌフェむスから利甚できるすべおのキャッシュ蚭定がオフになっおいるずいう事実にもかかわらずです。 モゞュヌルの機胜の远加ず削陀により、状況はさらに悪化したす。 远加するずきに「お気に入り」キャッシュを曎新するこずが䟝然ずしお簡単な堎合、関数を削陀するず、臎呜的な゚ラヌがポップアップするこずがありたす。 それを扱うこずは垞に可胜ずはほど遠く、倚くの堎合、すでにペンでデヌタベヌスからすべおのキャッシュデヌタを削陀する必芁がありたす。



今埌、この問題は珟圚研究䞭のシンフォニヌには存圚しないず蚀いたす。 その䞭には環境がありたすおそらくロシア語では「環境」になりたすが、もしそうであれば公匏に間違っお翻蚳されおいるかもしれたせん、倧たかに蚀うず、各環境はサむトの特定の構成です。 デフォルトでは、開発環境ず本番環境もしあればテストもありたす、それぞれ開発ず本番぀たり、開発ずリリヌスのための環境がありたす。 devでは、ほずんどすべおのキャッシュが無効になっおいるため、䜕が起こったのかを掚枬するために髪を匕き裂く必芁はありたせん。構文゚ラヌたたはキャッシュが曎新されおいたせん。



䜙談䞀般に、おそらく、䞊蚘で述べたこずも、以䞋で述べたこずも、唯䞀の真の真実ではないでしょう。 私の堎合のDrupalのマむナス面は、その研究に付随するいく぀かの芁因ずも関係しおいたす。珟圚、Drupal 6の研究を開始したした。珟圚、ほずんどの本は曞かれおいたせん。 最埌たで本を終わらせなかった プロゞェクトが突然陥り、培底的なピッキングの時間はありたせんでした。



Drupalの2番目の問題は、テンプレヌトのカスタマむズです。 私にはこのように思われたした。レむアりトの適切な堎所に挿入する必芁がある倉数のセットを提䟛したす。 しかし、これはそうではないこずが刀明したした。 たず、各Drupalモゞュヌルは独自のhtmlコヌドを提䟛できたす。 Drupalにはいわゆるテヌマ機胜぀たり、暙準出力をオヌバヌロヌドする機胜がありたすが、最埌に到達するのは必ずしも簡単ではありたせん。コンテンツを提䟛したすhtmlの䞀郚は既に倉数にありたす。 第䞉に、htmlが関数から返されるようにどこで芋られたすか その結果、完党に読み取り䞍胜なコヌドが䜜成されたす。



Drupalのモゞュヌルに぀いお蚀及する䟡倀はありたす。 暙準モゞュヌルの構造は次のずおりです。



module_name.moduleファむルのサむズの範囲は1〜109私の堎合キロバむトです。 最も恐ろしく巚倧なファむルの堎合、これは3000行のコヌドです。 そのようなコヌドを読んだり管理したりするこずは可胜ですか そしお、そのような構造は、このCMFの暙準によっお採甚されおいたす。



より深く掘る



これは、Drupalでの䜜業ぞの道のりで埅っおいた問題の始たりに過ぎたせん。 次の問題は、モゞュヌルの非互換性です。 先駆者によっお曞かれ、コミュニティによっお掚奚されおいないモゞュヌルからの互換性を期埅すべきでないこずは明らかです。 しかし、私は完党に完成し、実瞟のあるモゞュヌルを入れたした



FCKeditorずLocalization Clientの間で最初の非互換性が明らかになりたした。 ゚ディタヌを貌り付けるペヌゞに2぀以䞊のテキスト゚リアがある堎合、ペヌゞは気たぐれになり始め、保存を拒吊したした。 たあ、TinyMCEをむンストヌルしたしたが、この゚ディタヌぞの愛を蟌めお、サむト管理の䞀郚ずしお機胜させるこずができたせんでした。 FCKeditorずは異なる構成になっおいるためです。 TinyMCEを有効にするには、゚ディタヌが衚瀺されるペヌゞのパスを指定する必芁がありたす。 たた、FCKeditorはid'shnikami textareaによっお構成されたす。 その結果、䞀方にはFCKがあり、もう䞀方にはTinyMCEがありたす。 残念ながら、TinyMCEも残しおおく必芁がありたした。画像をサむズ倉曎できる画像を挿入するモゞュヌルImagepickerは、それだけで機胜するからです。



誰もが倧奜きなDevelは、埌にUbercartずの非互換性を明らかにし、オンラむンストアカタログのカテゎリペヌゞでプロゞェクト党䜓を殺したした。



Drupalは開発者向けではありたせん



Symfonyに初めお䌚ったずき、Drupalの䜿甚をやめるこずにしたした。 䜜成が倧奜きな開発者ずしお、Drupalではほずんどの堎合、自転車のボルトを締めお、䞉茪車が回転し、チェヌンがプラチナで䜜られるようにしたした。 たた、バヌゞョン6が今幎リリヌスされたずいう事実にもかかわらず、OOPの臭いさえありたせん。 開発者はこれを非垞に簡単に説明し、文字通り次のように述べおいたす。

「はい、DrupalにはOOPはありたせんが、その原則の倚くは私たちによっお実装されおいたす。原則ずしお、あなたは自由に感じたす。」 しかし、違いはただ非垞に顕著です。 そうでなければ、アカりントは長い間発明されおきたので、なぜ電卓を䜿甚する必芁がありたすか



しかし、それほど悪くない



緎習では、コむンには2぀の偎面があるこずが瀺されおいたす。 すべおが非垞に悪い堎合、Drupalのような悪いものを䜿甚する人はいたせんでしたが、圌らは䜿甚したす。 Drupalは、HabraSwabrashvabraの䟋を参照などの匷力なリ゜ヌスを非垞に迅速にデプロむする必芁がある人に適しおいたすが、カスタマむズずその機胜にあたり煩わされたせん。 ただし、䜿甚するモゞュヌルの機胜の境界を超えるず、問題が発生する可胜性があるこずに泚意する必芁がありたす。その䞀郚は䞊蚘で説明したした。



この蚘事は、CMF Drupalに぀いおの著者の個人的な意芋であり、その経隓の芁玄です。 気分を害した堎合は蹎らない



updカルマのプラス蚘号のおかげで、Drupalブログに転送するには少し足りたせんでした

upd2 FCKeditorずDevelの間に最初の非互換性が珟れるずいうフレヌズに少し嘘を぀いおいるこずがわかりたした。DevelではなくLocalization Clientがありたす。 おaびしたす



All Articles