Orchard Core 简介
Orchard Core 是基于ASP.NET Core 对Orchard CMS的 二次开发。
Orchard Core由两部分组成:
- Orchard Core Framework: 一个基于ASP.NET Core 建立的模块化、多租户应用程序框架。
- Orchard Core CMS: 在Orchard Core Framework上建立的内容管理系统 。
需要说明有一下这两个的区别:一些开发人员想开发SaaS应用只关注于模块化框架。另一些人想要建立可管理网站将重点放在CMS上,并构建模块来增强他们的网站或整个生态系统。
通过Orchard Core Framework建立一个SaaS应用解决方案
有一点非常重要,就是Orchard Core Framework是独立于nuget.org上的CMS发布的。我们在https://github.com/OrchardCMS/OrchardCore.Samples上有一些例子可以引导你如何通过Orchard Core Framework建立模块化和多租户应用程序,而不包含任何CMS的特征。
我们的目标之一是支持基于社区的托管应用生态系统,这些生态系统可以通过模块进行扩展,比如电子商务系统、博客引擎等等。Orchard Core Framework支持模块化环境,允许不同的团队处理应用程序的不同部分,并使组件可跨项目重用。
通过Orchard Core CMS建立网站
Orchard Core CMS是在ASP.NET Core 基础上完全对Orchard CMS进行了重写。它不仅仅是一个移植,因为我们希望大幅提高性能,并尽可能与ASP.NET Core的开发模型保持一致。
- 性能. 当您开始使用Orchard Core CMS时,这可能是最明显的变化。对于CMS来说,这是非常快的。速度如此之快,以至于我们甚至都不关心处理输出缓存模块。让您了解一下,在没有缓存的情况下,Orchard Core CMS的速度大约是前一个版本的20倍。
- 可移植的. 您现在可以在Windows、Linux和MacOS上开发和部署Orchard Core CMS。我们还有Docker镜像可供使用。
- 文档数据库。Orchard Core CMS仍然需要关系数据库,并且与SQL Server、MySQL、PostgreSQL和SQLite兼容,但它现在使用文档抽象(YesSql)来提供文档数据库API来存储和查询文档。对于CMS系统来说,这是一种更好的方法,显著提高了性能.
- NuGet Packages. 模块和主题现在共享为NuGet包。使用Orchard Core CMS创建一个新网站实际上就像引用NuGet库中的一个元包一样简单。这还意味着,更新到较新的版本只涉及更新此软件包的版本号.
- 实时预览.编辑内容项时,甚至在保存内容之前,您现在就可以实时查看它在站点上的外观。它也适用于模板,在模板中,您可以浏览任何页面,在键入时检查更改对模板的影响。
- 支持Liquid模板.编辑人员可以使用Liquid模板语言安全地更改HTML模板。它之所以被选中,是因为它既有很好的文件记录并且安全可靠。
- 自定义查询. 我们希望为开发人员提供一种尽可能简单地访问所有数据的方法。我们创建了一个模块,让您可以创建定制的即席SQL和Lucene查询,这些查询可以重用来显示定制内容,或者公开为API端点。您可以使用它来创建高效的查询,或将您的数据公开给SPA应用程序。
- 部署计划. 部署计划是可以包含用于构建网站的内容和元数据的脚本。现在,您可以包含二进制文件,甚至可以使用它们远程部署站点,例如,将站点从临时环境部署到生产环境。它们也可以是NuGet包的一部分,允许您发布预定义的网站。
- 可伸缩性. 因为Orchard Core是一个多租户系统,你可以在一个部署中托管尽可能多的网站。然后,一台典型的云机器可以并行地托管数千个站点,并与数据库、内容、主题和用户隔离。
- 工作流. 创建内容审批工作流,对webhook做出反应,在表单提交时采取行动,以及任何其他你想用用户友好的UI实现的过程。
- GraphQL. 我们提供了一个非常灵活的GraphQL API,这样任何授权的外部应用程序都可以重用您的内容,比如SPA应用程序或静态站点生成器。
不同的网站建设策略
Orchard Core CMS支持所有主要的网站建设策略:
- Full CMS. 在这种模式下,网站使用主题和模板来呈现您的内容,目的是很少或根本不进行自定义开发.
- Decoupled CMS. 除了内容管理后端,该站点从空白开始。您可以使用Razor页面或MVC操作创建所需的所有模板,并通过内容服务访问您的内容。
- Headless CMS. 该站点仅管理内容,您可以创建一个单独的应用程序,该应用程序将使用GraphQL或REST API获取托管内容.
开始
- ·使用命令git clone https://github.com/OrchardCMS/OrchardCore.git克隆存储库,并签出最新版本的主分支,或者最新版本的开发分支。
- 通过以下地址观看Orchard Core的视频https://www.youtube.com/watch?v=HeDjv3blBjQ&t=2246s&list=PL1rZQsJPBU2StolNg0aqvQswETPcYnNKL&index=24
- 参考这个例子 https://github.com/OrchardCMS/OrchardCore.Samples 引导你如何建立多租户和模块化的应用程序。
- 按照培训演示模块中的教程学习如何开发模块Training Demo Module
命令行
- 安装.NET SDK最新版本https://dotnet.microsoft.com/download
- 接下来,用管理员身份通过命令行跳转到 D:\OrchardCore\src\OrchardCore.Cms.Web 或者你的相应文件夹
- 运行 dotnet run.
- 打开浏览器,输入 http://localhost:5000 查看
你也可以阅读 Code Generation Templates documentation 通过预定义的模板创建新的应用程序
Visual Studio
我们推荐用于Orchard Core的各种开发工具的更多详细信息,请查看the Development Tools documentation page.
- 下载Visual Studio 2019 (any edition) from https://www.visualstudio.com/downloads/.
- 打开解决方案 OrchardCore.sln and 等待Visual Studio 还原所有的 Nuget packages.
- 确认OrchardCore.Cms.Web 是启动项目并且运行它。
- 可选的安装项 Lombiq Orchard Visual Studio Extension 用来添加一些有用的工具到你的Visual Studio,比如错误日志观察或者依赖注入。
- 可选的安装项 code snippets from the Orchard Dojo Library 用来在模块和主题开发过程中,在一些常见场景中快速的生成代码。
Orchard Core 简介的更多相关文章
- Orchard Core一分钟搭建ASP.NET Core CMS
Orchard Core 是Orchard CMS的ASP.NET Core版本. Orchard Core是全新一代的ASP.NET Core CMS. 官方文档介绍:http://orchardc ...
- Orchard Core Framework:ASP.NET Core 模块化,多租户框架
Orchard Core Framework:ASP.NET Core 模块化,多租户框架 上一篇编写Orchard Core一分钟搭建ASP.NET Core CMS ,介绍ASP.NET Core ...
- 发布基于Orchard Core的友浩达科技官网
2018.9.25 日深圳市友浩达科技有限公司发布基于Orchard Core开发的官网 http://www.weyhd.com/. 本篇文章为你介绍如何基于Orchard Core开发一个公司网站 ...
- 酷学习笔记——ASP.NET Core 简介
ASP.NET Core 简介 其实就是说酷好,不好好学,不学好,没饭吃. 新词汇:IoT,Internet of Things,网联网,微软物联网英文网站.微软物联网中文网站
- Orchard Core学习一
Orchard Core学习一 Orchard Core是ASP.NET Core上Orchard CMS的重新开发. Orchard Core由两个不同的目标组成: Orchard核心框架:用于在A ...
- Orchard Core 增加了一个API模块,要怎么调用
如下,我在Orchard Core框架中添加了一个API的模块,并且定义了对应的权限才可以调用,那么我们现在考虑的就是要怎么去调用它. 首先,我们用Fiddler查看下我们正常的登录的http报文,直 ...
- Orchard Core 自定义权限配置
在我们为Orchard Core配置了一个新的Module之后,我们要考虑的是谁可以访问这个Module,那么这里就涉及到了一个权限的配置.如下图,添加了自定义的权限: Orchard Core源码: ...
- Orchard Core 模块化
在上一篇文章谈到如何搭好一个基础的Orchard Core项目. 今天要尝试Orchard Core的模块化. 我自己的理解:一个系统可以分成一个个模块,这一个个模块是由一个个类库去实现的. 首先,在 ...
- Orchard Core 版本冲突 The type 'FormTagHelper' exists in both 'Microsoft.AspNetCore.Mvc.TagHelpers, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' and...
最近老大让我看Orchard Core,这是一个CMS系统.可以先参考大佬的文章:https://www.cnblogs.com/shanyou/archive/2018/09/25/9700422. ...
随机推荐
- ECC(Ellipse Curve Cryptography)+AES(Advanced Encryption Standard)前端通讯加密模拟(使用eccrypto-js)
前置知识 不了解对称加密与非对称加密的小伙伴可以看看下面的文章,想详细学习与区块链有关的加密算法可以戳这里 对称与非对称加密 https://blog.csdn.net/u013320868/arti ...
- 徒手打造基于Spark的数据工厂(Data Factory):从设计到实现
在大数据处理和人工智能时代,数据工厂(Data Factory)无疑是一个非常重要的大数据处理平台.市面上也有成熟的相关产品,比如Azure Data Factory,不仅功能强大,而且依托微软的云计 ...
- Python小白的数学建模课-18.最小生成树问题
最小生成树(MST)是图论中的基本问题,具有广泛的实际应用,在数学建模中也经常出现. 路线设计.道路规划.官网布局.公交路线.网络设计,都可以转化为最小生成树问题,如要求总线路长度最短.材料最少.成本 ...
- .NET Core:处理全局异常
一.前言 在程序设计中,我们会遇到各种各样的异常问题,一个好的异常处理解决方案能够帮助开发者快速的定位问题,也能够给用户更好的用户体验.那么我们在AspNetCore中该如何捕获和处理异常呢?我们以一 ...
- Leaflet 中 删除 一个 标记(Marker)
参考:https://blog.csdn.net/qq_34922009/article/details/81184004 下面是我在Leaflet官方文档所找到的答案 ,希望可以帮助到大家 比如以下 ...
- UWP 动画之路径
xml --------------------------------------------- <Page x:Class="MyApp.MainPage" xmlns= ...
- long ? 的使用和理解
Dictionary<string, object> dic = new Dictionary<string, object>(); long lg = 12345; dic[ ...
- Git修改历史commit的author信息
前言 "嘀嗒嘀嗒",抬头看向墙上的钟表,此时已是凌晨1点.小明终于把Go语言圣经第二章的笔记写完,保存commit,提交,然后睡觉. 额,等等,不对,小明发现他用的是公司的git账 ...
- VS2017 提示找不到某个.dll库,或某个dll库丢失,原因
可能因为那个dll的确不存在 可能因为需要在环境变量->系统环境变量->添加该dll所在目录
- 关闭 Scroll Lock
通常,在电子表格中选择一个单元格并按箭头键时,所选内容会在各个单元格之间上下左右移动,具体取决于您按的箭头键.但是,如果在 Scroll Lock 处于开启状态时按箭头键,则向上或向下滚动一行.或者, ...