モジュール /テーマ /プロフィール名の衝突を避けるためのベストプラクティス?

drupal.stackexchange https://drupal.stackexchange.com/questions/851

  •  16-10-2019
  •  | 
  •  

質問

現在、各サイトに独自のテーマとインストールプロファイルがあるように、コードが管理されています。これらは、これらのアイテム(およびそのディレクトリ)の名前が同じ傾向があるような方法で自然に進化しました。

たとえば、1つのサイトのテーマとプロファイルはどちらも「デニス」と呼ばれます。

これにより、機能サーバーに問題が発生し、(AEGIRで(疑わしい)問題が発生します。

現在...これらのいずれかを変更するのは比較的簡単です(ただし、さまざまな理由で、プロファイルの名前を変更するのは著しく簡単です)。ここに何かベストプラクティスはありますか?つまり、テーマdennis_theme、またはプロファイルdennis_profileと呼ぶのは普通ですか?この慣習を両方に適用する必要がありますか、それとも1つだけに適用する必要がありますか?

役に立ちましたか?

解決

私のオフィスでは、通常、ほとんどのことに使用されるサイトキーがあります。

  • クライアント:Acme Company&Co
  • キー:ACME
  • サイトフォルダー:/path/to/webServer/sites/acme
  • カスタムモジュール: acme_tweaks, acme_formS、 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モジュールに相当するコンパイアントな分布固有の機能。どこにでも表示されます)。

ライセンス: CC-BY-SA帰属
所属していません drupal.stackexchange
scroll top