Architecture CMS通用体系结构

Architecture CMS通用体系结构,architecture,web-applications,content-management,Architecture,Web Applications,Content Management,我知道这是一个奇怪的问题,但我想知道是否有任何文档/博客文章解释了网站内容管理系统的架构?更具体地说,我有兴趣了解更多关于“小部件”是如何实现的 我不记得我看到的是哪个系统,但在“页面布局视图”中,它能够允许最终用户从列表中选择小部件(缩略图库、联系人表单等),并将其拖放到页面的自定义区域 我知道这不是一个直接的编程问题,但请允许我就此寻求建议/反馈 谢谢 CMS的体系结构(通常)可以说与任何其他类型的web应用程序没有什么不同;您会发现,对架构的最大影响将是功能性和非功能性需求:灵活性还是性能

我知道这是一个奇怪的问题,但我想知道是否有任何文档/博客文章解释了网站内容管理系统的架构?更具体地说,我有兴趣了解更多关于“小部件”是如何实现的

我不记得我看到的是哪个系统,但在“页面布局视图”中,它能够允许最终用户从列表中选择小部件(缩略图库、联系人表单等),并将其拖放到页面的自定义区域

我知道这不是一个直接的编程问题,但请允许我就此寻求建议/反馈


谢谢

CMS的体系结构(通常)可以说与任何其他类型的web应用程序没有什么不同;您会发现,对架构的最大影响将是功能性和非功能性需求:灵活性还是性能?本地安装还是托管?多租户与否?等等

这(包括图-)是我为我的CMS/web应用程序框架所做的:

  • 隔离不同的责任区域,以确保必要时的粘合性/隔离性
  • 通过干净的接口抽象出数据访问实现
  • 独立的内容、页面、页面布局和“皮肤”(外观)
  • 设计API时考虑到外部第三方的使用
  • 在我可以的地方重用现有功能(AntiXSS库、MS Ent Libs、用户/角色成员资格提供程序)
my framework的目标市场是在本地安装和运行,或者在共享主机环境(您无法完全控制平台)中的ISP上使用FTP


我首先追求灵活性(但试图将性能牢记在心);我不打算将其用作多租户系统。

我认为没有任何特定的CMS体系结构存在,有很多。您所谓的小部件可能类似于基于组件的视图层。其思想是使用可配置和重用的组件创建视图。这就是asp.net使用afaik的原因。另一方面,许多MVC框架不使用组件,因为MVC的本质是拥有更粗粒度的视图。web应用程序和GUI应用程序之间的差异可以很容易地发现并进行最佳比较。大多数MVC web应用程序使用某种模板引擎来创建视图,其中最多包含某种部分-模板嵌入。相比之下,GUI框架为您提供了“小部件”,这些部件是您可以组成视图层的组件。
组件的优点在于可重用性,但存在刚性和一些与后端的耦合(它们的行为)。

仔细想想,尽量记住更多细节。我知道其中一个是一个名为Yola()的免费网站生成器。好的,我逐渐意识到将小部件拖放到“布局区域”上在一个页面上,是通过ASP.NET中的Web部件来实现的。以前从未使用过它,但它与您可以使用iGoogle等个性化门户页面所做的类似。如果我在这里错了,请纠正我,因为我想了解更多。特别是关于将布局顺序保存到数据库、缓存,如果是这样的话,我已经可以直观地看到体系结构,但性能是我马上想到的一件事。你能为这个问题提供自己的见解吗?你问这个问题已经有一段时间了,我很想知道你从自己编写定制CMS的经验中学到的最重要的方面是什么?2015-16年间有没有其他材料可以学习CMS架构的基础知识?最好是PHP。非常感谢。