通过API向Liferay添加内容

时间:2011-09-19 08:25:10

标签: java api content-management-system liferay

我开始使用Liferay Portal,我有两个基本需求,我想用Liferay实现。

  1. 是否可以通过API级别向CMS添加内容?我想从“代码”中插入一些数据。
  2. 更重要的是。如何实现这样的情况:对于每个创建的用户,都会有自己的主页生成一些预定义的模板元素?
  3. 到目前为止,我已尝试使用Google,但我觉得它没有用。也许有些关键词?


    在对服务和ServiceBuilder的文档进行一些分析后,我意识到这不是我想要的。

    让我展示一个基于Websphere的例子。 在Websphere中,我们有许多EJB组件可用于执行某些操作,与门户交换信息,易于使用。 Liferay中没有任何类似的机制不涉及Web服务吗?

3 个答案:

答案 0 :(得分:4)

我对这类问题的建议是看一下sevencogs-hook源代码。这个钩子的结构基本上只是一个运行一次的长脚本,建立一个包含用户,站点,页面,内容等的完整演示站点。代码运行一次(在第一次部署之后)然后再也不会运行。没有(明显的)条件,没有理解的上下文等。

您基本上可以单步执行所有操作,并在此过程中了解如何在Liferay中的页面上创建和定位内容(以及页面,图像,博客帖子等)。

这个钩子访问Java API,一个非常类似的API可以通过Webservices获得。基本上所有Liferay的portlet也使用相同的API来开展业务。

编辑:保持此答案有价值/最新的其他信息:Sevencogs已停产,但旧版本仍然可用(源和二进制)。 API略有变化,因此编译/运行它需要一些工作。 James Falkner has blogged关于剩菜和经验教训 - 这些片段是从七个小块中提取出来的,并包含与API一起使用的相关代码段。

答案 1 :(得分:1)

this page from the documentation:它闻起来像SOAP接口(他们提到某种文档上传器服务,我读过)。

你会发现一些url示例应该提供可用的webservices列表。

答案 2 :(得分:1)

对于数字1,您可以使用以下之一:

JournalArticleLocalServiceUtil.addArticle()

以编程方式从portlet添加Liferay Web内容的方法。如果您下载Liferay Portal Source,您可以看到这些方法的结构。

对于数字2,可以创建具有预配置portlet的页面模板(通过Plugins-SDK),然后使用API​​以编程方式使用以下方法之一创建页面:

LayoutLocalServiceUtil.addLayout()

方法

如果您对这些评论有任何疑问,我希望这会有所帮助!