Magnolia CMS:如何(触发)将新添加的内容推送到外部资源(PHP或bash脚本)

时间:2014-09-26 14:13:15

标签: api rest groovy magnolia

我主要担心的是你可以从标题中提取的内容: 我想通知'一个外部资源,在我的例子中是一个" php-script" (如果我添加一个新的'页面,可能会运行像玉兰花这样的环境,也可能运行bash脚本)。在玉兰花(我需要新页面的洞内容,意味着如果你使用JCR你可以得到什么)。 (对于页面,我指的是您可以发布')

的页面

我对Magnolia并不陌生,我现在有一些可用的机制,如:

问题是,我的以下解释是否有可能这样做?


我怎么理解应该可能做到的事情:

  • 您可以使用Groovy编写命令
  • 此命令可以执行外部php或bash脚本
  • 此命令可以从magnolia(内容)
  • 获取最后添加的页面
  • 您可以将此命令添加到发布或创建页面

如果有人能说这是一种可行的方式,那么真的很好 如何在最后添加的玉兰页面和所有需要的信息中传递groovy脚本?

我以前从未在groovy中写过......

也许有另一种(可能更好的)方法来做到这一点......?

1 个答案:

答案 0 :(得分:0)

你真正想要的是Magnolia's Observation Module。在模块的帮助下,您可以配置甚至监听器,该监听器将被通知每个感兴趣的操作(在您的情况下创建页面)并调用任何命令,例如对您的外部php脚本发出http请求的命令或者触发底层shell中的bash脚本。这两个命令都应该很容易用groovy编写,并且还有很多例子 当您查看观察模块时,请查看详细信息" sendMailOnPageChanges"这个例子几乎可以满足您的需求(在添加新页面或修改现有页面时发送邮件)。 如果您要导出内容并将其作为通知的一部分发送,则可以使用info.magnolia.importexport.DataTransporter.executeExport(OutputStream, boolean, boolean, Session, String, String, String)方法来完成工作。

HTH,