Orchard基本概念
一般的CMS概念
- 
Content
 CMS系统中的内容.如一篇博文、一条评论、一个产品、导航菜单或logo等。
- 
Admin panel,Dashboard or back-end
 管理后台。管理网站和内容的地方。
- 
CMS
 内容管理系统的缩写。
- 
Front-end
 被用户访问的前台。
- 
Setup
 系统的安装及基本设置
Orchard concepts
- 
Content Item
 内容项是内容中单独的一部分,经常与一个URL关联。如页面、博文或产品。
- 
Content Type
 内容项是内容类型的实例。如一篇博文是博客类型的一个实例。
- 
Content Part
 构建内容类型的基本元素。
- 
Content Field
 内容字段。能被添加到内容类型中的一块信息。如产品内容类型有一个文本字段显示产品名称,一个数字字段显示产品价格,一个数字字段显示产品重量。
- 
Module
 模块。Orchard功能的扩展。模块存放在网站Modules子目录下。可以通过Orchard Gallery安装模块。
- 
Feature
 特色功能。一个模块能包含一个或几个功能,可以启用或禁用特定的功能。如一个自定义的认证模块可能含有几个独立的特色功能,像OpenID,Facebook,LiveID,可以单独启用或禁用。
- 
Manifest
 描述module或theme的文本文件。像下面这样:
 Name: Comments AntiForgery: enabled Author: The Orchard Team Website: http://orchardproject.net Version: 0.9.0 OrchardVersion: 0.9.0 Description: The comments system implemented by this module can be applied to arbitrary Orchard content types, such as blogs and pages. It includes comment validation and spam protection through the Akismet service. Features: Orchard.Comments: Name: Comments Description: Standard content item comments. Dependencies: Settings Category: Social
UI composition
- 
Theme
 主题。网站的外观。Orchard 提供了清晰的内容管理和内容展现的分隔。一个主题包可能由css,images,layouts,templates,custuom code构成。也可以继承一个主题,这在基于一个主题进行小改动时很有用。
- 
Layout
 布局。一个Layout是一个主题中的文件,定义了定义了页面的结构。一个Layout通常定义了包含contents和widgets的zone。
- 
Template
 模板。定义了content part,field,widget,data在html中的显示。如<h1>@Model.Title</h1>
- 
Shape
 Shapes是一个动态数据模型,它使用shape templates来展现UI,Shape templates是一个标记片段。Shapes的示例包括menus, menu items, content items, documents, and messages。Shape是一个派生自Orchard.DisplayManagement.Shapes.Shape 类的数据模型对象。Shape 类不会实例化,而是在运行时通过shape工厂来生成。缺省的shape工厂是Orchard.DisplayManagement.Implementation.DefaultShapeFactory。shape工厂生成的shape是一个动态对象.
- 
Placement
 位置。Placement.info是一个xml文件,描述了确定哪个shapes以什么顺序放在哪个zones中。这不仅能自定义shapes的呈现,也能定义他们的顺序。如
 <Placement> <Place Parts_Map="Content:10"/> <Place Parts_Map_Edit="Content:7.5"/> </Placement>
- 
Zone
 区域。能插入widgets的layout的一个指定部分。一些主题中zones在没有active widget时是可折叠起来。
 Zones是能加入到任何模板或布局的内容的容器。许多UI元素能注入到Zones,但最常见的是widgets。不是所有的zones都需要暴露在manifest中,仅仅是打算包含widget的zone。
- 
Widget
 小组件。是一个或所有页面中的一个小片段。如widget可以是tag clouds, maps, archives, a search form, or recent blog posts.
- 
Layer
 层次。一个layer是一组应用特定规则启用的widgets。如TheHomepage层使用一个规则启用特定选择的主页。默认的layer总是激活没有显示问题的页面。Layout是body元素内最外面的shape。例如:通常你定义的主widget zone。 一个主题能包含不限数量的layout文件,如TheThemeMachine主题中叫Layout.cshtml。例如:一个主题能添加专门的layouts,像是Layout-Blog.cshtml或Layout-homepage.cshtml用于替换默认的blog或homepage,提供那些layout shape的扩展。注意这个layout的名字是Layout-{layout name}.cshtml,每个layout能有不同的zones,组织成不同样式。 
- 
DocumentDocument.cshtml一般在主题中看不到,因为很少需要重写它。多数主题仅在SafeMode主题中能用到这个文件的版本,在/Views下面。Document.cshtml文件负责body以外的html元素,意思就是它定义doctype、html、head元素,一些脚本和CSS链接。 
Security
- 
用户和角色
 用户可以被分配角色,角色包含一组用户。权限能分配到特定角色。用户可以拥有一个或几个角色。
 网站管理员能创建自定义的角色,Orchard系统内建了一些角色:
 Administrator:拥有全部权限。
 Editor:不能创建内容,但可以编辑和发布其它用户创建的内容。
 Moderator:审批用户创建的内容,例如评论。
 Author:写作和发布内容。
 Contributor:写作内容,但不一定有发布的权限。
 Anonymous:匿名用户,没有登入的用户。
 Authenticated:所有已登入的用户。
- 
权限
 所有用户都不要有同样的权限,权限被赋予角色,但不是明确的禁止。如果一个用户属于所有角色,那么他将拥有所有的权限。取消一个权限,需要移除用户的角色授予权限。由模块定义了权限以及内建角色的默认设置,意味着你构建自己的模块,你能给它定义指定的权限。
- 
Site owner
 网站管理员。是系统中的特殊用户,在安装时设置并且有全部的权限,能在设置面板中更改它。有一个“网站管理员”权限拥有同样的权限,仅仅Administrator角色默认授予这样的权限,建议不要把这个权限授予其它角色。
Development
- 
ASP.NET MVC
 Orchard是基于 ASP.NET MVC 构建的。
- 
Handler
 一个handler就像是一个包含代码的MVC筛选器,处理请求周期的特定事件。通常用于设置数据仓库或者当某些东西装载做一些额外的操作。
- 
Driver
 Driver像是MVC的控制器,但是他们是content part层起作用。通常为呈现和处理管理员回复准备shapes。
- 
Record
 一个Record是一个类,是content part的数据库表示模型。每个属性必须声明为virtual
- 
Model
 模型。Content Part的model就是这个part类,一些parts也在强类型的类中或更灵活的动态shapes中定义view models
- 
Migration
 迁移。安装一个功能或升级时执行的操作的描述。使升级能在不丢失数据下平稳的进行。Orchard包含一个数据迁移框架。
- 
Injection
 注入。Inversion of Control 控制反转或叫依赖注入,在Orchard中大量使用。当任何一段代码需要依赖项时,它通常会要求一个或几个特定的接口的实例的注入。框架会在运行时选择、安装和注入正确的实现。
 
                    
                     
                    
                 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号