大家好,欢迎来到IT知识分享网。
James: Orchard 最早是微软的员工创造的开源项目,使用的技术架构可以说是非常优秀,源码值得学习。功能也非常强大,支持模块化、多租户、工作流等等功能,可以说是 .NET 世界的 WordPress。一开始是.NET Framework 的,在 .NET Core 发布后,就开始开发 .NET Core 的版本。几年之后,直到最近终于发布了 1.0.0 正式版,非常兴奋!
Orchard Core 简介
Orchard Core 是基于 ASP.NET Core 重新开发的 Orchard CMS.
Orchard Core 由两个不同的目标组成:
-
Orchard Core Framework:一个在 ASP.NET Core 上构建模块化、多租户应用程序的应用框架。
-
Orchard Core CMS:建立在 Orchard Core Framework 之上的 Web 内容管理系统(CMS)。
注意区分框架和 CMS 之间的区别是很重要的。一些想要开发 SaaS 应用程序的开发人员只对模块化框架感兴趣。其他想要建立可管理网站的人将专注于 CMS 和构建模块来增强他们的网站或整个生态系统。
三行命令即可使用
-
安装模板:
dotnet new -i OrchardCore.ProjectTemplates::1.0.0
-
创建项目:
dotnet new occms -n MySite
-
运行项目:
dotnet run --project .\MySite\MySite.csproj
下面是官方文档上的介绍——
使用Orchard核心框架构建软件即服务(SaaS)解决方案
Orchard Core Framework 是独立于 CMS 在 nuget.org 上发布的,理解这一点非常重要。我们在 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 的情况下,CMS 的速度比之前的版本快了 20 倍。
-
可移植性 – 您现在可以在 Windows、Linux 和 macOS 上开发和部署 Orchard Core CMS,我们还提供了开箱即用的 Docker 映像。
-
文档数据库 抽象 – Orchard Core CMS 仍然需要一个关系数据库,并且兼容 SQL Server, MySQL, PostgreSQL 和 SQLite,但是它现在使用了一个文档抽象(YesSql),提供了一个文档数据库 API 来存储和查询文档。对于CMS系统来说,这是一种更好的方法,可以显著提高性能。
-
NuGet 包 – 模块和主题现在可以用 NuGet 包来共享。用 Orchard Core CMS 创建一个新网站实际上就像从 NuGet 库中引用一个元包一样简单。它还意味着更新到新版本只涉及更新这个包的版本号。
-
即时预览 – 当编辑内容项时,您现在可以实时看到它在您的站点上的样子,甚至在保存内容之前。它也适用于模板,在模板中,您可以浏览任何页面,在输入更改时检查更改对模板的影响。
-
Liquid 模板支持 – 编辑器可以使用 Liquid 模板语言安全地更改 HTML 模板。选择它是因为它既有很好的文档记录(Jekyll, Shopify 中也有使用),又安全。
-
自定义查询 – 我们希望为开发者提供一种尽可能简单的方式来访问他们的所有数据。我们创建了一个模块,它允许您创建定制的 ad-hoc SQL 和Lucene 查询,这些查询可以被重用以显示定制内容,或者作为 API 端点公开。您可以使用它来创建高效的查询,或将数据公开给 SPA 应用程序。
-
部署计划 – 部署计划是可以包含构建网站的内容和元数据的脚本。现在,您可以包含二进制文件,甚至可以使用它们来远程部署站点,例如,从登台部署到生产环境。它们也可以是 NuGet 包的一部分,允许你发布预定义的网站。
-
可伸缩性 – 因为 Orchard Core 是一个多租户系统,你可以在一个部署中托管尽可能多的网站。然后,一台典型的云机器可以并行地托管数千个站点,并与数据库、内容、主题和用户隔离。
-
工作流 – 内置了创建内容审批工作流,可以对 webhook 做出反应,在表单提交时采取行动,以及任何其他你想用用户友好的 UI 实现的过程。
-
GraphQL – 我们提供了一个非常灵活的 GraphQL API,这样任何授权的外部应用程序都可以重用您的内容,比如 SPA 应用程序或静态站点生成器。
不同的网站建设策略
Orchard Core CMS 支持所有主要的网站建设策略:
-
完整的 CMS. 在这种模式下,网站使用主题和模板来呈现你的内容,目标是很少或根本没有定制开发的场景。
-
解耦的 CMS. 除了内容管理后端,网站一开始是空白的。你用 Razor Pages 或 MVC 动作创建所有你需要的模板,并通过内容服务访问你的内容。参考: https://www.youtube.com/watch?v=yWpz8p-oaKg
-
Headless CMS. 站点只管理内容,您创建一个单独的应用程序,该应用程序将使用 GraphQL 或 REST api 获取托管内容。参考: https://www.youtube.com/watch?v=4o9zG17cfa0
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/25528.html