Salesforce和Drupal具有共同的功能 - 项目浏览(第1部分)
#php #drupal #salesforce

介绍

几个月前,亚伦·克罗斯曼(Aaron Crosman)发布了What I Brought from Drupal to Salesforce。虽然我完成了很多CMS/CRM集成工作,但几年来我一直将Drupal与Salesforce及其相关服务集成在一起。我仍然认为自己是Salesforce开发的新手,我仍在Salesforce Community Sprints等活动中学习open source side of Salesforce

如果我确实弄错了,请告诉我,我会更新帖子。

写一系列的另一个原因,强调了Salesforce和Drupal之间的某些相似之处,是回应Jacob Rockowitz最近的帖子whether his Blueprint project that leverages Schema.org had a future

我在presentation at BADCamp中简要提到了蓝图,但是我想深入研究蓝图以及一些其他功能,开始在“现代Drupal”中成熟,我看到我看到类似的方法在Salesforce中运作良好。

为了保持理智,我将其分为3个部分;

  • 项目浏览 - 项目浏览器和AppExchange
  • 模式管理 - 蓝图和教育数据体系结构
  • 高级配置管理 - 配置补丁Gitlab API和Gearset

项目浏览器和AppExchange

Drupal Association浏览器计划的工作中的UI与Salesforce的AppExchange非常相似(和MetaDeploy,AppExchange,用于开源的AppExchange和Commons支持的Salesforce软件包)。

视觉上,项目浏览器和AppExchange的UX非常相似。

Image description

Image description

开箱即用,对于开发人员来说,Project浏览器并不是那么令人兴奋。

因此,我可以在正在构建的应用程序中搜索模块,然后转到Composer到composer require drupal/[PROJECT NAME]?为什么有人会为此感到兴奋?

Project浏览器的令人兴奋的部分并未使用它在不同的UX上浏览相同的项目,它可以为特定的用例或基础架构自定义该体验。一个功能,可以为用户提供可以直接在其网站的测试/沙盒版本上安装的项目列表。

我怎么知道?

在CMS方面,我们写了类似于Drupal 7中的科罗拉多大学Project浏览器的东西,我们称为Profile Module Manager11。虽然Colorado.edu站点现在从万神殿的monorepo/custom upstream方法运行,但原始的本地基础架构配对配置文件模块Manager和自定义DevOps解决方案将代码“捆绑”代码添加到网站代码库中。 D7中的Web Express中的Profile Module Manager的用户体验和D10中的定制项目Feed的Project浏览器的用户体验非常相似。

Project浏览器直到可以将其与自动更新计划相结合之前,才真正令人兴奋。这项工作需要作曲家2.3.5或更高版本,许多主机(包括万神殿)尚不支持。

在CRM侧,当浏览包装并单击立即获取免费软件包的时,请提示您根据已注册的帐户注册的实例来安装该软件包使用...或旋转一个新的沙箱以测试此包装。

Image description

虽然Drupal的Project浏览器UX旨在与您打算安装软件包的CMS实例一起使用,但不难想象大型,以Drupal的主机或Pantheon(如Accareia或Pantheon)提供定制的项目浏览器feeds列出平台友好/友好/批准的模块。

现代Drupal仍然必须定义一种安装PHP项目要求的前端依赖关系的方法。 Salesforce用Lightning Web Components, their open source Web Component foundation在一定程度上解决此问题。

虽然#2873160周围有一些牵引力来使用NodeJS installer for Composer#3340712将单个目录组件纳入核心,但这仍然是一个挑战。

也必须认识到,您可以通过不同的Salesforce项目浏览服务安装的大多数软件包不是免费的或开源的。在AppExchange和MetainStall Services之间,您会发现4种不同类型的软件包。

付费插件在W​​ordPress生态系统中更为常见,但基础的plugin code is considered a derivative of WordPress where distribution triggers the GPL-2.0 or later licensing requirement

我认为这将变得有趣的地方是SaaS产品中更多商业的Drupal包裹的潜力。我们已经看到一些大型主机为在其基础架构上托管的网站(例如Acquia Site Studio)托管的网站收取了一些大型主机费用。我们可能会看到更多的小组利用GPL SaaS Loophole,使客户能够从定制项目浏览器中安装商业模块和主题。

只要最终用户通过网络与您的软件进行交互,并且您可以控制软件正在运行的硬件 /基础架构,这不被视为发行。< / p>

虽然与传统的纯GPL Drupal网站不同,但在看到Salesforce的竞争包装质量之后,我个人认为一级商业,封闭的源模块对Drupal都有利。