【问题标题】:Drupal content syncDrupal 内容同步
【发布时间】:2011-01-25 14:34:21
【问题描述】:

我有 3 个 drupal 站点。 2 个 drupal 站点是公共站点(.com 站点),第 3 个是防火墙后的内部站点。防火墙后面的站点在 Linux 和 MySQL 中运行,但从办公室 MS-SQL 中提取数据并从中创建节点。问题是:

如何从 office drupal 站点更新其他 2 个 drupal 站点的内容?

注意:我可能不需要公共站点中的所有字段都与内部站点中的字段相同。我想要一个设置,不仅将内容推送到两个外部站点,而且如果内部站点更新一个节点,那么它的内容也会在外部站点中更新。

谢谢。

【问题讨论】:

    标签: php drupal rest soap xml-rpc


    【解决方案1】:

    您可以在外部站点上使用Feeds module 来轮询办公站点的内容并导入新的和更新的内容。由于您可能不需要外部站点上的所有字段,Feeds 可以让您将办公站点中所需的字段映射到您希望存储在外部站点上的字段。

    根据您需要从办公站点提供哪些数据,您可能需要使用Views 自定义可用的提要。

    【讨论】:

    • 感谢您的快速回答。我无法从办公站点中提取内容,因为它位于防火墙后面,这就是为什么我正在考虑以某种方式将内容推送到外部站点。你知道我可以使用 Feeds 模块或任何其他模块吗?
    • @redhatlab - 提要可以从服务器本地文件系统上的文件中读取。只需让您的办公站点定期将文件上传到服务器,然后让 Feed 每 X 分钟读取一次文件。
    • @redhatlab 在这种情况下,发布和订阅模块应该可以满足您的需求:drupal.org/project/publishdrupal.org/project/subscribe
    • 我一直梦想着使用 Drupal 7,但您建议的最后两个模块正处于 drupal 7 的规划阶段。嗯……我可能需要考虑一下。
    【解决方案2】:

    一种工具而不是开箱即用的解决方案,但我使用CodeServer 将设置和内容从一个站点同步到另一个站点。项目页面摘录:

    <?php
      // Set the node id of the node we are going to copy.
      $nid = 1234;
      // Instantiate CodeServer using the configuration named 'my_remote_site'.
      $remote = new CodeServer('my_remote_site');
      // Load a node from the remote site.
      $node = $remote->node_load($nid);
      // Save the node on the local site.
      node_save($node);
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多