モジュール /テーマ /プロフィール名の衝突を避けるためのベストプラクティス?
-
16-10-2019 - |
質問
現在、各サイトに独自のテーマとインストールプロファイルがあるように、コードが管理されています。これらは、これらのアイテム(およびそのディレクトリ)の名前が同じ傾向があるような方法で自然に進化しました。
たとえば、1つのサイトのテーマとプロファイルはどちらも「デニス」と呼ばれます。
これにより、機能サーバーに問題が発生し、(AEGIRで(疑わしい)問題が発生します。
現在...これらのいずれかを変更するのは比較的簡単です(ただし、さまざまな理由で、プロファイルの名前を変更するのは著しく簡単です)。ここに何かベストプラクティスはありますか?つまり、テーマdennis_theme、またはプロファイルdennis_profileと呼ぶのは普通ですか?この慣習を両方に適用する必要がありますか、それとも1つだけに適用する必要がありますか?
解決
私のオフィスでは、通常、ほとんどのことに使用されるサイトキーがあります。
- クライアント:Acme Company&Co
- キー:ACME
- サイトフォルダー:/path/to/webServer/sites/
acme
- カスタムモジュール:
acme_tweaks
,acme_form
S、acme_blocks
,acme_settings
- テーマ:
acme_theme
- レポ:
acme.git
- 等...
サイトからサイトへの再利用コードの場合、それが一般化されたクライアントの曖昧であることを確認し、次のようなデフォルトモジュールセットの一部であるいくつかの一般的なモジュールに追加します。
theme_tweaks
template_suggestions
私たちのルールは、すべてのクライアントサイトに適用できない限り(少なくとも前進する)、入るべきではないということです theme_tweaks
しかし、 acme_tweaks
等
他のヒント
特定のサイトに使用されるカスタムモジュールの名前の衝突を回避する方法は、サイト名を使用してモジュール名を作成することです。たとえば、drupal.orgで特別に使用されるモジュールを含むプロジェクトである「drupal.orgカスタマイズ」に使用される短い名前はです。 Drupalorg, 、groups.drupal.orgのカスタムモジュールを含む同様のプロジェクトは Groupsdrupalorg.
また、トップレベルのドメイン(bingo.comおよびbingo.itなど)のみが異なるドメイン名を持つサイトのモジュールを作成しないと思われる場合は、トップレベルドメインの使用を避けることもできます。
もちろん、名前空間としてプロジェクト「Machine_Name」を使用すると役立ちます。私が最初に理解したのは、どのモジュール、プロファイル、テーマ(およびmakefiles)をインストールするか(github、drupal.orgなど)をリリースします。私がリリースするものは一般的な名前を取得し、他の名前はprojectname_short_descriptionを名前として取得します。
私が開発しているハッカーコミュニティプロジェクトの場合、私が開発した一般的なZenサブテーマは「コンウェイ」と呼ばれ、実際のテーマ(コンウェイをベーステーマとして使用)は「hacker_theme」と呼ばれます。 hacker_event_feature、hacker_install_profile、hacker_distro(a キット-projectname_tweaksモジュールに相当するコンパイアントな分布固有の機能。どこにでも表示されます)。