我已经花了几个小时为我的一个客户的新业务研究了一些 CMS 解决方案……最后,我考虑了这两个:DotNetNuke和Composite C1。
我知道所有这些都有很多特性,很多功能等。
我想知道的:
是否有任何与这两者一起工作过的.NET 人员?(如果是,您能否分享您的意见 - 优点和缺点?)
如果由于某种原因我确实需要添加一些新的 ASP.NET 代码(用于一些自定义的东西),这两个中哪一个更适合这个?
我已经花了几个小时为我的一个客户的新业务研究了一些 CMS 解决方案……最后,我考虑了这两个:DotNetNuke和Composite C1。
我知道所有这些都有很多特性,很多功能等。
我想知道的:
是否有任何与这两者一起工作过的.NET 人员?(如果是,您能否分享您的意见 - 优点和缺点?)
如果由于某种原因我确实需要添加一些新的 ASP.NET 代码(用于一些自定义的东西),这两个中哪一个更适合这个?
您绝对应该选择 Composite C1。我已经使用 DotNetNuke 很多年了,由于它的局限性而感到非常沮丧。
下面我总结了我认为两种 CMS 产品最好/最差的操作(注意:我建立 DNN 站点已经两年了,所以我不知道是否有任何改进):
DNN 的优点
DNN 的缺点
C1 的优点
C1 的缺点
底线;Composite C1 比 DotNetNuke 好得多。特别是如果您想添加自定义代码/功能。如果你想要比 Composite C1 更多的功能和更成熟的 CMS,你应该看看 Umbraco。它和 C1 一样是开源的,当然是由伟大的丹麦人开发的;)
我在 DotNetNuke 方面有相当多年的经验。
不惜一切代价避免它。我是认真的。
编辑:因为有人问我这个大胆声明的原因,我会尽力提供。
我工作的公司在 DNN 上有大约 300 个客户。其中许多是相当大的公司。我对 DNN 有很多经验。
首先,DNN 充满了错误。永远无法修复的错误。相反,DNN 背后的人似乎更关心引入新功能而不是提供稳定性。我已经亲自向他们的跟踪器提交了大量的错误报告。固定了多少?几乎为零。在大多数情况下,我什至花时间提供补丁!无济于事。当他们切换到 C# 时,他们只是简单地关闭了大多数未解决的问题,因为他们的懒惰开始咬他们的屁股。“为了更好地管理和评估要修复的问题,在 2011 年 1 月 1 日之前没有记录任何活动的任何问题都将自动关闭。”(见此处)
这些年我被很多虫子咬过。这是一次相当令人沮丧和不满意的经历。
其次,新功能通常是有问题的和有缺陷的。DNNCorp 还经常认为这些新功能并不那么重要,并随后放弃它们以获取新功能。例如,当您设置多个门户并尝试使用系统范围的词汇表时,他们的分类模块会出现一些严重的问题。据我所知,这还没有解决。他们的 MetaData / ContentItem / ContentType API 长期以来一直存在一些严重的问题,并且可能仍然存在。它甚至没有真正用于任何事情,即使它可以缓解我稍后描述的一些问题(架构)。
第三,他们的文档很烂。
更重要的是,我认为 DNN 的架构相当过时。它承载了很多旧行李。他们的标签/模块方法使得创建结构化内容和在内容项之间建立关系变得非常困难。一旦您尝试创建复杂的网站,它就会一蹶不振。不仅从程序员的角度来看,而且从内容管理员的角度来看。
总体印象是,这些人a)不是很好的程序员,b)不知道他们在做什么。
我曾使用过这两个 CMS 系统(以及许多其他系统),我建议您使用 Composite C1。
根据我的经验,在 Composite C1 中学习起来更容易,效率也更高。用户界面要好得多(更漂亮,更容易理解)。他们的网站上有很多很好的资源。在我的 POV 中,Composite 最强大的功能是您不必担心数据层 - 您只需将数据类型创建为类或在 GUI 中,“ORM”就可以完成整个事情。也就是说,如果您甚至需要数据类型(如果它是一个简单的网站,则不需要更改)。
它们都是免费和开源的。DotNetNuke 有更多的模块可以从第三方开发者那里购买,但是 Composite C1 仍然有很多你需要的东西。
仅仅因为整个“ORM”概念,在 Composite 中开发新模块就更容易了。
当我将这些与系统进行比较时,我能想到的唯一缺点是外联网功能(登录非管理员的用户)内置于 DotNetNuke。这是您必须从 Composite 购买或自行开发的模块。
Composite C1 是定制功能和高度灵活性的最佳选择。我已经使用它几个星期了,我的网站最终将因此而启动并运行。学习曲线短(就我自己而言),但仍然非常健壮和灵活。喜欢它,因为您可以将 Razor 与它一起使用。
DotNetNuke 仍在使用 WebForms,尽管它拥有庞大的用户群,但它有些过时了。