Orchard内建特性

Orchard提供了很多的特性,你也可以在"园"中,获取其他的特性。这篇文章,简单的描述了Orchard原生提供的特性。主要包括核心特性和非核心特性两大部分。核心特性指的是不能够关闭,需要一直启用的特性(继承自核心特性的特性,不一定是核心特性 )。 特性是由模块提供的。

核心模块

Common

提供了Body,Common,Identity三个核心元件

Body元件就是一个富文本编辑器。默认情况下,是使用TinyMCE来编辑HTML文本,当然,你也可以改为编辑纯文本、Markdown或者自定义的标记文本。

Common元件用于保存创建、更新、发布的人和时间。这个元件包含了容器项,用于实现嵌套内容的保存,如博客/帖子、文件夹/文件。

Identity 元件为内容项提供了唯一标识。比如,对于页面,我们可以通过其url作为唯一标识,而部件,却没有唯一标识,这时,导入导出功能就没有办法导出部件,这时,我们通过Identity元件,就能为部件添加一个GUID作为唯一标识,实现导入导出功能。

Containers

这个模块提供了4个元件,用于创建嵌套内容项。他是Orchard.List模块实现的基础。

Container 元件使内容向可以包含其他的内容项。同时,还提供了排序和分页属性。

Containable元件使得当前的内容项能够被其他内容项包含。

Container Widget 元件和Container 元件和相识,只是他是作为一个内容部件来使用,同时提供了筛选功能,只显示需要的数据。他不能包含自身(循环嵌套)。

Custom properties 元件提供了3个用户自定义属性,用于筛选和排序。

 

Contents

这个模块是用户自定义内容类型的基础

