我选择开源portal的标准:
(1). 支持JSR168
(2). 支持WAP
(3). 容易入门(不能没有文档, 也不能有文档但是都是垃圾)。
比较著名的开源portal要数Liferay和JetSpeed 2,这两个都是功能非常强大的Portal, 其他比较引人关注的还有Pluto, 不过,这个portal太过简单,只能用来平常的测试开发,要用于真正的项目恐怕不行,因为对apache比较有感情,所以我第一个尝试的目标就是JetSpeed2, 它有一大串features, 不过对我来说最重要的是他的JSR168 compliant和对wap的支持,但是当我开始JetSpeed 2的tutorial的时候,我发现我根本没有办法入门, 它的文档那个叫烂阿!!先是这个tutorial在不告诉我到哪里下载resources.zip的情况下就让我打开resources文件夹。。。,为了这个我郁闷的几天,后来在他的maillist里面知道了resource.zip在哪里下了,但是当我尝试创建一个新的项目的时候,它又给我报错了,说某个文件无法下载,我用ie去下载,果然没法下载,根本就没这个文件。唉,让我无法入门阿,我还发现它所谓的对wap的支持只是一句话,我没有在他的文档里面找到任何有关wap portlet开发的指导,于是我放弃。
接着我试了试liferay, 他的文档比jetspeed2写的要好不少,但是在我运行它的struts portlet的第三个例子的时候,liferay还是让我失望了,报错了, 我不想找错,而且我发现liferay也没怎么提到有关wap portlet的开发。失望啊。
于是我在那个开源portal的列表里面一个一个的找,一个一个的试,剩下的这些明显比Liferay和JetSpeed2还要差很多,不支持wap, 有的甚至不支持JSR168!如JPortlet。
最后发现只有一个没有看了:StringBeans,之所以没看,是因为我怎么也无法把它和Portal联系在一起,但是一试发现这真是个好东西!支持JSR168,支持wap,没有tutorial, 但是他的帮助文档是如此的好以至于我觉的没有tuorial也没什么。比JetSpeed2那个tutorial乱tutor要好得多,我发现我能在StringBeans的帮助文档里面找到大部分我想知道的东西。推荐大家使用StringBeans!!!!
下面是一位外国仁兄的blog,它和我有一样的观点,大家不妨一看:
(http://www.telio.be/blog/)
Hi all,
For one of our customers, we had to recommend and prototype a portal engine. For those of you who know me a little, I use the now famous (at telio at least) “10 minute” test.
Here is how it goes :
Phase 1
- Cross read the application’s, utility’s, tool’s website and get a first impression
- Download a binary package
- Install the binary package
- Run/test the application
Assuming the first phase went well (which should probably eliminate 75% or your initial list), proceed to phase 2 :
Phase 2
- Download the source package
- Build the source package
- Install the source package
- Run/test the application
If you reached point 4 of phase 2, you’ve got a winner
In my portal engine research, I started off with Liferay, StringBeans, Exo, Jetspeed 2.
Jetspeed 2 was eliminated at step 1.1 (don’t ask me why exactly, it’s purely subjective), Exo failed at step 1.2, Liferay at step 1.3 (issues with tomcat 5 or something like that .. ), the winner was StringBeans.
So let’s go on to phase 2 with StringBeans. Download the source, unpack, “ant” (they don’t use maven, which is a good sign ..
Now how about the features I was looking for :
- JSR 168 compliant (not only on paper)
- easy customization of portal look and feel
- ability to plugin NTLM authentication
- Understandable source code and architecture
In less than one day, I had all requirements met and especially the last one. The source code is clear and simple.
For all of you looking for a nice portal implementation, try it out at http://www.nabh.com/projects/sbportal