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. ...
随机推荐
- PostgreSQL 13.4的安装记录
PostgreSQL 13.4的安装记录 想着MySQL被Oracle给买了,总得做点别的准备不是,找了找别的开源的关系型数据库,貌似PostgreSQL的评价很不错,就试试先 因为是window10 ...
- 如何快速方便的生成好看的接口文档(apipost生成文档)
一键生成文档 我们在"2分钟玩转APIPOST"一讲中,简单介绍了如何生成并分享接口文档: 点击分享文档 复制并打开文档地址就可以看到了完整的接口文档. 本节课主要是讲解一些需要注 ...
- Linux搭建Syslog服务器
在大多数据的Linux发行版中,rsyslog是一个预先安装的标准日志后台进程.在 客户端/服务端 的系统配置中,rsyslog 能扮演两个角色;作为一个日志服务器能从其它设备收集日志信息,而作为一个 ...
- NOIP 模拟 $38\; \rm a$
题解 \(by\;zj\varphi\) 压行. 枚举两行,将中间的行压成一行,然后直接前缀和加二分. 注意边界细节问题. Code #include<bits/stdc++.h> #de ...
- 第12篇-认识CodeletMark
InterpreterCodelet依赖CodeletMark完成自动创建和初始化.CodeletMark继承自ResourceMark,允许自动析构,执行的主要操作就是,会按照Interpreter ...
- 【mysql】截取查询分析
1. 慢查询日志 1.1 是什么 (1)MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL ...
- new[]/delete[]与new/delete区别
new[]/delete[]与new/delete完全不同-动态对象数组创建通过new[] 完成-动态对象数组的销毁通过delete[]完成-new[]/delete[]能够被重载,进而改变内存管理方 ...
- 学习Java的9张思维导图
转自:https://blog.csdn.net/aitaozi11/article/details/79652943 网上搜集了java的学习思维导图,分享给大家. 01.Java程序设计(基础) ...
- Google Chrome浏览器必备的20个插件
Google Chrome浏览器虽然与火狐浏览器有所区别,不过他们都是很开放的浏览器产品,所以也有许多有用的插件,这些插件对于日常生活与网络冲浪都很有用,比如网银,炒股等. Google Chrome ...
- 去除所有js,html,css代码
<?php$search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript ...