DotNetNuke作为一个网站搭建的利器,已经为广大程序员和开发人员所喜爱,它的开发结构非常严谨,因此,理论上可以在之上做非常非常强大的功能扩展,所以,DotNetNuke绝不仅仅是一个“网站搭建平台”那么简单,它的结构使我们可以以之为基础,从而在上面开发更加丰富的模块——我们知道,随着网络的发展越来越蓬勃,自己开发一个平台性的框架,已经越来越没办法满足日益扩展的需要,例如:和PayPal接口、和其他的认证机制如OpenID衔接、以及诸多不同的业务需要等等,如果这些从底层到表层的功能,全部都由我们自己来开发的话,那么,所耗费的时间是非常非常惊人的,既然如此,为什么不借助于现有的平台在其上进行扩展呢?如果这样的话,我们就可以轻而易举的“享用”更多人的成果,这就是开源的本质,也是DotNetNuke所为人倾倒之处。
但是,需要说明的是,DotNetNuke始终是外国人(主要是美国人)开发的产品,所以,其必然有其局限性,我所不喜欢的DotNetNuke特性主要有以下几点:
- 所有的内容都是基于当前窗口打开:这个对于国人来说,是相当难以接受的,因为我们习惯的是上网,然后打开无数个网页,看完一个关掉一个。为什么DotNetNuke只有一个页面Default.aspx嵌套所有的模块(ascx)是允许的呢?我想这是和美国人的上网习惯有关,比如我们访问cnn.com或者其他的国外站点,很少有像我们国内的门户网站,以新窗口打开的,而往往是在当前的窗口,直接转到内容,看完之后,再点击其他的链接。从这一点上来说,老外可以说是“专注型”的,而我们国人则可以说是“发散型”的。我想,最根本的原因可能是由于互联网诞生之初,美国的网页反应速度远远快于我们国内,所以不需要多个窗口;而由于当时我们的网页反应速度实在太慢,所以需要点击多个窗口,同时打开,然后再逐个浏览,以便于节约上网时间。这样的习惯,注定了以后的网站模式。 我经常犯的一个错误就是,看完一个DotNetNuke的站点之后,随手按下CTRL+W,然后——结果整个网站都给关掉了,只好不得不重新打开浏览器,重新输入网址,然后告诉自己:不要关闭网页,从这个例子上来说,DotNetNuke是在强迫让我改掉我的阅读习惯。所以,基于此,我们做了这个模块,可以使所有的内容都在新窗口中进行显示,应该说,更符合国人的习惯。(当然,DotNetNuke也有新窗口显示,但是,是携带了所有的主界面菜单和内容,不信,大家可以在打开一个DotNetNuke内部链接的时候,按下CTRL键,和本站的新闻模块对比一下效果就可以知道,如果在DotNetNuke的“新窗口”中进行打印的话,将会打印出网站的主菜单、LOGO等。)
- 多数模块是直接内容显示,而不是链接——内容模式:这个可能也是和我们的习惯有关,我们较为习惯的是看到一个Link,然后Click,然后再到内容。而DotNetNuke的很多模块,是只有内容,而没有列表的。
好了,先说这么多,以后我们再详细的对DotNetNuke进行分析。