一、Orchard的基本概念

一般的CMS概念

  1. Content


    CMS系统中的内容.如一篇博文、一条评论、一个产品、导航菜单或logo等。

  2. Admin panel,Dashboard or back-end


    管理后台。管理网站和内容的地方。

  3. CMS


    内容管理系统的缩写。

  4. Front-end


    被用户访问的前台。

  5. Setup


    系统的安装及基本设置

Orchard concepts

  1. Content Item


    内容项是内容中单独的一部分,经常与一个URL关联。如页面、博文或产品。
  2. Content Type


    内容项是内容类型的实例。如一篇博文是博客类型的一个实例。
  3. Content Part


    构建内容类型的基本元素。
    A blog post is made from parts.
  4. Content Field


    内容字段。能被添加到内容类型中的一块信息。如产品内容类型有一个文本字段显示产品名称,一个数字字段显示产品价格,一个数字字段显示产品重量。
  5. Module


    模块。Orchard功能的扩展。模块存放在网站Modules子目录下。可以通过Orchard Gallery安装模块。
    The Module management screen
  6. Feature


    特色功能。一个模块能包含一个或几个功能,可以启用或禁用特定的功能。如一个自定义的认证模块可能含有几个独立的特色功能,像OpenID,Facebook,LiveID,可以单独启用或禁用。
    The feature management screen
  7. 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

  1. Theme


    主题。网站的外观。Orchard 提供了清晰的内容管理和内容展现的分隔。一个主题包可能由css,images,layouts,templates,custuom code构成。也可以继承一个主题,这在基于一个主题进行小改动时很有用。
  2. Layout


    布局。一个Layout是一个主题中的文件,定义了定义了页面的结构。一个Layout通常定义了包含contents和widgets的zone。
    The layout for the theme machine, with its various collapsible zones
  3. Template


    模板。定义了content part,field,widget,data在html中的显示。如<h1>@Model.Title</h1>
  4. 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是一个动态对象.
  5. Placement


    位置。Placement.info是一个xml文件,描述了确定哪个shapes以什么顺序放在哪个zones中。这不仅能自定义shapes的呈现,也能定义他们的顺序。如
    <Placement> <Place Parts_Map="Content:10"/> <Place Parts_Map_Edit="Content:7.5"/> </Placement>
  6. Zone


    区域。能插入widgets的layout的一个指定部分。一些主题中zones在没有active widget时是可折叠起来。
  7. Widget


    小组件。是一个或所有页面中的一个小片段。如widget可以是tag clouds, maps, archives, a search form, or recent blog posts.
    A few widgets

     

  8. Layer


    层次。一个layer是一组应用特定规则启用的widgets。如TheHomepage层使用一个规则启用特定选择的主页。默认的layer总是激活没有显示问题的页面。

Security

  1. 用户和角色


    用户可以被分配角色,角色包含一组用户。权限能分配到特定角色。用户可以拥有一个或几个角色。
    网站管理员能创建自定义的角色,Orchard系统内建了一些角色:
    Administrator:拥有全部权限。
    Editor:不能创建内容,但可以编辑和发布其它用户创建的内容。
    Moderator:审批用户创建的内容,例如评论。
    Author:写作和发布内容。
    Contributor:写作内容,但不一定有发布的权限。
    Anonymous:匿名用户,没有登入的用户。
    Authenticated:所有已登入的用户。
  2. 权限


    所有用户都不要有同样的权限,权限被赋予角色,但不是明确的禁止。如果一个用户属于所有角色,那么他将拥有所有的权限。取消一个权限,需要移除用户的角色授予权限。由模块定义了权限以及内建角色的默认设置,意味着你构建自己的模块,你能给它定义指定的权限。
  3. Site owner


    网站管理员。是系统中的特殊用户,在安装时设置并且有全部的权限,能在设置面板中更改它。有一个“网站管理员”权限拥有同样的权限,仅仅Administrator角色默认授予这样的权限,建议不要把这个权限授予其它角色。

Development

    1. ASP.NET MVC


      Orchard是基于 ASP.NET MVC 构建的。
    2. Handler


      一个handler就像是一个包含代码的MVC筛选器,处理请求周期的特定事件。通常用于设置数据仓库或者当某些东西装载做一些额外的操作。
    3. Driver


      Driver像是MVC的控制器,但是他们是content part层起作用。通常为呈现和处理管理员回复准备shapes。
    4. Record


      一个Record是一个类,是content part的数据库表示模型。每个属性必须声明为virtual
    5. Model


      模型。Content Part的model就是这个part类,一些parts也在强类型的类中或更灵活的动态shapes中定义view models
    6. Migration


      迁移。安装一个功能或升级时执行的操作的描述。使升级能在不丢失数据下平稳的进行。Orchard包含一个数据迁移框架。
    7. Injection


      注入。Inversion of Control 控制反转或叫依赖注入,在Orchard中大量使用。当任何一段代码需要依赖项时,它通常会要求一个或几个特定的接口的实例的注入。框架会在运行时选择、安装和注入正确的实现。
 
 
 
 
posted @ 2012-03-19 23:37  commanderss  阅读(1476)  评论(2编辑  收藏  举报