我真的是对Discuz!NT无语了。
当然,用和谐社会的观点,Discuz!NT也并不是那么一无是处。只是对于我的需求来说,就显得特别难以使用,
我承认,Discuz!NT做的特别人性化,特别是很多功能,还有出色的性能。这些都无可厚非,甚至最近的开源计划,让我更倍感高兴。原想着可以拿到源代码以后来一番大肆的修改。可是事实并不如我的所愿。
和大多数人对Discuz家族的第一印象一样,做的真的很傻瓜,还有用户手册都写得非常详尽,其实很多学习编程的朋友,老是IIS配置不对,如果你配置一遍Discuz!NT,以后在配置别的程序就会好很多。还有他的数据库安装,都令我兴奋不已。
刚一开始的时候,就预想到了。这么方便就能用上,那么在修改上面,肯定要花大力气的。
当然之前,我一直在看Live ID,而且之前对身份认证更多的是理论性的研究,我并没有对Discuz!NT的开源代码做过多的分析,只知道他有很多类库,调用了多的JS文件,来让页面显示地更加顺畅。
今天下午,我满怀信心地开始对Discuz!NT的源代码进行修改!
Oh!No
Discuz!NT简直不是我想象中的那样!如果有兴趣的朋友,如果看一下源代码就能认同我的观点。我不能说整个结构有多么精密,但十分紧密。而且更让我想不到的是,这个论坛真的是动态论坛。
如果说动态语言技术是使用动态语言来调用数据库,那么Discuz!NT可是连自己都给动态化了。
大家可以打开文件里面的aspx文件夹的1目录下,看一下,任意一个aspx文件,打开以后,你会看到一个大大的服务器端控件,然后就是里面的代码了!
没错,这些就是Discuz!NT的页面,所有的页面,直接在服务器端生成,甚至都跳过了.NET framework的编译。
这个服务器端控件里面还加载了大量的类库的类、接口,还有脚本文件。
我看到这一部分以后,真的是彻底懵了!
以下附上他的下载地址:
产品:
http://download.comsenz.com/DiscuzNT/2.6/dnt_26_n2.zip(19日2.6beta版本)
源代码:
http://download.comsenz.com/DiscuzNT/src/dnt25_n2_src.zip(2.5正式版)
其他相关下载:
http://www.comsenz.com/events/discuznt/opensource.html
不过,我一开始并没有死心。我仍然觉得只要配置好config文件,一样可以让他运行起来,而且我要做的知识对login来一个比较简单的修改。因为我要集成Live ID。可是,我又发现了另外一个问题。
就是开放的那个源代码是Discuz!NT产品的源代码!
我这里说的是产品,就是说。公开的并不是以一个论坛的形式公开的,他是一个产品,就是说他发布了以后,就还是要按照原来的安装程式进行安装。那么,如果一旦有地方改的不适合,就需要在对安装过程进行修改。
以前,我还认为,install只不过是改一下数据库连接字符串。然后我把Discuz!NT的可运行论坛,重新安装了一下,然后观察了一下那些文件受改动了,然后重新把另外一个新的可运行论坛放到了IIS里面,再把改动的文件放进去,效果可想而知,直接被秒杀了!
也就是说,要改,还必须要对整个Discuz!NT产品进行修改,那么他的安装过程,要么想办法适应它,要么就得全盘修改!噩梦啊!
说实话,Discuz!NT是个很优秀的产品,可是他的代码,还有他的结构真的是很不适合进行纵向的扩展,特别是在整合的时候。我是开放了源代码了,可是你只能把我弄进来,但是不能修改我。
我相信,其实可以有更好的办法,来进行编程,让整个代码变得更加爱适合阅读和修改。但为什么要这么做呢!
因为这是我公司的产品。论坛毕竟还属于简单的产品,如果直接就能让你改个面目全非,我还有什么意义呢?
这让我怎么修改啊!
如果你是个老手,一定没问题。但.NET平台讲究的就是一个开发效率,别的时还没干呢!Discuz!NT,就得给你伺候个半天。这让人郁闷的啊!
但是,问题总有解决的办法。如果用aspnetforum ,就得跟那么多好的功能说再见,而且到时候缓存都还得自己来写。不得不说Discuz!NT的速度还真的是非常不错。
我之前也看过aspnetforum的源代码,比起Discuz!NT来说,简明多了,之前我的犹豫是他的本地化工作,如果我用了他,那么在汉化上就得花上不少的时间!这是纯纯的体力活。
而Discuz!NT就不存在这样的问题了。
我还是在想办法,能不能尽量直接用Discuz!NT。你不是类库多吗,好,那我也写一个类库吧,然后在想办法,给你加进去!我不知道这样可不可行,我只能说试一试,如果还是行不通,我估计我只能老老实实地去汉化工作了!
