機能を使用してデプロイの変更を管理することの利点(コードを最新に保ち、データを最新に保つことと比べて)
機能の方法(私が識別できるように近く):
機能は構成(「コンテンツ」)を取り、それをコードとして再構想し、そのためのモジュールを構築し、それを、コードとして永久に維持する必要があるオブジェクトとして存続する場所にプッシュします。
次に開発者がコードを更新するとき(開発データベースを本番環境の最新のコピーに更新するのが最適です)、これらの構成の変更を取得し、永続的に管理する必要があります。
実際には特別な方法はありません
元の開発者が本番環境で構成を更新し(開発でのこれらの変更を解消した後)、その構成の変更をいつまでも心配しなくなりました。
次に開発者がコードを更新するときに(開発データベースの更新が最適です)、構成の変更が含まれます。オーバーライドや復帰について心配する必要はありません。
明白な警告:
元の開発者が103の個別設定を変更した場合、それらをすべて覚えて設定することは悪夢のようです。この場合、本当のシステムが一致するように設定するために、多かれ少なかれ機能の使用方法である構成パッケージャの使用を理解します。しかし、それから何ですか? prodの設定を開発での作業と一致するように更新した後、そのプロジェクトを存続させることは理解できません。ファイアアンドフォーゲットコンフィグミサイルとしての機能を備えています。コードとして...事後は維持できません。
===================================
信じられないほど信頼できるいくつかのDrupal教祖によって報復された後、私はこの投稿をFeaturesに公開し始めました。私はそれについて悪い気持ちを持っていましたが、それが衰えることを望みました。これを書いた後、再び自分自身を見つけますスライスされたサーバー以来、他の誰もが考えているように思われることにイライラして反対します。
私の頭を包むことができない理想的な機能:
私は常にDrupalにアプローチしてきました。哲学は、前述の教祖によって「コンテンツがダウンし、コードがアップする」と雄弁に説明されていません。
Drupal 7では、システムとモジュールの構成がデータベースに保存されています。私の認識で描いた点線は、コードの内容をその行に示しています。コードはファイルに保存されています。コンテンツはGitで管理され、UIに入力され、DBに保存されます。
構造のための機能の使用:エクスポートと機能についての私の直感で、別の達人は言いました:「それは何らかの形でファイルになるでしょう」。
私は彼の見解が見えず、彼にそれを呼ぶのが快適ではなかったので、当時は議論しませんでした(グルvsわずかに経験したヒラメ)。
彼が考えていたパラダイム(開発者)を使っていなかったので、私はそれについて考えたことはありません。構造を操作しているとき、私の脳は常に異なるパラダイム(サイトビルダー)にあるため、常に構造をインポートしていました。
私は彼が説明した方法でこれを行ったことはありません。それは実際には賢いです、そして私は特定のケースでその方法を使用して見ることができます。後で脳が開発者モードに戻ったときに、これと同じようなことを別の方法で行っていることに気付きました。フォームビルダーを使用してラフフォームをすばやく構築し、コードにドロップします。エクスポートはしません。フォームビルダーを使用すると、構築中にコードを作成してアクセスできます。
そのため、「機能はアフサムズです」と言うのをためらいます。
では、何が欠けているのでしょうか?
機能のユースケースについては、おそらくstrongarmまたは構造を持つ構成パッカーとしてのみ言及しているようです。コードを実行してデータベースに変更を加えた後は、コードを使用しません。
ただし、機能の重要な用途の1つは、ビュー、ルールなどのctoolsエクスポート可能ファイルです。ここでは、設定は「103の構成オプション」よりもはるかに複雑であり、複数の開発者を扱う場合は、ステージングサイト本番環境では、これをすべての異なるサーバーとインスタンスで手動で実行することは想像できません。
Drupal=開発者として、最初はあまり意味をなさないが、それらを使用するにつれて成長していくトリックとヒントの仮想の海があることがわかります。機能はここに覚えておくべきいくつかのポイントがあります(おそらくこれのほとんどを知っています):