当前位置:  开发笔记 > 编程语言 > 正文

如何在Liferay 6中创建默认文档类型和元数据集?

如何解决《如何在Liferay6中创建默认文档类型和元数据集?》经验,为你挑选了1个好方法。

我想在Liferay 6.1.20 EE中创建自己的默认文档类型和元数据集.

目前,Liferay实现创建了自己的默认文档类型和元数据集,例如合同,在线培训等,它们是在类AddDefaultDocuraryLibraryStructuresAction中创建的,该类是从AddDefaultDataAction类调用的,这是一个启动操作.

正如Liferay论坛帖子中所述,如果我们想要关闭此创建过程,我们需要注释掉AddDefaultDataAction中的相关行,或者我们可以在application.startup.events中添加自定义AddDefaultDataAction覆盖默认行.

可以使用钩子来覆盖application.startup.events吗?如果是,我们如何覆盖AddDefaultDataAction类,因为它是一个portal-impl.jar类,我们无法从钩子访问它?如果没有,是否应该使用ext插件用于此目的?或者是否有更直接的方式来实现我自己的默认文档类型和元数据集?



1> Olaf Kock..:

如果你看一下默认的配置,发现portal.properties,那里说

#
# Application startup event that runs once for every web site instance of
# the portal that initializes.
#
application.startup.events=com.liferay.portal.events.AddDefaultDataAction,\
     com.liferay.portal.events.AppStartupAction,\
     com.liferay.portal.events.ChannelHubAppStartupAction

因此,您只需在com.liferay.portal.events.AddDefaultDataAction以下内容中说明其他内容即可从此列表中删除默认值portal-ext.properties:

application.startup.events=com.liferay.portal.events.AppStartupAction,\
     com.liferay.portal.events.ChannelHubAppStartupAction

如果要对所有新安装执行此操作,则必须在第一次启动实例之前添加此更改.或者你应该编写一个开箱即用的ext插件.你为什么需要分机?钩子只能添加另一个StartupAction,而不能更改现有的StartupAction .ext 可以更改或删除现有的启动操作或覆盖其代码.

在ext插件中,您也可以实现

application.startup.events=com.mariaioannidou.MyCustomAddDefaultDataAction,\
     com.liferay.portal.events.AppStartupAction,\
     com.liferay.portal.events.ChannelHubAppStartupAction

并执行MyCustomAddDefaultDataAction默认操作所做的相同操作,无法创建文档类型.

另一方面,钩子可以找到您不想要的所有标准文档类型,检查它们是否确实未使用,然后删除它们.正如您所看到的,AddDefaultDataAction不仅仅是添加文档类型,因此您可能希望运行中的其余代码运行.

另一种方法是编写一个实际更改实现的ext插件com.liferay.portal.events.AddDefaultDataAction,但是你再次使用ext - 如果你在第一次启动之前没有在每个安装中部署它,你最终会得到默认内容,你可能想要一些代码来自动删除它.

我的个人建议是使用钩子,删除不需要的文档类型(如果它们未被使用) - 原因是:

    易于部署(可以进行热部署),

    如果你没有在第一次运行之前部署你的插件,你最终还是需要删除不需要的文档类型,

    可维护性:维护钩子比使用ext插件更容易.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有