Potal开发的一点想法

到新公司后,很长一段时间在做Sharepoint方面的东西。其实做得并不多,大多数时间在“学习”,真正做起东西来困难重重,基本上没有做出点什么来。
最近公司在做一个EIP项目,使用MOSS来开发的,主要应用WCM来做。具体上感觉WCM的功能不是很强,而且它的管理模式有点不太符合习惯。但Content Type以及Content Type的继承,的确有独到之处。

想一下现有的一些CMS,想自己做一个类似这方面的东东。写了几句又不想写了。sigh~~
列几点想法:
1.模板化(template)。现在的CMS/BLOG/BBS很多都支持模板化了。
WCM使用一套类似SharepointWebControls:DateTime ... 的web控件来做的,根据不同的数据类型呈现不同的表现方式。
加上SPD(Sharepoint Designer)用起来是比较方便的。但感觉灵活性还不够。
而比较常用的List方面的功能,使用Content Query Webpart来做。似乎灵活性方面不错,可以用XSLT来做,但觉得有点麻烦。

我接触过的模板方面的东西:
(1)JFCMS的模板功能,有一套类似绑定的自定义标签,感觉比较容易使用。
(2)Discuz NT(DNT)的模板功能,功能特别强大,但似乎使用有点麻烦,有次为了改一个模板,差点崩溃掉。
(3)之前在myyidian工作的时候,跟技术经理一起写过一个简单的模板(大量的Replace而已),可以用表单来生成模板结果。
但表单功能其实价值不大。

使用特点上来说,感觉DNT的功能最强(DNT的模板功能会自动生成前台服务器端代码,然后全部Response.Write来输出),最强大的特点,是可以根据条件来输出!可以写
if (ReviewCount>0)
共{ReviewCount}评论。
else
暂无评论。
endif
这样的句子出来(记不清写法了,使用上是这个样子的)。其它还不知有没有这样的系统可用。

2.扩展性
MOSS提供的FieldType, SiteColumn, ContentType这些东东,都有很强的扩展性。只要符合标准,就可以扩展出很多相应的东西来。有很多地方感觉很“重用”。
但感觉开发上还是有一些复杂的,尤其是调试与部署,相当花时间。每iisreset一次,就需要几乎1分钟的等待才能看到结果了。

而其它的CMS等,还没有看到这样字段可任意扩展的情况。
当然,任意扩展的代价估计也是很高的:
(1)存储很多冗余数据
(2)很多FieldControl的表现定死了,不容易再修改。而且输出的冗余HTML标签太多。如果FieldControl也支持模板就好了(但复杂度又会再增加)。
(3)可能会速度变慢。

3.UI的调整
很多系统的FieldControl,要调整UI太困难了(或许我没有找对方法?),比如Person控件,DateTime控件,HTML编辑控件……
而现在的系统,都会对UI要求比较高,尤其是Web2.0站点。生成的很多多余HTML也会生成很多麻烦。
之前使用Webpart时,一定会生成相应的






















不知所云……也找不到人来一起讨论……

标签,还有内部定义的很多多余的CSS样式。。。overwrite起来都会比较复杂。不知下一版本会不会对w3c的支持更好一些(老是期待下一版本,会被牵着鼻子走的)。4.还有很多东西值得一说,感觉MOSS在UI上允许更多定制是很必要的。估计是我对UI要求比较多一些,虽然现在已经“看得惯”默认的MOSS UI了,但还是觉得不像是定制开发的软件……5.价格不得不说,我现在很担心这些产品的价格问题。在网上搜索了一篇文章看了下:Moss Server:$4424, Client:$94再加上Windows Server, SQL Server 2005, Exchange Server...(没有搜索更多内容,这边有篇文章说价格的 http://bbs.winos.cn/thread-23636-1-1.html)小企业是根本不敢用的吧?那个Client授权费用,几百人的公司会很高吧。不知有没有谁计算过一整套方案下来需要多少RMB。最后,感觉做MOSS的东西很麻烦很累啊,越来越喜欢Web2.0。我现在越来越喜欢简洁,优雅的,自由的,Free的……实现同样的东西:WCM -> 模板化更强一些的CMS,估计有些产品系统也有自定义字段的功能Document Managment -> 带版本的估计SVN?调用这方面的东东来管理?WebPart -> 感觉除了炫以外,实用价值不太高。而且现在像Google, Yahoo都有类似的东东在跑,比Webpart会简洁一些。而且我觉得毕竟平时使用的时候,定制化情况很少,开始可以定制化一下,之后就不会再作更多修改了。MOSS还有太多的东东,靠整合一些东东来实现这些功能,估计还是比较复杂的。之后再具体看每一项有些什么替代实现方案。(为什么要去实现一样的功能呢?应该按需求来整合啊?但自己分析不了那么多需求,Microsoft肯定分析了不少吧?)ps:如果真要做什么东西,时间是相当的不够用啊。

你可能感兴趣的:(开发)