如何扩展Orchard】的更多相关文章

翻译自: http://msdn.microsoft.com/en-us/magazine/hh708754.aspx     动态类型系统 Content item是Orchard中的原子, 比如blog post, pages, products, widgets   探索Content item原子 作为开发者,我们首先会想到Content item是一个类的实例(比如blog post类), 类中包含了property, method等. 实际的Content item不是由简单类型的属…
Orchard一直是博主心中神一般的存在,由于水平比较菜,Orchard代码又比较复杂看了几次都不了了之了.这次下定决心要搞懂其工作原理,争取可以在自己的项目中有所应用.为了入门先到官网去学习一下相关的基础内容.看到这篇比较不错的入门文章,边学习边翻译一下.希望给有需要的朋友以帮助,也希望和对Orchard感兴趣的朋友一起交流. Orchard如何工作 构建一个Web内容管理系统不同于构建一个常规web应用:前者更像构建一个应用容器.设计一个这样的系统,可扩展性应该放在第一位.这可能是一个挑战因…
我之前的项目中使用了Orchard, 它依据依赖注入的思想而做的模块化让我深深为之着迷,这里开始宣传一下这个架构. 包含的概念非常之多,我现在也不甚了解.Orchard就是自己想控制它改变它的话需要非常对.net非常的了解. Orchard是一个以微软为主导的开源CMS项目,它允许使用者在Asp.Net平台上快速建立网站,并且提供扩展框架能够允许定制人员通过模块和主题 等增加额外的内容,Orchard能够建设出复杂的内容管理系统,它提供了强大的模块化建设模式,通过组件的重用将系统建设成本最小化,…
概述 Orchard作为一个可扩展的CMS系统,是由一系列的模块(Modules)或主题(Themes)组成,这些模块或主题统称为扩展(Extensions).在初始化或运行时需要对扩展进行安装:DefaultOrchardHost.SetupExtensions方法. 当添加新的扩展.删除扩展或修改扩展源码后,需要通知扩展加载器(Extension Loader)重新加载或完成一些清理工作,所以需要进行监视:DefaultOrchardHost.MonitorExtensions方法. Orc…
  本文主要参考官方文档"How Orchard works"以及Orchardch上的翻译.   源码分析应该做到庖丁解牛,而不是以管窥豹或瞎子摸象.所以先对Orchard架构有个整体的了解,以及对一些基本概念有所认识.   创建一个基于Web的CMS(内容管理系统)不同于创建一个普通的Web应用程序:它更像是建立一个应用程序容器. 这样一个系统,必须拥有优良的开放性.可扩展性.但是作为一个可扩展系统,它可能会面临应用程序"可用性"的挑战:在系统中的核心模块与未知…
