有人有用过liferay portal的吗
能不能告诉我大概怎么个用法,
GOOGLE搜索下,都是那几篇文章.
而且都是比较早的版本,新版本的没什么文章或者介绍有人做过PORTAL,一般是用什么框架做的.
提供一些开发上的建议

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【linpyi】截止到2008-07-03 16:44:35的历史汇总数据(不包括此帖):
    发帖的总数量:38                       发帖的总分数:1035                     
    结贴的总数量:38                       结贴的总分数:1035                     
    无满意结贴数:8                        无满意结贴分:280                      
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:21.05 %               无满意结分率:27.05 %                  
    敬礼!
      

  2.   

    看过一段时间,就是每个portalet都是一个独立的文件,最终要哪个就拼接起来出一个页面。他那个DEMO就已经很简单了,你能部署出来就估计看的明白了
      

  3.   

    portal主要是开发符合jsr168的portlet,这个你看下,了解了这个,开发portlet就简单了。
    portal是运行portlet的一个容器,就想tomcat跑jsp,jboss跑ejb一样。jsr168没有定义怎么控制权限,展示等,而liferay portal就是负责怎么控制portlet的。portlet.xml的配置是标准的。但是每个不同的portal服务器都有自己的配置文件,需要具体配置。portlet部分都是兼容的。
     
      

  4.   

    portal只是一种思想,有很多现成的代码,可以先下载个简单的,
      

  5.   

    有人有没liferay的demo吗,自己写的,比较容易看清楚点.或者什么中文笔记
      

  6.   

    现在的portal产品还是很多的,比较值得借鉴的我推荐几个给你:exo,uportal,Liferay(这个你已经知道了),eGroupWare,当然还有jetspeed2(1那个版本就不说啦)大厂商jboss,ibm,sun等也均有自己的portal产品。如果你只是开发portlet的话,只要遵循jsr168就可以了。如果想自己写portal容器的话,自己通过扩展portlet-api提供的接口来实现。直接从servlet开始写起,实现portal提供的接口,符合168规范就ok了。只要你开发的portlet不涉及到应用级权限方面的问题,一般都是兼容的btw:portlet模块很好写,和正常开发没什么两样,就是自己做portal服务器需要一些技术性的东西。
      

  7.   

    首先谢谢楼上,纠正了我的一些想法,我把他想复杂了
    liferay我找到的是一个3.6的二次开发文档,写的还不错,不过我现在搞的是5.0的好象改动好多
    我只想写一个helloword出来,可是,tomcat开始还能运行,可是后来就报错
    开始以为我电脑的一些环境被我破坏了,就换了台电脑,开始还好好的,结果
    我把我的testPortal放进去的时候,没出现我想要的东西,还发现报错
    我就把我写的给删了,网站可以访问但是线程一直提示报错
    16:46:53,065 ERROR [IndexWriterFactory:207] Unable to create a new writer
    org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: Simple
    FSLock@C:\Documents and Settings\linpyi\liferay\lucene\0\write.lock
            at org.apache.lucene.store.Lock.obtain(Lock.java:70)
            at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:598)
            at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:410)
            at com.liferay.portal.lucene.IndexWriterFactory.getWriter(IndexWriterFac
    tory.java:188)
            at com.liferay.portal.lucene.LuceneUtil.getWriter(LuceneUtil.java:338)
            at com.liferay.portal.lucene.LuceneUtil.getWriter(LuceneUtil.java:332)
            at com.liferay.portal.plugin.PluginPackageIndexer.addPluginPackage(Plugi
    nPackageIndexer.java:76)
            at com.liferay.portal.plugin.PluginPackageIndexer.updatePluginPackage(Pl
    uginPackageIndexer.java:221)
            at com.liferay.portal.plugin.PluginPackageUtil._indexPluginPackage(Plugi
    nPackageUtil.java:494)
            at com.liferay.portal.plugin.PluginPackageUtil._registerInstalledPluginP
    ackage(PluginPackageUtil.java:1177)
            at com.liferay.portal.plugin.PluginPackageUtil.registerInstalledPluginPa
    ckage(PluginPackageUtil.java:228)
            at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.invokeDe
    ploy(PluginPackageHotDeployListener.java:186)
            at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(H
    otDeployUtil.java:89)
            at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(Ho
    tDeployUtil.java:42)
            at com.liferay.portal.kernel.servlet.ThemeContextListener.contextInitial
    ized(ThemeContextListener.java:41)
            at org.apache.catalina.core.StandardContext.listenerStart(StandardContex
    t.java:3764)
            at org.apache.catalina.core.StandardContext.start(StandardContext.java:4
    216)
            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
    .java:760)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:74
    0)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
    a:926)
            at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
    ava:889)
            at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492
    )
            at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
            at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
    :311)
            at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
    eSupport.java:120)
            at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
            at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443
    )
            at org.apache.catalina.core.StandardService.start(StandardService.java:4
    48)
            at org.apache.catalina.core.StandardServer.start(StandardServer.java:700
    )
            at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
    16:46:53,127 ERROR [PluginPackageUtil:506] Error reindexing liferay/liferay-jedi
    -theme/5.0.1.1/war
    java.io.IOException: Unable to create a new writer
            at com.liferay.portal.lucene.IndexWriterFactory.getWriter(IndexWriterFac
    tory.java:209)
            at com.liferay.portal.lucene.LuceneUtil.getWriter(LuceneUtil.java:338)
            at com.liferay.portal.lucene.LuceneUtil.getWriter(LuceneUtil.java:332)
            at com.liferay.portal.plugin.PluginPackageIndexer.addPluginPackage(Plugi
    nPackageIndexer.java:76)
            at com.liferay.portal.plugin.PluginPackageIndexer.updatePluginPackage(Pl
    uginPackageIndexer.java:221)
            at com.liferay.portal.plugin.PluginPackageUtil._indexPluginPackage(Plugi
    nPackageUtil.java:494)
            at com.liferay.portal.plugin.PluginPackageUtil._registerInstalledPluginP
    ackage(PluginPackageUtil.java:1177)
            at com.liferay.portal.plugin.PluginPackageUtil.registerInstalledPluginPa
    ckage(PluginPackageUtil.java:228)
            at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.invokeDe
    ploy(PluginPackageHotDeployListener.java:186)
            at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(H
    otDeployUtil.java:89)
            at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(Ho
    tDeployUtil.java:42)
            at com.liferay.portal.kernel.servlet.ThemeContextListener.contextInitial
    ized(ThemeContextListener.java:41)
            at org.apache.catalina.core.StandardContext.listenerStart(StandardContex
    t.java:3764)
            at org.apache.catalina.core.StandardContext.start(StandardContext.java:4
    216)
            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
    .java:760)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:74
    0)
    一访问网站就循环报错.疯了,有没人有相应的5.0的开发经验,介绍下
      

  8.   

    删除目录下的这个文件C:\Documents and Settings\linpyi\liferay\lucene下的所有文件可以解决这个问题。可以到www.liferay.com官网找一些文档或者demo。
      

  9.   

    是解决这个问题的org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: Simple
    FSLock@C:\Documents and Settings\linpyi\liferay\lucene\0\write.lock
      

  10.   

    我找过,删掉可以解决,不过,好象没有解释为什么会这样,因为已经不止一次产生这个错误,删了又没问题我自己写了一个helloword,我新建一个web应用,里面写了liferay-display.xml,portlet-custom.xml,liferay-porlet.xml,web.xml
    自己写的放在liferay-tomcat的webapp下,没有反应,如果是把这些XML里面的内容,修改在原来的配置文件里面没有问题(D:\portal-server\tomcat\webapps\ROOT\WEB-INF),liferay可以认的到我写的
    我想问,怎么样才能直接放在webapp下就直接能调用的到,还需要写什么东西吗
      

  11.   

    web.xml <servlet>
    <servlet-name>HelloWorldPortlet</servlet-name>
    <servlet-class>
    com.liferay.portal.servlet.PortletServlet
    </servlet-class>
    <init-param>
    <param-name>portlet-class</param-name>
    <param-value>
    com.educhina.portal.HelloWorldPortlet
    </param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloWorldPortlet</servlet-name>
    <url-pattern>/HelloWorldPortlet/*</url-pattern>
    </servlet-mapping>
    <servlet>
    <servlet-name>HelloJSPPortlet</servlet-name>
    <servlet-class>
    com.liferay.portal.servlet.PortletServlet
    </servlet-class>
    <init-param>
    <param-name>portlet-class</param-name>
    <param-value>
    com.educhina.portal.HelloJSPPortlet
    </param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloJSPPortlet</servlet-name>
    <url-pattern>/HelloJSPPortlet/*</url-pattern>
    </servlet-mapping>
    我的web.xml没认到,是不是需要写个listener,不知道要监听什么类
      

  12.   

    我记得liferay的开发都是在ext扩展环境中进行的,需要添加release.{username}.properties配置文件。建议你看一看liferay官方的一些手册。虽然更新的很不及时。我记得以前有一些视频的教程,不知道现在有没有了。
      

  13.   

    上面的错误是要写一个listener
    3.6的和5.0的监听不一样
    5.0的,还需要在ext下拷贝portal-kernel.jar包到tomcat中
    <listener>
    <listener-class>com.liferay.portal.kernel.servlet.PortletContextListener</listener-class>
    </listener>
    3.6
    <listener>
    <listener-class>com.liferay.portal.servlet.PortletContextListener</listener-class>
    </listener>
      

  14.   

        <servlet>
            <servlet-name>HelloWorldPortlet</servlet-name>
            <servlet-class>
                com.liferay.portal.servlet.PortletServlet
            </servlet-class>
            <init-param>
                <param-name>portlet-class</param-name>
                <param-value>
                    com.educhina.portal.HelloWorldPortlet
                </param-value>
            </init-param>
            <load-on-startup>0</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>HelloWorldPortlet</servlet-name>
            <url-pattern>/HelloWorldPortlet/*</url-pattern>
        </servlet-mapping>
        <servlet>
            <servlet-name>HelloJSPPortlet</servlet-name>
            <servlet-class>
                com.liferay.portal.servlet.PortletServlet
            </servlet-class>
            <init-param>
                <param-name>portlet-class</param-name>
                <param-value>
                    com.educhina.portal.HelloJSPPortlet
                </param-value>
            </init-param>
            <load-on-startup>0</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>HelloJSPPortlet</servlet-name>
            <url-pattern>/HelloJSPPortlet/*</url-pattern>
        </servlet-mapping>