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. ...
随机推荐
- 一次BC站点渗透实录
初探 打开首页 简单信息收集: IP地址:美国加利福尼亚洛杉矶 无CDN 中间件:Nginx 80端口直接突破,故未进行端口扫描 渗透思路 一般这种BC站点,有几种思路可以切入: 1)通过SQL注入查 ...
- Windows提权小结
摸鱼的时候,想想内网这部分还有什么地方适合水一下,翻翻往期,开始填坑 总结一下Windows提权的部分,以后有时间再补一下Linux提权 这仍然是一篇思路总结类的随笔,具体细节内容不展开,也展开不了. ...
- 第一次上传代码到gitee
初始化 git init 添加文件到本地仓库 git add . 提交文件到本地仓库 git remote add origin 仓库地址 拉去远程仓库代码 git pull origin maste ...
- 浅谈 asp.net core web api
希望通过本文能够了解如下内容: ControllerBase Attributes Action的返回值类型 ControllerBase 当我们开始实际上项目, 真正实操 anc 时, 肯定会用到 ...
- dataTemplate 的使用之listView
<Window x:Class="WpfApplication1.Window39" xmlns="http://schemas.microsoft.com/win ...
- p命名空间和c命名空间
4 p命名空间和c命名空间在通过构造方法或set方法给bean注入关联项时通常是通过constructor-arg元素和property元素来定义的.在有了p命名空间和c命名空间时我们可以简单的把它们 ...
- Oracle基本用法(一)
一.简介 数据库:Oracle数据库的概念和其他数据库不一样,这里的数据库是一个操作系统只有一个库,可以看做Oracle就是一个大的数据库. 实例:一个Oracle实例有一系列的后台进程和内存结构组成 ...
- response中setCharacterEncoding和setContentType的区别
package day08; import java.io.IOException; import javax.servlet.ServletException; import javax.servl ...
- Spring Mvc原理分析(一)
Servlet生命周期了解 Servlet的生命(周期)是由容器(eg:Tomcat)管理的,换句话说,Servlet程序员不能用代码控制其生命. 加载和实例化:时机取决于web.xml的定义,如果有 ...
- Linux 自旋锁,互斥量(互斥锁),读写锁
自旋锁(Spin Lock) 自旋锁类似于互斥量,不过自旋锁不是通过休眠阻塞进程,而是在取得锁之前一直处于忙等待的阻塞状态.这个忙等的阻塞状态,也叫做自旋. 自旋锁通常作为底层原语实现其他类型的锁. ...