【问题标题】:Liferay create site / page programmaticallyLiferay 以编程方式创建站点/页面
【发布时间】:2015-12-25 16:43:04
【问题描述】:

我已经使用 Liferay 工作了 2 周。我注意到找到好的文档和教程有点困难。 到目前为止,我从门户网站创建了页面。创建它们之后,我拖放portlet。我不太喜欢这种方法,我更喜欢使用编码方法。有没有办法像我创建 portlet 一样通过定义项目来以编程方式创建网站或页面?

此外,我将 Liferay 与 WebLogic 10.3.6 一起使用。我想知道 liferay 将我通过 web 门户创建的页面放在文件系统上的什么位置。我想当我在 Liferay 门户网站上声明一个新站点时,会创建一个文件或类似的东西。

谢谢大家,

马可

【问题讨论】:

  • 我不会对此投反对票或标记...但请注意(1)您应该只在帖子范围内包含一个问题。 (2) 这个问题要求在 SO 之外找到教程或其他参考资料,这违反了其中一个标志。 (3) liferay 的标签说它是用Java 编写的——你的问题是关于Java、html 等除了 liferay 吗?
  • 您好,对于 (1),我很抱歉,下次我会考虑。关于(2),这个问题旨在从其他人那里获得知识。最后,(3)我在问一些关于 Liferay 的问题,旨在作为框架。我认为 java 或类似的东西没有正确标记这个问题。
  • 欢迎来到 Liferay。虽然 Liferay 的文档在过去并不是最好的,但它已经发生了很大的变化:dev.liferay.com 现在有一些很好的教程,并且还在不断地扩展。检查其学习路径。除了这个,已经给出的答案已经相当不错了。

标签: liferay liferay-6


【解决方案1】:

是的 Liferay 有它的数据库,任何 Liferay 对象的所有数据都存储在数据库和/或文件系统中,具体取决于您的配置。

不过,Liferay 的功能之一是让您通过 UI 创建页面/站点。正如 Java 门户规范和 Liferay 服务器文档中所述,您可以使用另一种方式创建页面,但它是 Liferay 门户服务的一部分。您可以使用 Liferay 的服务 (HTTP REST) API 来调用相关服务。要访问这些 API,您需要配置 Liferay 服务器。

如果您想以编程方式进行操作,您仍然需要从您的代码中配置、启用和调用这些外部 HTTP 服务。您不应该从您自己的代码创建 Liferay 对象,该代码作为 Liferay 实例中的扩展托管,因为这将导致您的 Liferay 数据库/文件系统不一致。 (在创建页面的情况下,Liferay 在其数据库/文件系统中创建一组其他相关对象。)

【讨论】:

  • 使用 Liferay API 非常好,例如REST、Java、JavaScript API 所以即使一个人的代码直接在 Liferay 服务器上托管或运行,但使用 Liferay API 来操作 Liferay 对象 - 也没关系。不好的是直接更改数据库实体,因为对于这样的更改,您需要详细了解门户内部工作,包括预期的数据库一致性/索引/集成等。但是,如果您有详细的知识,那就太好了:)
【解决方案2】:

在您的 liferay 包中,您会发现两个感兴趣的插件。

首先是 resources-importer-web,其中描述了

Resources Importer 应用程序允许前端开发人员打包 web 主题中的内容、portlet 配置和布局 无需将其保存为已编译的 .LAR 文件,从而允许更大 Liferay Portal 版本之间的使用灵活性。
此应用程序将在其他版本时自动创建相关内容 部署了配置为使用资源的插件 Importer 应用程序。

此应用程序作为 Liferay 服务安装。

其次是welcome-theme,它声明了由resources-importer-web创建的资源。这应该是如何创建自己的示例。来看看

  1. 欢迎主题\WEB-INF\src\resources-importer\*
  2. 欢迎主题\WEB-INF\liferay-plugin-package.properties

此功能在importing-resources-with-themes进行了描述

【讨论】:

  • 我从来没有让它按我的需要工作,但它可能是简单用例的可行替代方案。
【解决方案3】:

如 gabor_the_kid 所述,Liferay 将所有对象存储在其表中。例如,用户相关的对象将在用户表中。 Liferay 暴露了服务或 API 以通过程序更改默认值/添加新行为,但并不比通过 UI 实现更容易。对于创建页面或布局等的程序方式,还应考虑维护。

【讨论】:

    【解决方案4】:

    您可以使用 xml 描述您的更改,并使用 Liferay Portal DB Setup core 在 DB 中创建更改。 该库定义了the list of 可用的 xml 配置。

    【讨论】:

      猜你喜欢
      • 2021-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 2011-06-16
      • 2012-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多