03 2012 档案

摘要:What's new? Orchard1.4 修正了一些bugs,提升了性能并增加了下面特性: Autoroute: Set-up token-based patterns for your URLs. Projector: 创建随意的网站内容查询,在projection pages和widgets上显示结果。 Fields: Orchard自带了一些新field类型:Boolean,Date/... 阅读全文
posted @ 2012-03-27 15:42 commanderss 阅读(433) 评论(0) 推荐(0)
摘要:Introduction做为可组装的CMS,Orchard能在运行时装载一组随意的模块.Orchard像任何ASP.NET MVC程序一样,支持使用VS将模块编译成程序集,Orchard也提供一个定制模块装载策略,例如:允许装载关于模块的程序集(不用部署到bin文件夹).除此之外,Orchard支持仅部署源代码的模块的动态编译,这比部署二进制文件更具灵活性,使一些有趣的场景,如”in place"不用使用VS进行代码定制,这有点像ASP.NET App_Code目录,除了Orchard独立地支持多”logical folder”(通常每个模块一个).High Level Overvi 阅读全文
posted @ 2012-03-26 11:20 commanderss 阅读(676) 评论(1) 推荐(2)
摘要:DefinitionsCamel case首字母小写,词之间不加任何分隔字符,词的首字母大写Pascal case 每个词的首字母大写,词之间不加任何分隔字符C# Coding ConventionsC#编码约定文档:C# Coding Guidelines,下面的例外:开括号与语句块开始在同一行,前面多一个空格(这与javascript一致),又名K&R约定私有字段使用下划线”_"前缀,并采用camel-casedusing指字在namespace之前出现,不是在它里面JavaScript Coding ConventionsNamespaces are Pascal-cased. 阅读全文
posted @ 2012-03-25 18:04 commanderss 阅读(373) 评论(0) 推荐(0)
摘要:本文列举了Orchard项目中的依赖,和Orchard使用它们的简介.依赖的副本在源码库的lib目录中,包含了它们各自的licenses,也能在CREDITS.txt文件中看到它们的归属.Akismet这是Orchard中的默认的垃圾保护服务.ANTLR v3这是语言识别工具,提供了构造识别器的框架,解释程序,编译器和从 在多种目标语言中语法描述包含的行为的翻译器.ASP.NET MVC 3作为web程序模型Autofac 2 & Autofac contrib内部大量使用了依赖注入,主要关于Ochard.Web host和Orchard packages.之间发布和consuming 阅读全文
posted @ 2012-03-25 16:22 commanderss 阅读(504) 评论(0) 推荐(0)
摘要:Modules是一个VS目录,包含Orchard模块,所有Orchard模块都是ASP.NET MVC WEB程序项目.Modules\LuceneLucene模块能使用Lucene.NET索引网站,这个模块使用搜索模块产生索引,为网站提供一个集成的全文本搜索体验.Modules\Orchard.ArchiveLater这个模块支持计划存档功能.Modules\Orchard.Blogs这个模块是博客模块.Modules\Orchard.CodeGeneration是创建Orchard组件的工具,能从命令行启动这个工具.Modules\Orchard.Comments评论模块在内容中管理和呈现 阅读全文
posted @ 2012-03-25 16:00 commanderss 阅读(572) 评论(0) 推荐(0)
摘要:Enlisting in the Source Code Using Mercurial and TortoiseHg Orchard项目托管在Codeplex上,能使用Mercurial客户端访问,本文介绍了如何设置你的开发环境。 如果你不是Orchard项目的开发者,你能下载源码,编译和使用它,但不能提交补丁。 当使用一个分布式式源码控制系统如Mercurial时,理解Codeplex仓库上的... 阅读全文
posted @ 2012-03-25 12:00 commanderss 阅读(439) 评论(0) 推荐(0)
摘要:What are the dependencies? Orchard使用了大量外部库,可以在\lib目录中找到。 What framework versions does Orchard support? Orchard当前支持.net 4.0, What types of extensions can I write? Orchard的模块和主题支持扩展,模块和主题的APIs正在进步,尽管能建立... 阅读全文
posted @ 2012-03-25 11:38 commanderss 阅读(739) 评论(0) 推荐(0)
摘要:Orchard提供了设计师工具叫Shape Tracing,能使你定制网站的外观。Getting Started with Shape Tracing首先要启用Shape Tracing功能,这个功能在Designer Tools模块中。Shape Information当Shape Tracing frame展开时,你能拖动鼠标页面的一部分上,这部分会高亮显示,点击高亮的部分显示关于shape如何呈现的信息。frame的左边显示选择的shape,也在导航树中高亮你选择的shape右边显示的信息是关于选择的shape和使你选择要显示的什么类型的信息。Shape Tracing 面板显示下面的信 阅读全文
posted @ 2012-03-23 18:06 commanderss 阅读(446) 评论(0) 推荐(0)
摘要:本文介绍了推荐的编码、HMTL标记格式、CSS,有助于你的主题的组织。 General Guidelines Browser Testing 应该在下面浏览器中都进行测试。 Microsoft Internet Explorer Google Chrome Mozilla Firefox Apple Safari Opera File Names 包含文件使用下划线做为前缀 .csht... 阅读全文
posted @ 2012-03-23 17:38 commanderss 阅读(364) 评论(0) 推荐(0)
摘要:Orchard提供了打包功能你你能分享你的主题,该功能创建一个.nupkg格式的zip文件。 Viewing the Packaging Modules 首先要启用Packaging模块。 Packaging Your Theme 使用命令行工具打包:package create MyFirstTheme C:\Temp打包功能创建一个下面格式命名的文件:Orchard.Theme.<name... 阅读全文
posted @ 2012-03-23 17:11 commanderss 阅读(384) 评论(0) 推荐(0)
摘要:Orchard使用templates和shapes建立views,模板是类拟于ASP.NET MVC的部分views的概念,它们为在页面中呈现shape数据提供了基本的结构,一个模板能包含网页内容 如HTML标签、CSS、JAVASRITP,辅助呈现shape数据。另外,模板能包含服务端代码块因此你能在网页中访问和呈现shape数据。Shapes是表示内容结构的动态的数据模型,如menus,menu items,content items,documents,messages.Shapes为动态views提供数据(相对于MVC中的静态ASP.NET VIEWS),shape模板在运行时呈现。视 阅读全文
posted @ 2012-03-23 16:59 commanderss 阅读(597) 评论(0) 推荐(0)
摘要:Alternates是shape选项的变种,在特殊情况下为了你能在主题中实现定制呈现shape,使用Alternates,你能基于内容的类型重写用于呈现内容的模板。例如:你能使用alternates为主页应用一个layout文件,为subpages应用另一个layout文件,或者你能当tags在page中时用alternates以一种方式呈现tags,在blog post中时用另外一种方式呈现。Orchard framework使用一个命名约定决定是否用一个模板呈现内容。命名约定使你添加文件能自动地使用,不需要修改任何代码。Naming Convention for AlternatesAlt 阅读全文
posted @ 2012-03-23 16:16 commanderss 阅读(657) 评论(0) 推荐(0)
摘要:shape是一个动态数据模型。shape的目的使用动态shape能在运行时使用一个model更新并替换ASP.NET MVC的静态view model,你可以认为shape是在模板中显示一大块数据。本文介绍了shape的概念及解释如何使用。Introducing Shapesshape是一个动态数据模型,使用shape 模板为用户制造可见数据。shape模板是为呈现shapes的标记的片段。例如shapes包含menu.menu items,content items,documents,messages.一个shape是从Orchard.DisplayManagement.Shapes.Sh 阅读全文
posted @ 2012-03-23 14:43 commanderss 阅读(587) 评论(0) 推荐(0)
摘要:The placement.info File 大多数模块和主题都有一个placement.info文件,这是个xml文件,指定了content part中的part的位置。 下面展示了Orchard.Tags的placement.info文件:<Placement> <Place Parts_Tags_Edit="Content:7"/> <Match DisplayType="De... 阅读全文
posted @ 2012-03-23 10:49 commanderss 阅读(536) 评论(0) 推荐(0)
摘要:Where Themes Live主题必须放在网站/Themes/目录下。TheThemeMachineTheThemeMachine是Orchard的内建主题,你能通过这个主题来学习Orhcard的主题。TheThemeMachine被设计成整洁的、现代的并作为开发新主题的起始点。Anatomy of a ThemeManifest每个主题都必须有一个manifest,manifest是一个叫Theme.txt的文本文件,位于主题目录中,Name: The Theme MachineAuthor: jowall, mibach, loudej, heskewDescription: Orch 阅读全文
posted @ 2012-03-23 10:18 commanderss 阅读(553) 评论(0) 推荐(0)
摘要:主题定义了网站的外观。一个主题能重写任何模块提供的CSS,图片、布局、内容模板。另外,主题能包含重写了模块中的目标代码的代码。 本文展示了如何创建主题,打算介绍主题的开发并保持设计的简单。 开始之前你能根据已存在的父主题创建一个主题,Orchard提供一个简单使用的”TheThemeMacine“父主题。 Generating a New Theme 首先要启用Code Generation功能... 阅读全文
posted @ 2012-03-23 08:19 commanderss 阅读(582) 评论(0) 推荐(0)
摘要:Content handler定义了当content part有事件发生时响应特定的事件。比如当一个part激活时。content handler使你在content item生命周期的特定时候执行actions,也使你建立数据存储和优先操作data model呈现content item。通常,通过继承ContentHandler类来为content part定义handler。ContentHandler是基类提供的方法和属性当定义你自己的content handler时通常会需要,另一种定义自己的content handler的方法是创建实现IContentHandler接口的类。Def 阅读全文
posted @ 2012-03-22 21:51 commanderss 阅读(413) 评论(0) 推荐(0)
摘要:Orchard中的data access与传统web程序不同,因为是通过代码建立data model而不是通过数据库管理系统。你在代码中定义你的数据属性,Orchard Framework建立持久化数据的数据库组件。如果你需要更改数据结构,你写具体更改的代码,这些更改被这段代码传播到数据库。这个代码中心的model包含抽象层,允许你在不同的内容类型中重用组件,并且添加或更改行为不会破坏其它layers。数据访问的主要概念:RecordsData migrationsContent handlersContent driversRecords一个record是为内容类型描述数据库架构的类,要创建 阅读全文
posted @ 2012-03-22 18:40 commanderss 阅读(482) 评论(0) 推荐(0)
摘要:manifest filesOrchard CMS中,模块和主题是扩展程序的重要工具。每个模块和主题都有一个manifest文本文件,叫module.txt 或 theme.txt,在模块和主题的根目录中。manifest存储了Orchard 用户描述模块和主题的元数据,像 版本号,描述,作者,标记等。如果创建一个自定义的模块或主题,或如果写一个访问模块或主题的代码,你必须理解manifest中的metadata fields,manifest中的data是键值对结构,Field Name:Value。Module Manifest Fields模块的manifest能有下面fields:Fi 阅读全文
posted @ 2012-03-22 17:16 commanderss 阅读(490) 评论(0) 推荐(0)
摘要:存在于Lists的一部分表或Lists中选择一部分是很常见的内容。例如:地址能通过预定义列表来选择国家或地区,这是一个1-n的关系。 一个n-n关系可能 例如是客户获得收益的商业清单。Orchard当然支持这些方案,本主题贯穿这些内容。Building a 1-N Relationship在这里我们要建立的模型存在于Address part,能附加到 例如一个Customer 内容类型。Address part有street address,a zip code,a city name and a state. state 就是我们将建立的1-n关系模型的states表。Modeling th 阅读全文
posted @ 2012-03-22 17:05 commanderss 阅读(994) 评论(1) 推荐(0)
摘要:Orchard中widget是一块可重用的UI,可用于网站任意页面。例如:一个widget可能包含了tag,search form,Twitter feed。Widget是一个内容类型,使用重用存在的代码和UI。Turning a Part into a Widget把content part加入widget,需要根据widget类型中的定义更新数据库。完成这件事,需要为part的 Migrations.cs文件添加一个UpdateFrom&lt;version#&gt; 方法。using System.Data;using Maps.Models;using Orchard. 阅读全文
posted @ 2012-03-22 10:21 commanderss 阅读(472) 评论(0) 推荐(0)
摘要:开发一个Orchard模块后,你可能想分享给其它人,Orhcard提供了模块打包的功能。需要先启用这个功能,命令行提供了打包和安装包的命令.(.nupkg)package create <extensionName> <path> Create a package for the extension <extensionName> (an extension being a module or a theme). The package will be output at the <path> specified. The default fil 阅读全文
posted @ 2012-03-22 10:06 commanderss 阅读(408) 评论(0) 推荐(0)
摘要:Objectives本文在Orchard中添加一个新field type,目标是有一个日期和时间编辑框,能加入到任何内容类型中,并且要很容易的选择一个日期或时间。Creating a Module通过命令行输入:codegen module CustomFields /IncludeInSolution:true编辑module.txt文件:Name: CustomFieldsAntiForgery: enabledAuthor: MeWebsite: http://orcharddatetimefield.codeplex.comVersion: 0.6.1OrchardVersion: 0 阅读全文
posted @ 2012-03-22 09:48 commanderss 阅读(651) 评论(0) 推荐(0)
摘要:Content part 是一块要可重用的的功能或UI,能加到Orchard中的任何类型中。本文将建立一个自定义Map part,能用经纬度进行配置,为content item显示地图图片。打开命令行窗口,输入:orchard> codegen module Maps /IncludeInSolution:true执行这个命令后,VS2010会提示重新加载解决方案文件Maps 模块项目出现在解决方案中,编辑Module.txt文件:Name: MapsAntiForgery: enabledAuthor: The Orchard TeamWebsite: http://orchardpr 阅读全文
posted @ 2012-03-21 19:16 commanderss 阅读(707) 评论(0) 推荐(1)
摘要:Generating Code for the Module打开命令行工具,输入下面命令:codegen module SimpleCommerce然后到新建的目录中编辑module.txt文件:Name: SimpleCommerceAntiForgery: enabledAuthor: The Orchard TeamWebsite: http://orchardproject.netVersion: 0.5.0OrchardVersion: 0.5.0Description: A simple commerce moduleFeatures: SimpleCommerce: ... 阅读全文
posted @ 2012-03-21 17:36 commanderss 阅读(723) 评论(0) 推荐(0)
摘要:本文讲述了如何为Orchard创建一个非常小的模块,它仅仅显示一个 “hello world”页。Introduction本例中,我们没有任何数据,所有model没有使用。仅仅有一个controller和一个view。Orchard中的模块是一级扩展,并能被打包可重用于其它Orchard网站。模块像MVC Areas一样实现,MVC中的areas是子网站,其中包含了一组功能,在相对于网站其它部分隔离执行。Orchard模块是有manifest文件的简单的area,它可能使用了Orchard APIS。Generating the Module Structure要生成模块文件结构需要下载并启用 阅读全文
posted @ 2012-03-21 16:08 commanderss 阅读(758) 评论(0) 推荐(0)
摘要:构建一个web CMS不像构建一个web程序,它更像建一个程序容器。当设计这样的系统时,有必要构建可扩展性作为一流的功能。这可能是一个挑战,因为非常开放的体系结构,它是必要的强大的扩展性类型可能会降低应用程序的可用性。系统中的一切需要与未知的未来模块组合,包括在UI层。ArchitectureModulesCoreOrchard FrameworkASP.NET MVCNHibernateAutofacCastle.NETASP.NETIIS or Windows AzureOrchard FoundationsOrchard CMS基于框架和库构建。下面列出一些重要的:ASP.NET MVC 阅读全文
posted @ 2012-03-21 15:22 commanderss 阅读(1143) 评论(0) 推荐(2)
摘要:Looking at Orchard as...介绍Orchard基本知识的最好方式是用户的角色访问时所看到的:Normal user(aka reader/visitor/guest),administrator,designer and developer.User对于用户,Orchard看上去就是一个网站。Administratoradministrator有权访问网站的几个更多方面:安装时,他能看到安装页面。做为用户同样能看到前端能打开控制面板,配置网站和编辑内容能使用命令行Designerdesigner能修改网站的外观。他能编辑存在主题的设置或新建主题。一个主题包含了网站显示的所有 阅读全文
posted @ 2012-03-20 23:59 commanderss 阅读(780) 评论(0) 推荐(2)
摘要:Orchard使用website recipes简化了设置一个新网站的过程。recipe是一个包含Orchard网站启动配置的xml文件。当第一次启动Orchard时,可以选择一个适合你的网站的recipe。如:如果你的网站是一个博客,你可以选择blog recipe,系统会为你做好其它一些配置工作。可以创建自己的recipes,自定义设置过程和配置orchard功能。recipes也能命令orchard从Gallery下载和安装模块与主题。本文描述了如何使用recipes、如何创建自定义recipes、导出和导入recipes、如何使用recipes创建orchard的专门发布。Using 阅读全文
posted @ 2012-03-20 17:24 commanderss 阅读(729) 评论(0) 推荐(0)
摘要:每个角色都被指定了一些权限的集合,这些权限表示拥有这个角色的用户能执行的行为。每个角色,仅仅可以授予权限,不能明确地禁止一个权限。一个用户的权限集由拥有的所有角色的权限构成。在角色管理面板,点击edit链接进行查看和修改。Implied Permissions某些权限指定用户是否允许执行一个操作;某些权限指定用户是否允许执行一组操作。关于一组操作的权限指高层的权限逻辑上隐含具有低层的权限。当授予关联一组操作的高层权限,就隐含包含了低层权限。如:你授予一个角色管理博客的权限,就隐含授予了编辑、发布、删除博客的权限。你能从Allow 和 Effective的多选框看到哪些权限是显示的,哪个是隐含的 阅读全文
posted @ 2012-03-20 16:21 commanderss 阅读(477) 评论(0) 推荐(0)
摘要:Orchard为许多在管理面板中可用的和不可用的功能的命令行接口。命令行工具名称是 “orchard.exe”,在网站根目录下bin目录中。Using Commands要查看可用的命令,输入help commands。orchard> help commandsList of available commands:---------------------------blog create /Slug:<slug> /Title:<title> /Owner:<username> [/MenuText:<menu text>] Create 阅读全文
posted @ 2012-03-20 15:51 commanderss 阅读(494) 评论(0) 推荐(0)
摘要:Orchard的默认主题叫 Theme Machine,被设计为开发自定义新主题的起点。下面介绍如何用Teheme Machine css(Site.css)创建自定义主题。Introducing the Theme MachineTheme Machine提供了可扩展,功能强大的基础主题。Theme Machine的核心文件是布局页面(Layout.cshtml)和css(Site.css).Overview of the Layout Page这个布局页使用条件语句定义了多个zones。条件语句使仅在zones显示提供的内容。如果没有提供内容,显示面将不会包含这个zone。通过管理面板设置 阅读全文
posted @ 2012-03-20 15:33 commanderss 阅读(515) 评论(0) 推荐(0)
摘要:Orchard提供了功能强大并且简单易用的主题系统。Orchard默认包含了一个主题。Managing Themes在控制面板中点击 Themes进入主题管理. 阅读全文
posted @ 2012-03-20 10:06 commanderss 阅读(325) 评论(0) 推荐(0)
摘要:Installing a Theme from the Gallery在主题管理面板,Gallery选项中,可以看到Gallery中提供的主题,通过点击 Install链接进行主题的安装和下载.(需要启动gallery feature)Installing a Theme from your Local Computer在主题管理面板点击Install a theme from your computer. 阅读全文
posted @ 2012-03-20 10:06 commanderss 阅读(321) 评论(0) 推荐(0)
摘要:Orchard默认包含了Page和Blog内容类型,在管理面板也可以很容易的创建一个自定义的内容类型(或扩展现有内容类型)。默认Content Types功能是启用的,必须启用这个功能才能创建自定义内容类型。通过管理面板的 Content Types链接进行创建内容类型。下面列出一些系统默认的内容类型.点击 List Items 可以查看到系统中可用的这种内容项。点击 Edit 链接用于定义这种类型。内容类型由 fields和parts拼装起来。field 是具体的类型,如产品可以和名称和价格fields。part 是可附加到一个或多个类型的可复用组件,如Route part 给类型在前端通过 阅读全文
posted @ 2012-03-20 09:36 commanderss 阅读(666) 评论(0) 推荐(0)
摘要:Orchard提供了索引和搜索内容项的能力。Indexing feature提供了索引功能,默认基于Lucene实现。除了索引之外,搜索功能通过查询索引返回匹配数据列表给前端。启用这些功能,需要先从Gallery安装:Search,Indexing和Lucene模块。因为搜索依赖索引,所以启用搜索会自动启动索引。管理功能当启动索引,在配置中的Search Index项变得可用。索引器运行于后台,默认每1分钟一次,你可以通过面板更新和重建索引。当搜索启动后,在Settings面板会显示将被查询的字段,并且可以更新列表包含其它的字段。默认仅有 Body 和 Title字段被索引。此时前端还没有搜索 阅读全文
posted @ 2012-03-20 00:11 commanderss 阅读(584) 评论(0) 推荐(0)
摘要:Orchard支持两种本地化:Orchard程序本身和安装的模块的文本字符串数据库中内容项的本地化Localizing the Orchard Application and Orchard Modules所有的字符串通过能寻找一个基于网站默认文化的翻译字符串的单独的方法 T()输出。Orchard默认包含英语的字符,但你能添加对额外的文化的支持。dashboard UI和所有前端的静态字符同样能通过.po格式的翻译文件添加到程序中。有两种方法添加翻译文件:解压翻译文件到网站使用翻译管理器切换到另一文化通过Settings => General 面板完成。 阅读全文
posted @ 2012-03-19 23:51 commanderss 阅读(557) 评论(0) 推荐(0)
摘要:一般的CMS概念ContentCMS系统中的内容.如一篇博文、一条评论、一个产品、导航菜单或logo等。Admin panel,Dashboard or back-end管理后台。管理网站和内容的地方。CMS内容管理系统的缩写。Front-end被用户访问的前台。Setup系统的安装及基本设置Orchard conceptsContent Item内容项是内容中单独的一部分,经常与一个URL关联。如页面、博文或产品。Content Type内容项是内容类型的实例。如一篇博文是博客类型的一个实例。Content Part构建内容类型的基本元素。Content Field内容字段。能被添加到内容类 阅读全文
posted @ 2012-03-19 23:37 commanderss 阅读(1524) 评论(2) 推荐(3)
摘要:就这样吧 阅读全文
posted @ 2012-03-19 15:29 commanderss 阅读(313) 评论(0) 推荐(1)