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. ...
随机推荐
- Git(7)-- 查看提交历史(git log 命令详解)
@ 目录 1.git clone 2.git log 3.git log -p 4.git log --stat 5.git log --pretty=oneline 6.git log --pret ...
- Java中使用split方法根据英文问号?切割字符串时报错
因为正则表达式的原因,我们无法在java中直接使用String.split("?"),需要先转义其正确写法为: public static void splitStr() { St ...
- NOIP 模拟 9 分组
题解 这道题我们发现可以根据 \(k=1\) 和 \(k=2\) 的情况分别讨论 \(k=1\) 时,我们发现要保证字典序,那么我们从后往前扫,扫的时候判断一下当前数是否会和上一段的冲突. 复杂度瓶颈 ...
- 【AI】PytorchSegmentCode
From: https://liudongdong1.github.io/ 0. 基础配置 0.1. 设置随机种子 def set_seeds(seed, cuda): ""&qu ...
- 手把手教你AspNetCore WebApi:Swagger(Api文档)
前言 小明已经实现"待办事项"的增删改查,并美滋滋向负责前端的小红介绍Api接口,小红很忙,暂时没有时间听小明介绍,希望小明能给个Api文档.对于码农小明来说能不写文档就尽量不要写 ...
- WPF 显示3D密集场景,堆场管理系统
又好久好久没写博客了,这次接着上文https://www.cnblogs.com/CSSZBB/p/12785380.html,上文用WPF 的绘图功能,制作了一个伪3D的2.5D控件ThreeDBo ...
- 深入浅出Mybatis系列(六)---配置详解之typeAliases别名
本篇继续讲剩下的配置节点之一:typeAliases. typeAliases节点主要用来设置别名,其实这是挺好用的一个功能, 通过配置别名,我们不用再指定完整的包名,并且还能取别名. 例如: 我们在 ...
- 如果服务器数据更新了,CDN的数据是怎么及时更新的
A:cdn一般用来存静态资源.拿网站来说,当用户访问网站时静态资源从cdn加载.cdn向后段源服务器请求资源并缓存,这个请求过程是周期性的,自动的,称为回源. 当你更新了一个文件,现在正巧还没到cdn ...
- C# ArrayPool 源码解读之 byte[] 池化
一:背景 1. 讲故事最近在分析一个 dump 的过程中发现其在 gen2 和 LOH 上有不少size较大的free,仔细看了下,这些free生前大多都是模板引擎生成的html片段的byte[]数组 ...
- 过WAF的小思路
过WAF的小思路 前言 最近在学习了一波CMS漏洞,尝试看了几个菠菜站,有宝塔WAF...向WHOAMI大佬取经回来后,绕过了一个WAF.觉得是时候要认真总结一下了:) 前期的过程 菠菜采用的是Thi ...