ホーム   ユーザガイド   開発者ガイド   モジュール情報   翻訳ファイル   当サイトについて   フォーラム  
Drupal(CMS)での開発について

触り始めて初日の素人ですがよろしくお願いします。
Drupal(CMS)での開発とは何か知りたくて投稿しました。

CMSは主に簡単なポータルサイトや企業HPに使われていてますが
実際に開発にするに至って、今までとは違う事が多くてうまく取りかかれないでいます。

今まではプログラム、HTMLをガリガリ書いてシステムを構築していたのですが、CMSって主に既存の設定を変えてシステム構築をしていくって考えであってますか?
足りない機能についてはモジュールを作成して補うみたいな・・・・
DB設計等もなんかやりにくくて、簡単にはいかないですね

CMS/FW

まず、Drupalに限らず、CMSやフレームワークを使っての開発には必ず多少のラーニングカーブが伴います。

>>CMSって主に既存の設定を変えてシステム構築をしていくって考えであってますか?
間違ってはいませんが、そういうパターンだけではありません。どのようなシステムを構築するかに依ると思います。既存のコア/寄贈モジュールをインストール・設定するだけで必要なシステムができてしまう場合もあれば、かなりのカスタム化を要する場合もあると思うので、一概には言えません。
saviolaさんはDB設計という言葉を使っているところから、コードを書いてソフト開発をされる方だという前提でお話します。
DrupalはCMSかフレームワークか、という議論がしばしばありますが、DrupalプロジェクトリードのDries Buytaertは「両方」と言っています(Drupalcon Parisキーノート参照)。僕もこれは正しいと思います。

CMSとしてのDrupalが、コンテンツ管理はもとより、ユーザー(およびその権限の)管理、セッション管理機能等を提供してくれるので、それだけでも開発に要する時間をかなり削減することが可能です。
フレームワークとしてのDrupalは、開発者に豊富なAPIを提供します。これは既存のコードを書き換えることなく機能に変更を加えることを可能にし、効率的にセキュアなシステムを開発する上での大きな助けになります。

もし、既存のモジュールでは組むことのできない大規模なシステムを構築するのであれば、それは自然とカスタムモジュールとしてDrupalに組み込んでいくことになるので、かなりの部分まで独自のデザインに基づき作り込むことは可能です。ただ、Drupalのユーザーやセッション管理、またAPIを無視して開発すると、他のモジュールとの統合性の低下を招くので、後に問題を起こす可能性が高まりますし、そもそもDrupalを使う意味が薄れます。

それから、オープンソースソフトウェアの特徴として、公開されているコードのバグ報告やセキュリティレビューをコミュニティが行ってくれるというのも大きな魅力だと思います。自社開発のソフトを同じレベルで継続的にレビューするためには、相当なコストがかかるはずです。

欠点としてはsaviolaさんが言及するように、とっつきにくい(ラーニングカーブがある)こと、また組み方によっては将来のアップグレードに手間がかかるというところでしょうか。

これらの利点と欠点を考慮し、Drupalが果たしてsaviolaさんの開発しようとしているシステムに適しているかを検討されてみるのが良いと思います。全ての道具には向き不向きがあるので、Drupalまたは他のCMSによる開発はsaviolaさんの用途には不向きで、よりアブストラクトなフレームワークのほうが適しているというようなこともあるかもしれません。

コメント表示オプション
----------
お好みのコメントを表示方法を選択してください「設定の保存」をクリックすると変更が有効になります。