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. ...
随机推荐
- Python语言系列-01-入门
python的出生与应用 #!/usr/bin/env python3 # author:Alnk(李成果) """ 1,python的出生与应用 python的创始人为 ...
- 【原创】利用动态二进制加密实现新型一句话木马之PHP篇
概述 本系列文章重写了java..net.php三个版本的一句话木马,可以解析并执行客户端传递过来的加密二进制流,并实现了相应的客户端工具.从而一劳永逸的绕过WAF或者其他网络防火墙的检测. 本来是想 ...
- sqli-labs 16-20
less 16: 和less 15基本一致,只是对参数进行了 ") 的包裹,注意闭合语句使用延时注入即可. 下面给一个payload示例: uname=admin")and if( ...
- 011 FPGA千兆网TCP通信【转载】
一.LWIP 首先通过上面的简单分析,我们应该很清楚一件事:TCP协议很复杂,光握手过程就需要"三次握手.四次挥手"的复杂过程,不是特别适合FPGA的纯逻辑实现,因为用FPGA实现 ...
- 解决Git中fatal: refusing to merge unrelated histories
原文链接: https://blog.csdn.net/wd2014610/article/details/80854807 Git的报错 在使用Git的过程中有时会出现一些问题,那么在解决了每个问题 ...
- .Net 之进制转换 余位补全
十进制转二进制 Convert.ToString(n, 2) 其中 n -- 源类型 可以是shrot Byte Int Uint Long 2 -- 目标位 可以是2,8,10,16 同理十进制转1 ...
- File--字节流--字符流
File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 1.构造方法 public File(String pathname) :通过将给定 ...
- spring初始化源码浅析之关键类和扩展接口
目录 1.关键接口和类 1.1.关键类之 DefaultListableBeanFactory 1.2.关键类之XmlBeanDefinitionReader 1.3.关键类之ClassPathXml ...
- 老鼠走迷宫I
转自:http://blog.csdn.net/holymaple/article/details/8582517 说明:老鼠走迷宫是递回求解的基本提醒,我们在二维阵列中使用2来表示迷宫墙壁,使用1来 ...
- ES读写数据的工作原理
es写入数据的工作原理是什么啊?es查询数据的工作原理是什么?底层的lucence介绍一下呗?倒排索引了解吗? 一.es写数据过程 1.客户端选择一个node发送请求过去,这个node就是coordi ...