众所周知,Orchard是.net领域最好的开源CMS之一,他使用了微软最先进的技术,有一群先进理念的支持者,但是,所有的事情在国内总得加个但是,Orchard也不例外,中文资料相对比较少,官网提供的文档是全英文的,之前1.4的时候有中文文档,但是后台找不见了,1.8的文档曾有人翻译成中文,但是只有前10篇,本着看博客的人都是一家的思想,前10篇我就不翻译了,链接提供给大家,我从之后的开始. 当然翻译是一件枯燥无味的事情,难免有错误之处,还请众同仁批评指正,同时笔者虽然硕士学历,但是英语功底很一…
让我们开始 该主题内容已在Orchard1.8Release版本下测试通过. 这里通过向导式的教程来告诉大家Orchard的功能如何使用.如果你是第一次使用Orchard,该文档就是为你而准备的! Orchard使用从零开始 对于初次接触Orchard的你来说,这里就是你的圣地,因为你能在这里找到最新的Orchard资源. Orchard 初学者 Orchard CodePlex - Orchard代码库 Orchard 讨论区 - 关于Orchard讨论区 Orchard 文档 - 与Orch…
原文地址:http://docs.orchardproject.net/ 最近想要学习了解orchard,但却没有找到相关的中文文档,只有英文文档.于是决定自行翻译,以便日后方便翻阅. 转载请注明原作者与出处. 本人英文水平有限,错误之处欢迎指出以便修正. Orchard 文档 Note: 该文档站点内的所有与orchard相关的内容均来自于社区的贡献. 如果你愿意做出贡献,请参阅文档样式指导方针来发布建议主题. 让我们开始 安装 Orchard (翻译) 通过zip文件手动安装Orchard …
开始使用 安装Orchard 通过Orchard zip文件安装 使用WebMatrix开发Orchard Dashboard总览 创建你的第一个Orchard站点 导航和菜单 添加博客 新增管理媒体内容 管理小工具 通过标签来组织内容 创建自定义表单 关于这个项目 Orchard基础知识 Orchard内建特性 Orchard管理(初级) Orchard本地化 索引和查询 内容发布 创建内容类型 自定义站点 预览和使用主题 安装主题 自定义默认主题 Orchard管理(高级) 启用.禁用特性…
2018.9.25 日深圳市友浩达科技有限公司发布基于Orchard Core开发的官网 http://www.weyhd.com/. 本篇文章为你介绍如何基于Orchard Core开发一个公司网站.Orchard Core是一个免费和开源的社区交流项目,致力于在ASP.NET Core平台开发应用程序和可重用性组件.它将创建用于ASP.Net Core应用和扩展的共享组件,以及修改这些组件以便使其应用于终端用户,脚本人员和开发者.如果您现在是.NET Core 跨平台的爱好者,想找一个基于A…
文章翻译自http://docs.orchardproject.net/Documentation/How-Orchard-works 对Orchard的理解还不深刻,翻译可能有不好的地方.     开发CMS不同于开发其它的web项目,CMS的首要目标就是要支持扩展.   Orchard 架构 Modules Core Orchard Framework ASP.NET MVC NHibernate Autofac Castle .NET ASP.NET IIS or Windows Azur…
一.项目介绍 Orchard是一个免费和开源的社区交流项目,致力于在ASP.NET平台开发应用程序和可重用性组件.它将创建用于ASP.Net应用和扩展的共享组件,以及修改这些组件以便使其应用于终端用户,脚本人员和开发者.使用的开源协议是OSI认证的 New BSD license. Orchard 是由微软公司创建,基于 ASP.NET MVC 技术的免费开源内容管理系统: 可用于建设博客.新闻门户.企业门户.行业网站门户等各种网站 简单易用的后台界面 性能稳定,功能齐全 热拔插模块化架构提供超…
建立一个CMS网站(内容管理系统)是不同于建立一个普通的web站点:它更像是建立一个应用程序容器. 设计这样一个系统时,必须建立一流的可扩展性功能.这必需是一个非常开放式的构架,但是一个开放性的系统可能会影响应用程序可用性的挑战,在系统中的需要 与未知的未来模块的组合,包括在用户界面级别,编排所有这些小零件,让互不知道的彼此成一个连贯的整体,是Orchard是关键. 本文解释了我们在orchard的构架的选择,以及是如何解决,特别是如何获得灵活性和良好的用户体验问题. 构架 Modules Co…
在这部分,我们要完成的工作有: 1:将购物车内的商品变成真正的订单: 2:理解 父子及一对多关系: 3:写一个针对 Event Bus 的扩展点: 4:实现一个针对该扩展点的模拟的 支付服务: 一:创建订单 Views/Checkout.Summary.cshtml: @using Orchard.ContentManagement@using TMinji.Shop.Models@{    Style.Require("TMinji.Shop.Checkout.Summary"); …
参考: http://www.orchardch.com/Blog/20120830071458 1. host.Initialize(); private static IOrchardHost HostInitialization(HttpApplication application) { var host = OrchardStarter.CreateHost(MvcSingletons); host.Initialize(); // initialize shells to speed…
Orchard 源码探索(Module,Theme,Core扩展加载概述) 参考: http://www.orchardch.com/Blog/20120830071458 1. host.Initialize(); 1 2 3 4 5 6 7 8 private static IOrchardHost HostInitialization(HttpApplication application) {      var host = OrchardStarter.CreateHost(MvcSi…
金天:学习一个新东西,就要持有拥抱的心态,如果固守在自己先前的概念体系,就会有举步维艰的感觉. 金天:看源码永远是Coder学习的最快捷路径.     看本文需要对Orchard大致体系, 特别是Module插件体系有一定的理解.   Orchard Admin Menu   自定义后台管理导航菜单,只要在自己的Module里面实现接口INavigationProvider, 如下图.     所有需要做的很简单,像上图,添加AdminMenu实现INavigationProvider接口.  …
Orchard官方教程(译)索引 链接标注 原文 则表示未译,其他带有中文标题的表示译文内容. 入门 安装Orchard--Installing Orchard 通过zip包手动安装Orchard--Manually Installing Orchard Using a .zip File 使用WebMatrix管理Orchard网站--Working with Orchard in WebMatrix Orchard控制面板概览--Getting Around the Dashboard 构建…
原文链接:Building Your First Orchard Site 文章内容基于Orchard 1.8版本 本文将逐步简要介绍Orchard提供的功能.如果你是第一次使用Orchard,本文将非常适合你. Orchard入门 对于初次接触Orchard的人,我们提供以下一些关于Orchard资源和最新信息的链接: Orchard Beginner Orchard in GitHub - Orchard Code Repository Orchard Discussion Forum -…
原文链接:Working with Orchard in WebMatrix WebMatrix--微软一站式Web开发工具,包括网站的创建.编辑以及发布--不过现在微软更推荐VS code .WebMatrix中自带了内置Web服务器(IIS Express), 同时还内置了一个简化的编辑器--可以直接编辑及自定义应用,如Orchard.如果你使用Web Platform Installer安装Orchard,你需要选择将其安装到WebMatrix而非IIS--在你决定使用WebMatrix管…
Orchard开放了命令行功能,用于在快速创建代码. 由于该功能默认没有开启.系统中提供两种开启方式: 1.进入管理后台->Modules->找到[Code Generation]->点击Enable 2.使用命令行工具:输入feature enable Orchard.CodeGeneration 命令行工具的位置为:Web的bin目录下Orchard.exe. 针对codegen ,目前Orchard提供如下命令: 1.创建一个数据迁移类 命令:codegen datamigrati…
概述 关于ASP.NET MVC中路由有两个基本核心作用,一是通过Http请求中的Url参数等信息获取路由数据(RouteData),路由数据包含了area.controller.action的名称等信息.只有获取了匹配的路由数据,才有可能转入ASP.NET MVC管道:二是根据由规则生成Url,比如要根据某些数据生成View上显示的链接.   Orchard对路由进行扩展主要基于如下原因: (1).路由定义在各个模块中.在Orchard应用程序初始化时将分散在各个模块的路由定义收集起来统一注册…
概述 Orchard归根结底是一个ASP.NET MVC(以后都简称为MVC)应用,但在前面的分析中,与MVC相关内容的涉及得很少.MVC提供了非常多的扩展点,本文主要关注Orchard所做的扩展.主要集中在如下几个方面: 1.Routing(路由)相关 2.Controller相关 3.ViewEngines相关 4.Model绑定(Binding)相关 5.Model验证器(Validator)相关   我们将分几个篇幅来分别分析.     参考资料: How ASP.NET MVC Wor…
概述 CacheModule也是一个Autofac模块.   一.CacheModule类 CacheModule将DefaultCacheManager注册为ICacheManager:      public class CacheModule : Module {          protected override void Load( ContainerBuilder builder) {             builder.RegisterType<DefaultCacheMa…
概述在Orchard中,提出子站点(Tenant)的概念,目的是为了增加站点密度,即一个应用程序域可以有多个子站点. Shell是子站点(Tenant)级的单例,换句话说Shell代表了子站点.对比来看,Host是应用程序域级的单例,代表了Orchard应用程序.本文将分析Shell相关的各种类型.   一.获取ShellSettings 在 DefaultOrchardHost类的CreateAndActivateShells方法中,由Shell设置管理器 ShellSettingsManag…
BeginRequest事件处理的作用是确保所有Shell已经加载,或者在扩展有变化的时候重新加载.          void IOrchardHost .BeginRequest() {             Logger.Debug( "BeginRequest");             BeginRequest();         }           protected virtual void BeginRequest() {             // Ens…
概述 Orchard.WarmupStarter程序集包含三个类:WarmupUtility.WarmupHttpModule和Starter<T>.该程序集主要为Orchard应用启动初始化服务.一.WarmupUtility类 该类是一个静态工具类,包含一个静态只读String型字段WarmupFilesPath,以及三个方法EncodeUrl.ToUrlString和DoBeginRequest. 1.WarmupFilesPath其值为"~/App_Data/Warmup/&…
概述 分析一个的ASP.NET项目源码,首先可以浏览其项目结构,大致一窥项目其全貌,了解项目之间的依赖关系.其次可以浏览Web.config和Global.asax文件,找到应用程序的入口点. 本 文主要分析Orchard项目的Global.asax文件,而真正的分析入口点在Global.asax的CodeBehind文件 Global.asax.cs中,即Orchard.Web.MvcApplication类(以下简称MvcApplication类).   MvcApplication类处理了…
发布说明: 1. 添加Json格式数据文件支持.2. 删除了Settings, Modules, Themes模块中的Routers和Controllers.3. 删除了默认的ContentType,Site和User.4. 支持空库(无表结构)及默认设置运行. 下载地址: 源码: Orchard.Platform.Source.1.7.2.zip GitHub地址: https://github.com/zhongzf/Orchard.Platform 注:此版本为Orchard“超精简”版本…
试着用markdown写些东西.貌似博客园支持的还有问题,代码片段显示错位,还得另外上传图片.还是用普通方法写写随笔好了. Logging相对也是比较松耦合的模块,可以随时提取出来用在自己的项目中.其实说到底它还是用的log4net.先看一下几个文件. 1.ILogger.俗话说面向接口编程,这个就是Orchard中Logger的接口,提供了2个方法 public interface ILogger { bool IsEnabled(LogLevel level); void Log(LogLe…