簡単な答え: Drupalは、そのようなものを構築するのに非常に適しています。特に、アプリ/ロジックをカスタムモジュールのスイートとしてDrupalに統合する場合はなおさらです。他の方法として、Drupalを外部アプリケーションに統合することもできますが、Drupalアーキテクチャはそれ自体がフレームワークになることを目的としているため、摩擦が大きくなります。
長い答え:私はパランティーアと比べてかなり反対の意見/経験を持っています。私は、2つのかなり複雑な/「エンタープライズ」プロジェクトのコンテキストで、ほぼ独占的にDrupalと1年間協力してきました(小さなもののための「サイド」使用の数年後)。私はそれがいくつかの厳格な規則を課すことに同意しますが(制限はありません!)、これらの規則は明確なガイダンスを提供し、物事を行う方法について実証済みの方法を提供するため、これは利点であると思います。Palantirが言及している3つの部分は、この良い例です。
- メニューシステム-既存/デフォルトのパスを微調整/操作するための大きな柔軟性を提供しながら、独自のもので簡単に拡張できる、適切に構造化された効果的なディスパッチメカニズムを提供します。(Drupalの「メニューシステム」は、通常用語に関連付けられている「表示」メニューのサブセットだけでなく、URLスペースの管理に関するトピック全体を示していることに注意してください)
- Forms API-適切に設計された処理ワークフローと、他の方法では自分で処理しなければならない多くの組み込みのセキュリティ機能を備えた、Webフォームへの宣言型アプローチ。また、非常に拡張性が高く、既存のフォームをオンデマンドで調整/拡張したり、任意のフィールドまたはフォーム全体に新しい検証ルールを追加したり、マルチステップフォーム、JavaScriptベースのフォーム調整などを行うことができます。
- 翻訳システム-これはかなり複雑です。国際化が難しいからです。しかし、それは組み込まれており、一般的な方法で動作するために物事を行う方法についての明確なガイダンスを提供します(ただし、本来の方法でそれを使用/サポートしていないかなりの数の寄稿モジュールに問題があります)。
「ルール」に感謝する部分の例をもっと挙げることができますが、この投稿はすでに長くなっており、まだいくつかの欠点をカバーする必要があります;)
したがって、肯定的な部分を要約すると、あなたが投稿した大まかな仕様を考えると、「問題ありません」と言ってDrupalを使用し、すべてを提供しながら、カスタムパーツの強固な基盤になると確信しています。フォーラム、ブログ、ツイッター/フェイスブックの統合、その他多くの既存のソリューションの形での標準のようなもの(それらはいくつかの適応/調整が必要かもしれませんが)。
欠点:いつものように、欠陥があり、要件/状況に応じて、それらのいくつかは重大です。
- 学習曲線-Drupalは非常に複雑であり、その概念を「理解する」には時間がかかります。Palantirが示唆しているように、「1週間それで遊ぶ」ことは確かにあなたに一般的な感覚/広い印象を与えるでしょう、しかしそれはその長所と短所の真剣な判断を可能にするのに決して十分ではありません。その中/そのために。したがって、確立されたWeb開発フレームワークにすでに精通している場合は、これが問題になる可能性があります。とにかく1つを学ぶ必要がある場合、これはそれほど問題ではないはずです。
- データベースの制限-Drupal6の時点で、データベースのサポートはMySQLまたはPostgreSQLのみであり、Drupal固有の「抽象化レイヤー」(明らかに1つではありません;)を使用します
。Drupal7はPDOに移行し、この疑わしい状態を(最終的に)終了します。
- テスト/ステージ/本番の移行-Drupalの一部の「すぐに使える」柔軟性は、管理バックエンドで構成可能な多くのものによるものです。これは、多くの重要な構成設定がデータベースに保存されていることを意味します。これにより、完全なダンプ/復元操作を回避できる開発の(初期)段階を終了すると、複数のインスタンス間でのデータや構成の移行が非常に困難/面倒になります(たとえば、この質問と回答を参照)
これらは私にとって主なものですが、おそらくもっと見つけるでしょう:)