Features

  • Contents (Core): 用户自定义内容类型的基础
  • Content Control Wrapper (off by default): 在前端展示的内容项外面加一个编辑按钮

    Dashboard

    通过一个可扩展的shell,实现了后台管理。

    Feeds

    这个模块是实现RSS,Atom等技术的基础。

    Navigation

    自从Orchard 1.5开始,Orchard提供了一个可扩展的、多层级的菜单。我们可以在后台,定义多个菜单,菜单项由多个提供器提供。

    Reports

    这个核心模块是生产和展示报告的基础。他用于安装应用的时候,记录安装参数。

    Scheduling

    这个模块提供了一套API,用于为其他模块,比如Publish Later提供定时执行的功能。

    Settings

    保存站点配置。

    Shapes

    Shapes 是用于生成HTML页面的基本单位。新的Shape能够在模块中动态创建,Shape模块提供了一些基本和标准的Shape。核心Shape定义在CoreShapes.cs文件中。所有的Shape,都能在主题中重新定义。

    Core shapes

  • ActionLink: 指向特性路由的超链接。
  • DisplayTemplate, EditorTemplate: 用于显示和编辑内容项。
  • Layout: 这个是对外层的Shape,定义了HTML的结构,需要引用的资源等。
  • List: 用于渲染一组Shape的Shape
  • Menu, MenuItem, LocalMenu, LocalMenuItem and MenuItemLink: 渲染菜单的Shape
  • Pager and associated shapes and alternates: 渲染分页的Shape
  • Partial: 用于将页面作为部分页渲染。
  • Resource, HeadScripts, FootScripts, Metas, HeadLinks, StyleSheetLinks, Style: 渲染成资源的引用,如如script tags 或者 stylesheets.
  • Zone: 用于包含其他的Shape,如果里面没有Shape,不会渲染

    Templated shapes

  • Breadcrumb: 面包屑方式展示菜单项。
  • ErrorPage and NotFound: 服务器错误或者发送404错误时,显示的页面。
  • Header: 页面的头。
  • Message: 用于渲染消息、警告、错误提醒。
  • User: 显示登陆、注销、后台、更改密码链接。

    Title

    提供 Title元件。

    XmlRpc

    提供了通过第三方工具,比如Windows Live Writer等,向网站发布文章或者博客的功能。

    非核心模块

    Markdown (off by default)

    Markdown 是一种易于人类阅读的富文本语法(相对于HTML).

    Orchard.Alias

    这个模块提供了将一个友好的URL映射到一个内容项的能力。

    Features

  • Alias: 将一个友好的URL映射到一个内容项的能力。
  • Alias UI (off by default): 提供了管理Alias的后台页面。

    Orchard.AntiSpam (默认关闭)

    提过了多种垃圾拦截特性。

    Features

  • Anti-Spam: 垃圾拦截的核心。
  • Akismet Anti-Spam Filter: 使用第三方的 Akismet 服务
  • TypePad Anti-Spam Filter: 使用第三方的 TypePad 服务

    Orchard.ArchiveLater

    使用这个模块提供的元件,你能够定时归档内容项

    Orchard.AuditTrail (off by default)

    提供了对数据创建、内容定义删除、用户事件、角色事件等的记录。同时提供了一个回收站功能(删除的信息能够恢复)。

    Features

  • Orchard.AuditTrail : 记录了后台数据的变更。
  • Orchard.AudiTrail.ImportExport : 提供了对跟踪记录的导入导出功能。
  • Orchard.AuditTrail.Trimming : 提供了一个后台任务,用来删除过时的跟踪记录。
  • Orchard.AuditTrail.Users : 对用户事件的跟踪记录。
  • Orchard.AuditTrail.Roles : 对角色事件的跟踪记录
  • Orchard.AuditTrail.ContentDefinition : 对类容定义事件的跟踪记录。
  • Orchard.AuditTrail.RecycleBin : 提供了一个回收站,使你能够恢复删除的内容项。

    Orchard.Autoroute

    这个强大的特性提供了基于标记的URL,及URL中的某些参数,可以用特定的占位符替换,以便动态生成URL。

    Autoroute需要Alias特性的支持。

    Orchard.Blogs

    提供了博客特性。

    详情请看:

  • Orchard.Caching

    提供了API来缓存业务数据

    Orchard.CodeGeneration

    这个模块提供一组命令,来生成模块和主题。

    Orchard.Comments

    提供了一个Comment元件,他能附加在任意的内容定义上,使得内容项可以评论。

    详情请看:

  • Orchard.ContentPermissions (off by default)

    默认情况下,Orchard只提供了对于内容定义的权限。通过这个模块,你能够对内容项的权限进行控制。

    Orchard.ContentPicker

    提供了一个内容项选择字段,用来建立内容项之间的关系。

    Orchard.ContentTypes (off by default)

    提供了后台创建、更新内容定义的能力。

    详情请见:

  • Orchard.CustomForms (off by default) (1.9中已弃用)

    创建自定义表单的方式和创建内容定义的方式相似。一旦你创建了自定义表单,就能在前台通过用户创建该表单的实体。

    他常用于收集用户的数据。

    Orchard.DesignerTools

    这个模块提供了一些特性,用于帮助开发者开发主题。

    Features

  • Shape Tracing: 提供了一个类似于Firebug-like 的工具,能够查看服务端Shape的结构。
  • URL Alternates: adds alternates for all shapes based on the current URL, of the form "someshape-url-thecurrenturl" or "someshape-url-homepage".
  • Widget Alternates: adds alternates for specific widgets and layers.

    详情请见:

  •  

    Orchard.DynamicForms (off by default)

    DynamicForms 模块使用layouts,创建自定义表单。

    开启动态表单模块 -> 单机后台的Form菜单项。动态表单使用DynamicLayouts来创建,他允许你拖动元素(表单、复选框、按钮等)到一个区域,完成设计 。

    Features

  • Orchard.DynamicForms : 创建自定义表单
  • Orchard.DynamicForms.AntiSpam : 提供垃圾信息保护功能,防止用户恶意提交。
  • Orchard.DynamicForms.Taxonomies : Adds a Taxonomy form element to the sytem.
  • Orchard.DynamicForms.Projections : Adds a Query form element to the sytem.
  • Orchard.DynamicForms.ImportExport : Enables the import and export of form submissions.

    Orchard.Email

    实现了邮件发送功能

    Orchard.Fields

    此模块提供了Input, Boolean, DateTime, Numeric, Link, Enumeration 和 Media Picker 字段

    Orchard.Forms

    提供了通过代码动态生成form表单的能力。

    Orchard.ImportExport

    这个模块提供了内容项的导入导出功能,导出的格式是XML格式,安装站点时选择的安装模式就是采用的这种格式(在Orchard.Setup模块的Recipes文件夹中)。

    Orchard.ImageEditor

    此模块提供了客户端的图片编辑功能。

    Orchard.Indexing, Orchard.Search and Lucene

    这3个模块共同组成了Orchard的全文搜索引擎。

    Orchard.JobsQueue

    异步工作队列。

    Features

  • Orchard.JobsQueue : 异步工作队列。
  • Orchard.JobsQueue.UI : 提供了管理队列的后台界面。

    Orchard.jQuery

    提供了jQuery 和 jQueryUI 脚本库

    Orchard.Layouts

    此模块提供了工具来创建layouts。

    Layout元件提供了一个简单的画布。可以将表格、行、内容项、媒体等等layout元素拖动到画布上面。

    Features

  • Orchard.Layouts : 提供了工具来创建layouts。
  • Orchard.Layouts.Snippets : 在当前主题中,支持基于Shape的layout元素。
  • Orchard.Layouts.Markdown : 增加 Markdown 元素。
  • Orchard.Layouts.Projections : 增加 Projection 元素。
  • Orchard.Layouts.Tokens : 提供元素token提供器,这样可以使用token来渲染元素。

    Orchard.Lists

    这个模块提供了一个简单的内容项集合的实现。

    Orchard.Localization

    内容项本地化实现。

    Features

  • Orchard.Localization : 内容项本地化
  • Orchard.Localization.DateTimeFormat : Enables PO-based translation of date/time formats and names of days and months.
  • Orchard.Localization.CultureSelector : Enables culture picker services, and also the admin culture picker.
  • Orchard.Localization.Transliteration : Enables transliteration of content.
  • Orchard.Localization.Transliteration.SlugGeneration : Enables transliteration of the autoroute slug when creating a piece of content.

    Orchard.MediaLibrary

    媒体管理工具。

    详情请见

  • Orchard.MediaProcessing

    媒体操作,比如图片放大。

    Orchard.MessageBus

    提供了一套用于服务集群的消息总线API

    Features

  • Orchard.MessageBus : 一套用于服务集群的消息总线API。
  • Orchard.MessageBus.DistributedSignals : Distribute signals cache invalidation calls.
  • Orchard.MessageBus.SqlServerServiceBroker : A message bus implementation using SQL Server Service Broker.
  • Orchard.MessageBus.DistributedShellRestart : Distribute shell restarts.

    Orchard.Migrations

    数据迁移指令(数据模型和数据库的映射)

    Features

  • DatabaseUpdate : 生成数据模型和数据库的映射代码的指令。

    Orchard.Modules

    提供了后台启用、禁用特性的界面。

    详情请见

  • Orchard.MultiTenancy

    在一个IIS应用上面,部署多个Orchard站点,这样能节省大量的资源和服务器开销。数据库可以通过前缀或者完全不同的数据库实体来分离。

    详情请见

  • Orchard.OutputCache

    输出缓存

    Features

  • Orchard.OutputCache : 输出缓存
  • Orchard.OutputCache.Database : 将输出缓存的数据保存在数据库中。

    Orchard.Packaging

    提供了打包主题和模块的能力

    Features

  • Packaging commands: 核心服务,使用命令行打包或者安装模块。
  • Gallery: 在Orchard中集成"园"
  • Package Updates: 在后台界面中,可以对模块进行升级。

    详情请见

  • Orchard.Pages

    提供了页类型和相关的命令行命令。

    详情请见

  • Orchard.Projections

    这是一个非常有用的模块,他能够创建任意的查询,根据查询的结果,渲染页面。

    详情请见

  • Orchard.PublishLater (off by default)

    提供定时发布内容的能力

    详情请见

  • Orchard.Recipes

    Recipes是一个XML文件,里面定义了内容的操作和站点的配置,用于在安装站点的时候,预定义站点配置。

    详情请见

  • Orchard.Redis

    Redis集成到Orchard。

    Features

  • Orchard.Redis : Redis集成到Orchard。
  • Orchard.Redis.MessageBus : 使用Redis实现消息总线。
  • Orchard.Redis.OutputCache : 使用Redis实现输出缓存。
  • Orchard.Redis.Caching : 使用Redis实现业务数据缓存。

    Orchard.Roles

    此模块提供了定义用户角色的能力。同时提供了一组预定义的角色。

    Features

  • Orchard.Roles : 标准用户角色
  • Orchard.Roles.Workflows : 工作流中使用的角色节点

    详情请见

  • Orchard.Scripting

    In order to enable simple programmability of the application without requiring the development of a whole module, certain key areas of Orchard expose extensibility through scripting. For example, widget layer visibility is defined by rules that are written as simple script expressions. The scripting infrastructure is language-agnostic, and new languages could be added by a module. Orchard comes with one implementation that is a simple expression language whose syntax is a subset of Ruby.

    Features

  • Scripting: the scripting infrastructure.
  • Lightweight Scripting: a simple expression language that is a subset of Ruby.
  • Scripting Rules: makes it possible for rules to be triggered by arbitrary scripted expressions.

    Orchard.Scripting.CSharp

    提供了C#编译服务

    Features

    Orchard.Scripting.CSharp : 提供了C#编译服务。

  • Orchard.Scripting.CSharp.Validation : 提供了C#脚本验证。

    Orchard.Scripting.DLR

    使用DLR语言(比如Ruby或者Python)作为脚本 语言。

    Orchard.Setup (off after setup)

    当站点安装完成以后,这个模块会自动禁用。它用于实现站点安装机制,它包含多个预定义的站点配置在该模块的Recipes文件夹中。

    详情请见

  • Orchard.Search

    实现了Orchard内建的查询功能。

    Features

  • Orchard.Search : 实现了Orchard内建的查询功能。
  • Orchard.Search.Content : 在后台界面中,在内容管理页面,提供了一个搜索内容项的tab页。
  • Orchard.Search.ContentPicker : 为 Content Picker提供搜索内容项的tab页。
  • Orchard.Search.MediaLibrary : 为媒体管理页面提供搜索内容项的tab页。

    Orchard.SecureSocketsLayer

    实现了访问特定页面的时候,比如后台或者自定义的界面,必须使用SSL查询,保证安全。

    Orchard.Tags

    一个简单的内容项分类。

    Features

  • Orchard.Tags : 为内容项提供一个分类。
  • Orchard.Tags.Feeds : 将标签加入RSS。
  • Orchard.Tags.TagCloud : 增加一个标签云部件。

    详情请见

  • Orchard.TaskLease

    实现了一个通讯任务,用于在多个服务之间通信。

    Orchard.Taxonomies

    为内容项提供分类,可以多级(tag只有一级)。

    Orchard.Themes

    提供了自定义主题的能力

    详情请见

  • Orchard.Templates

    提供了一个模板类,能够用于创建模板,这些模板能够像Shape一样使用。

    Features

  • Orchard.Templates : 提供了一个模板类,能够创建Shape模板,创建的模板作为内容项保存。
  • Orchard.Templates.Razor : 通过Razor模板来扩展模板。

    Orchard.Tokens (off by default)

    提供了一套机制,能够把字符串中的特定变量,替换为系统中的参数值。

    Features

  • Orchard.Tokens : 提供了一套机制,能够把字符串中的特定变量,替换为系统中的参数值。
  • Orchard.Tokens.Feeds : 提供了一个内容元件,实现了基于标记的RSS字段。
  • Orchard.Tokens.HtmlFilter : 在body中使用标记。

    Orchard.Users

    实现了用户管理

    Features

  • Orchard.Users : 用户管理。
  • Orchard.Users.Workflows : 在工作流中,提供了一个用户节点。
  • Orchard.Users.PasswordEditor : 提供了管理员修改用户密码的能力。

    详情请见

  • Orchard.Warmup (off by default)

    当我们第一次启动站点的时候,会发现站点访问很慢。为了解决这个问题,Orchard.Warmup能够将大部分的页面缓存为静态页面,提升访问体验。

    Orchard.Widgets

    部件是页面上能够重用的UI块。这个模块提供了管理部件的能力,根据layer规则,能够决定哪些部件显示在哪些地方。

    Features

  • Widgets:创建部件、管理部件的能力。
  • Page Layer Hinting: 用于发布一个新页面的时候,会弹出提示,提示用户配置该页面的部件。
  • Widget Control Wrapper: 在前端页面添加一个编辑按钮,方便更改页面部件。

    详情请见

  • Orchard.Workflows

    提供了自定义工作流的能力

    SysCache

    提供了数据库缓存。

    TinyMCE

    提供了一个富文本编辑器

posted @ 2015-08-20 10:09  争世不悔  阅读(465)  评论(0编辑  收藏  举报