我需要一些帮助来确定为我的最新项目使用 CMS 或门户解决方案是否是个好主意,该项目(当前)是一个必须为多个客户(作为公司或其他一些实体)提供服务的 ASP.NET MVC 应用程序用户列表)从单个安装(即SaaS解决方案)。
除了包括文档管理/发布在内的核心功能之外,我还需要提供基本的社交功能(例如博客、论坛、图库、投票等)。然而,内容必须只对其所属的客户可见,而我对一堆 CMS 和门户解决方案的评估并没有说明它们是否支持这一点。他们非常关注单用户安装,关于如何与现有 MVC 解决方案集成的文档非常少。
本质上,我正在寻找一些指导来帮助我放弃死胡同(产品不符合要求、施加太多限制、不成熟等),并在项目走得太远之前找到未探索的选项。
我对架构的要求包括:
- 多站点支持(使用单个域进行托管)
- 客户之间内容的水密分离
- 跨组件/功能的完全集成
- SSO(单点登录)
- 单站体验(共享页眉/页脚、统一导航、统一标签等)
- 易于开发和部署
- 自定义逻辑将使用 C# 和 ASP.NET MVC 编写,任何产品都应支持这一点
- 我想保持控制
- 解决方案应该提供功能,但不妨碍(例如,不要强迫我使用愚蠢的习语,比如坚持主键的 GUID)
- 活跃的开发社区
- 没有一个人的努力
- 最近的源代码控制活动
- 合理的文档水平和成熟度
- 不必是开源的
我花了相当多的时间评估产品和组件,我将在这里简要分享:
- 乌姆布拉科
- 不支持 ASP.NET MVC(但是,因为有人必须另外评论)
- 强大的社区支持,积极发展
- 似乎需要做很多工作才能开始
- 咕咕
- 没有源活动(近两个月没有更新)
- GPL 许可?(需要允许闭源应用程序的东西)
- N2CMS
- 部分 ASP.NET MVC 支持
- 每个客户都必须有一个单独的域
- 有限的源活动(不死但也不活跃)
- 果园
- 微软赞助(这意味着它可能过度架构、代码臃肿且速度缓慢,尽管它确实有一些知名且受人尊敬的贡献者/领导者)
- 使用 ASP.NET MVC 构建
- 看起来很有希望的功能(但在这个阶段不太可能稳定)
- 原子站点
- 感觉相当成熟并且有不错的文档,尽管有漏洞
- 使用 ASP.NET MVC 构建
- 有限的源代码活动,单一开发者
- 魔力门户
- 看起来不错的门户,但可能需要将自定义逻辑构建为产品周围的模块(我希望尽可能避免这种锁定)
- DotNetNuke (DNN)、CommunityServer和Microsoft Office SharePoint Server (MOSS)
- 绝对不是我的那杯茶;)
- 博客引擎.NET
- 成熟且功能齐全
- 没有 ASP.NET MVC 支持
- 集成是可能的,但并非没有大量的 Web.config voodoo
- 不确定它是否支持客户分离
鉴于上面的列表,我倾向于 AtomSite、N2CMS、Orchard 或 BlogEngine.NET。如果我选择后者,我将使用 jitbit AspNetForum,它非常适合我的需求。
我可能更喜欢使用自定义的 ASP.NET MVC 解决方案和单独的组件,因为这可能会给我最大的控制权,但另一方面,它会使网站主题化和集成更加困难。您尝试过哪些组合,哪些效果很好,哪些效果不佳?我在评估中遗漏了什么重要的东西?还有其他相关建议吗?
如果答案不仅仅是对您最喜欢的产品或做事方式的认可,而是根据上述要求帮助我选择或消除候选解决方案的内容,我将不胜感激。