我已经看到了许多在Drupal中集成远程数据结构的策略。随着某些模块的稳定和用例的尝试,该策略似乎在发展。
想象一下,我们有一个“农民市场”数据结构,它由通过REST API公开的许多数据类型(市场,市场时间,供应商,摊位,农产品)表示。外部服务的ID需要在Drupal中关联,即,在加载“市场”时,我们希望从“ market_hours”和“ stall”中获取数据。将其表示为定期同步的Drupal只读内容的最佳方法是什么?
我正在尝试使用以下标准对此进行评估:
Drupal中的数据结构:
节点与自定义实体
我已经看到许多涉及Web服务的场景使用自定义实体。它简化了CRUD操作。但是,这些项目将是“内容”,因为它们将被公开查看。
存储(本地与远程):
我已经看到了几个将服务作为远程实体加载的示例,该模块为此模块创建了一个库:https : //drupal.org/project/wsdata。这听起来很吸引人,但是还没有看到很多用例。还有自定义代码的示例:https : //drupal.org/sandbox/fago/1493180
同步数据:
Feed,Migrate,Guzzle,“ Web服务客户端”与“ Web服务数据”
有很多选择。Feed现在支持实体。迁移似乎比feed干净得多,尤其是对于自定义场景。我也曾见过人们使用耗时的客户端与远程服务进行同步:http ://drupalcode.org/project/ckan.git/blob/refs/heads/ckan_dgu_7.x-1.x: /ckan.drush。 inc#l273。我还注意到WS客户端模块https://drupal.org/project/wsclient提供了一个选项,该选项专门作为其他客户端创建的。Web服务数据直接从服务加载并本地缓存。
感谢您的任何想法。