1. 首次深入Orchard应了解的基本知识: 用户的角色
查看的文章来自: http://www.orchardch.com/Blog/20120503063810
用户: normal user(reader/visitor/guest)
管理员: administrator 所有管理权限
设计人员: designer 可以修改网站的外观
主题文件 布局layout和区域zone
视图.cshtml
样式表: js/media/css
部件 widgets
区域中还有层,层中可以指定放哪些内容或部件
开发人员: developer 理解Orchard架构并能扩展它
主题Theme:
布局Layout
区域Zone: 层和内容,内容可以是部件
模块Module
扩展模块: 指大的功能性模块
主题模块: 指外观呈现模块
内容模块: 某个内容类型所需要的东西
部件模块: Widget 内容模块里一些小的可视内容
内容Content: 网站前端显示的数据
内容类型与内容项:
内容类型就是类,内容项则是内容类型的一个实例
内容元件: 可以内容类型中共享的元件
一个内容类型中只能存在同一个内容元件
内容字段: 更小的内容类型
记录Record: 保存内容类型/元件/字段至到数据库的记录
总结:
页面: 主题Theme(主题模块) --> 布局Layout --> 区域Zone --> 层 --> 内容
内容:
内容类型(内容模块) --> 内容元件/内容字段 --> 记录Record --> DB
内容项
部件模块Widget
2. Orchard是如何运行的: Orchard机制
http://www.orchardch.com/Blog/20120503090054
CMS: 必须建立一流的可扩展性功能,必需是一个非常开放式的构架
2.1. Orchard构架(直接运行Orchard.Web)
最顶上是Theme主题(也是扩展模块)
A. Modules
主要是Modules文件夹下的内容(是否是指扩展模块 ????? )
B. Core
主要是Core文件夹下的内容,以及Orchard.Core.dll
是否是指Orchard的核心模块——必须模块(如:主题模块/内容模块/部件模块等) ?????
C. Orchard Framework
主要是 Orchard.Framework.dll(命名空间不含Framework)
Orchard Framework是Orchard的最底层,它包含了应用程序引擎和至少不能被分离成模块的部分。
这些都是必须的东西,甚至最基本的模块也不得不依赖它,可以将它理解为Orchard最底层的类库。
D. ASP.NET MVC/NHibernate/Autofac/Castle
MVC关注分离
Nhibernate关注ORM
Autofac关注IoC依赖注入
Castle动态产生代理
Orchard程序和框架在这些框架的基础上构建额外的抽象层( Orchard.Framwork ????? ),
根据Orchard的开发指南,对于Nhibernate,Castle,Autofac,
有许多方式实现细节我们并不需要了解。
E. .NET ASP.NET
F. IIS or Windows Azure
Orchard.Web中会动态编译以下三个文件夹,这三个文件夹中含有源码
Themes/
Modules/