我需要一些帮助来确定对我的最新项目使用 CMS 或门户解决方案是否是个好主意,该项目(当前)是一个 ASP.NET MVC 应用程序,必须为多个客户(公司或其他实体)提供服务包含用户列表)通过单一安装(即 SaaS 解决方案)。
除了核心功能(包括文档管理/发布)之外,我还需要提供基本的社交功能(例如博客、论坛、图库、投票等)。然而,内容必须只对其所属的客户可见,而我对大量 CMS 和门户解决方案的评估并没有说明它们是否支持这一点。他们非常关注单用户安装,并且有关如何与现有 MVC 解决方案集成的文档非常薄弱。
本质上,我正在寻找一些指导来帮助我放弃死胡同选项(产品不满足要求、施加太多限制、不成熟等),并在项目进展太快之前找到未探索的选项。
我对架构的要求包括:
- 多站点支持(使用单个域进行托管)
- 跨组件/功能的完全集成
- SSO(单点登录)
- 单站点体验(共享页眉/页脚、统一导航、统一标签等)
- 易于开发和部署
- 自定义逻辑将使用 C# 和 ASP.NET MVC 编写,任何产品都应支持此功能
- 我想保持控制
- 解决方案应提供功能,但应避免妨碍(例如,不要强迫我使用愚蠢的习惯用法,例如坚持使用 GUID 作为主键)
- 活跃的开发社区
- 没有一个人的努力
- 最近的源代码控制活动
- 合理的文档水平和成熟度
- 不一定是开源的
我花了相当多的时间评估产品和组件,我将在这里简要分享:
- Umbraco
- 不支持 ASP.NET MVC(但有人肯定会发表评论)
- 强大的社区支持,积极的开发
- 似乎需要做很多工作才能开始
- Kooboo
- 没有来源活动(近两个月没有更新)
- GPL 许可吗? (需要允许闭源应用程序的东西)
- N2CMS
- 部分 ASP.NET MVC 支持
- 每个客户都必须有一个单独的域
- 来源活动有限(没有死气沉沉,但也没有活力)
- 果园
- 由 Microsoft 赞助(这意味着它可能架构过度、代码臃肿且速度缓慢,尽管它确实有一些知名且受人尊敬的贡献者/领导者)
- 使用 ASP.NET MVC 构建
- 在功能方面看起来很有前途(但现阶段不太可能稳定)
- AtomSite
- 感觉相当成熟,并且有不错的文档,尽管有漏洞
- 使用 ASP.NET MVC 构建
- 来源活动有限,单一开发人员
- MojoPortal
- 对于门户网站来说看起来不错,但可能需要将自定义逻辑构建为围绕产品的模块(我希望尽可能避免这种锁定)
- DotNetNuke (DNN),社区服务器 和 Microsoft Office SharePoint Server (MOSS)
- BlogEngine.NET
- 成熟且功能齐全
- 不支持 ASP.NET MVC
- 可以集成,但需要大量的 Web.config 巫术
- 不确定是否支持客户分离
鉴于上面的列表,我倾向于 AtomSite、N2CMS、Orchard 或 BlogEngine。网。如果我选择后者,我将使用 jitbit AspNetForum,它非常适合我的需求。
我可能更喜欢使用自定义 ASP.NET MVC 解决方案和单独的组件,因为这可能会给我最大程度的控制权,但另一方面,它会让网站主题设计和集成变得更加困难。您尝试过哪些组合,哪些有效,哪些无效?我在评估中遗漏了什么重要的东西吗?还有其他相关建议吗?
如果答案不仅仅是对您最喜欢的产品或做事方式的认可,而是能够帮助我根据上述要求选择或消除候选解决方案,我将不胜感激。
I need some help figuring out whether it'd be a good idea to use a CMS or portal solution for my latest project, which is (currently) an ASP.NET MVC application that must serve multiple customers (being a company or some other entity with a list of users) from a single installation (that is, a SaaS solution).
In addition to the core functionality, which includes document management/publishing, I also need to provide basic social features (such as blog, forum, gallery, polls, etc.). However, it is imperative that content is only visible for the customer to which it belongs, and my evaluation of a bunch of CMS and portal solutions has shed little light on whether they support this. They're pretty focused on single-user installations, and documentation on how to integrate with an existing MVC solution is pretty thin.
Essentially I'm looking for some guidance to help me discard dead-end options (the product does not meet requirements, imposes too many restrictions, is not mature, etc.) and find unexplored options before getting too far ahead with the project.
My requirements for the architecture include:
- Multi-site support (using a single domain for hosting)
- Watertight separation of content between customers
- Full integration across components/features
- SSO (single-sign-on)
- Single-site experience (shared header/footer, unified navigation, unified tags, etc.)
- Ease of development and deployment
- Custom logic will be written using C# and ASP.NET MVC and any products should support this
- I want to stay in control
- Solution should offer features but otherwise stay out of the way (for example, not force stupid idioms on me, like insisting on GUIDs for primary keys)
- Active development community
- No single-man efforts
- Recent source control activity
- Reasonable levels of documentation and maturity
- Does not have to be open source
I have spent a fair amount of time evaluating products and components, which I'll briefly share here:
- Umbraco
- Does not support ASP.NET MVC (yet, as someone is bound to otherwise comment)
- Great community support, active development
- Seems to be lots of work to get started
- Kooboo
- No source activity (no updates for almost two months)
- GPL licensed? (need something that allows for closed source applications)
- N2CMS
- Partial ASP.NET MVC support
- Every customer must have a separate domain
- Limited source activity (not dead but not vibrant either)
- Orchard
- Microsoft-sponsored (which means it's likely to be over-architected, code-bloated and slow, although it does have some well known and respected contributors/leads)
- Built using ASP.NET MVC
- Looks promising feature-wise (but is unlikely to be stable at this stage)
- AtomSite
- Feels reasonably mature and has decent documentation, albeit with holes
- Built using ASP.NET MVC
- Limited source activity, single developer
- MojoPortal
- Looks good for a portal, but probably requires custom logic to be built as modules around the product (I was hoping to avoid that kind of lock-in if possible)
- DotNetNuke (DNN), CommunityServer and Microsoft Office SharePoint Server (MOSS)
- Definitely not my cup of tea ;)
- BlogEngine.NET
- Mature and feature-complete
- No ASP.NET MVC support
- Integration possible but not without lots of Web.config voodoo
- Not sure if it supports customer separation
Given the list above I'm leaning towards AtomSite, N2CMS, Orchard or BlogEngine.NET. If I go with the latter I'll be using jitbit AspNetForum, which is a great match for my needs.
I'd probably prefer to use a custom ASP.NET MVC solution and individual components as this is likely to give me the greatest amount of control, but on the other hand, it'll make site theming and integration harder. What combinations have you tried, what worked well and what didn't? Anything important I'm leaving out of my evaluation? Any other relevant advice?
I'd appreciate it if the answers were not simply endorsements of your favorite product or way of doing things, but something that would help me choose or eliminate solution candidates given the requirements outlined above.
发布评论
评论(5)
根据您指定的要求级别,我个人将不得不倾向于自定义方法。您可以聘请某人为您设计(查看)网站部分,也可以从网站设计师那里从互联网上购买主题并根据您的喜好进行自定义。 (有时只需从某个地方开始就足以进行中级定制)。
多站点支持(使用单个域进行托管)
客户之间内容的无懈可击的分离
跨组件/功能/SSO(单点登录)/单站点体验(共享页眉/页脚、统一导航、统一标签等)的完全集成
我想保持控制
嗯,这是我的 2 美分。您所描述的项目不是一项小工作,即使您使用预先构建的解决方案(主要是对其进行修改以按照您想要的方式工作),您也会面临大量的工作。我想您最大的障碍是 SSO 和 SSO。预先完成的解决方案的安全性。并不是说这是不可能的,只是很棘手,而且最终结果可能并不正是您想要的。
另外,请查看 OpenID,它可能是将所有站点链接在一起的最佳解决方案,并且大多数预构建系统都可以很容易移植使用它。
With the level of requirements you've specified, I'm personally going to have to lean towards the custom approach. You can hire someone to do the design (view) portion of the site for you, or you can buy a theme off the internet from site designers and customize it to your liking. (Sometimes just having somewhere to start is enough for intermediate level customization).
Multi-site support (using a single domain for hosting)
Watertight separation of content between customers
Full integration across components/features / SSO (single-sign-on) /Single-site experience (shared header/footer, unified navigation, unified tags, etc.)
I want to stay in control
Well, that's my 2cents. The project you've described is no small job, you're looking at a considerable amount of work even if you go with a pre-built solution (mainly hacking it to work the way you want). I imagine your biggest hangups would be SSO & Security for the pre-done solutions. Not to say it's impossible, just tricky and the end result may not be exactly what you're looking for.
Also, look into OpenID, it may be the best solution for linking all your sites together and most pre-built systems can easily be ported to use it.
再看看 MojoPortal。 CMS 很棒,主要开发人员 Joe Audette 反应非常灵敏。我安装了多个 CMS,运行单个站点和多个站点。
Take another look at MojoPortal. The CMS is awesome and the main developer , Joe Audette, is very responsive. I'm have several installations of the CMS running single and multiple sites.
我倾向于基于 CMS 的解决方案。拥有经过测试和生产就绪的软件不仅可以缩短开发时间,还有助于持续升级和减少错误数量。
如果您沿着这条路线走下去,您可能还需要考虑 Sitefinity。它不仅支持您所需的所有功能,而且基于 .NET 构建并支持 MVC 开发。该产品由 UX 工具制造商 Telerik 打造。
免责声明:我受雇于 Telerik。
I would lean towards a CMS based solution. Having a tested and production ready software not only reduces the development time but also helps in continuous upgrade and reduced bug count.
If you go down this route, you may want to also consider Sitefinity. Not only does it support all the features required by you, but also is built on .NET and supports MVC development. The product is built by Telerik, the makers of UX tools.
Disclaimer: I am employed by Telerik.
我最近遇到了 phpFox 这是一个社交网络/论坛/社区网站 CMS。这可能对您有用并且相当便宜。
I've recently come across phpFox which is a social networking/forums/community site CMS. This may be of use to you and is fairly inexpensive.
我们公司网站的解决方案已成为EBIZ CMS:功能齐全的网站,包括社交网络、在线商店、具有演示文稿、论坛、创建 HTML 页面等等,包括专业技术支持的维护,因此我们甚至不需要程序员帮助安装,而且只需 9 美元/月!
The solution for the site of our company has become EBIZ CMS: full-featured site that includes social networking, online store, features a presentation, a forum, create HTML pages and much more, including the maintenance of professional technical support, so we do not even need help for installing by a programmer, and it is only US$ 9/month!