如何以编程方式触发 liferay 6.2 中的暂存?

How to trigger staging in liferay 6.2 programmatically?

我们有一个客户,每天在他们的站点中导入 Web 内容,每天,在导入之后,他们必须 运行 将内容转移到生产站点。

有没有办法以编程方式触发暂存功能?

提前谢谢你, 哈利

有可用的方法。

StagingLocalServiceUtil.enableLocalStaging(long userId, Group
 liveGroup, boolean branchingPublic, boolean branchingPrivate, ServiceContext serviceContext)

根据文档参数说明:

userId : 是当前的userId。

liveGroup : 它是您需要启用登台功能的组(站点)对象。

branchingPublic :如果要为 public 页面启用页面版本控制,请将此设置为 true。

branchingPrivate:如果要为私有页面启用页面版本控制,请将此设置为 true。

我想,这里是问题的答案:

我们安排了一个阶段,并查看了石英表中的作业条目。似乎处理该作业的 class 是 PersistedQuartzSchedulerEngineInstance 并且其中调用了 StagingUtil.copyRemoteLayouts 方法,该方法不在参数中使用任何 portletrequests。

这正是我一直在寻找的。唯一的问题是在定义远程发布计划时定义包含 UI 的所有选择的参数映射。

此方法将通过 运行 后台任务触发暂存。