避免模块 /主题 /个人资料名称冲突的最佳实践?
-
16-10-2019 - |
题
目前,我们对代码进行了管理,使每个站点都有自己的主题和安装配置文件。它们自然而然地进化了这些项目的名称(及其目录)往往相同。
例如,一个站点的主题和个人资料都称为“丹尼斯”
这会导致功能服务器问题,并且(我怀疑)AEGIR。
现在...重命名其中的任何一个都相对容易(尽管出于各种原因,重命名配置文件的命名非常容易)。这里有什么最佳练习吗?我应该将此惯例应用于两者,还是仅对一个公约?
解决方案
在我的办公室中,我们通常会有一个用于大多数事情的站点密钥。
- 客户:Acme Company&Co
- 钥匙:acme
- 站点文件夹:/path/to/webServer/sites/
acme
- 自定义模块:
acme_tweaks
,acme_form
S,acme_blocks
,acme_settings
- 主题:
acme_theme
- repo:
acme.git
- ETC...
对于我们从站点重复使用的代码,我们确保它是概括性和客户端模棱两可的,然后将其添加到一些默认模块集合的常见模块中 - 例如:
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子主题称为“ Conway”,而实际主题(以Conway为基本主题)称为“ Hacker_theme”。 hacker_event_feature,hacker_install_profile,hacker_distro(a)也是如此 成套工具- 集合发行特定功能,等同于ProjectName_tweaks模块,我到处都可以看到)。