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

Orchard Core 1.0.0 正式发布!相关推荐

  1. asp.net core 从 3.0 到 3.1

    asp.net core 从 3.0 到 3.1 Intro 今天 .net core 3.1 正式发布了,.net core 3.1 正式版已发布,3.1 主要是对 3.0 的 bug 修复,以及一 ...

  2. php7.0 百度百科,PHP 7.0.10正式发布

    原标题:PHP 7.0.10正式发布 PHP 7.0.10 正式发布了. 下载地址:http://php.net/distributions/php-7.0.10.tar.gz 改进日志如下: - C ...

  3. 前端框架 Angular 11.0.0 正式发布,不再支持 IE 9 、10

    前端框架 Angular 11.0.0 正式发布. Angular 11.0.0 将 TypeScript 升级到 4.0, 对 TypeScript 3.9 不再支持. 放弃了对 IE 9 .10 ...

  4. 独家专访:SequoiaDB 3.0 版本正式发布!协议级完整兼容MySQL!

    SequoiaDB 3.0 版本正式发布!协议级完整兼容MySQL! 标签:SequoiaDB 3.0,MySQL,OLTP SequoiaDB巨杉数据库 3.0,在产品GA发布后,经过近半年在金融级 ...

  5. 微软发布.NET Core Tools 1.0版本

    与上周发布的Visual Studio 2017一起,微软还发布了.NET Core Tools 1.0.这些工具对所有.NET核心开发人员都非常有用,无论他们使用VS2017.Visual Stud ...

  6. Spring Cloud 2020.0.0 正式发布,对开发者来说意味着什么?

    作者 | YourBatman 在线教育领域资深架构师,Spring Framework 开源贡献者 冷冷 云集架构师.开源项目 pig 负责人.Spring Cloud Alibaba Commit ...

  7. Apache Kafka 1.0.0正式发布!

    千呼万唤始出来,经过7年的发展与完善,Apache Kafka 1.0.0正式发布!在笔者看来,比起1.0.0引入的新功能,此版本最大的意义在于标识Kafka各种组件功能的稳定性.不过我们还是来看下1 ...

  8. Apache Hadoop 3.0.0 GA版正式发布,可以部署到线上

    今天凌晨 Apache Hadoop 3.0.0 GA 版本正式发布,这意味着我们就可以正式在线上使用 Hadoop 3.0.0 了!这个版本是 Apache Hadoop 3.0.0 的第一个稳定版 ...

  9. Angular4.0.0正式发布,附新特性及升级指南

    作者|孙薇编辑|尾尾经历了6个RC版本之后,Angular项目组终于在今天发布了新版,即 正式版 Angular 4.0.0.新版的 Angular 有哪些值得关注的点,究竟带来了哪些新特性?如何升级 ...

最新文章

  1. js init : function ()
  2. android 打包hbuilder 高德地图加载不出来_十一黄金周地图很忙:百度获央视报道,高德忙道歉,究竟谁好用?...
  3. c语言程序设计2014春第一套作业,C语言程序设计2014春第一套作业
  4. sqlserver 如何把一列分为一行显示_SqlServer数据库如何快速修改表的一列值
  5. 分享]人生忠告——七天改变人生影响世界
  6. 操作系统设备驱动实验实验报告
  7. 创客匠人直播可同时转播10大直播平台
  8. php pos机刷卡,POS机刷卡的正确使用方法和注意事项
  9. MacOS 10.15编译openjdk8u详细过程
  10. SAP系统里的统驭科目
  11. CocosCreater 发布apk接穿山甲广告SDK(一)
  12. cpu计算速度排行榜_中央处理器cpu性能排名
  13. 直播连麦怎么自动化测试
  14. Arrays类——Arrays.asList()方法使用
  15. 【Paper】2017_Consensus of linear multi-agent systems with exogenous disturbance generated from hetero
  16. Github上收集了70个微信小程序源码
  17. B端和C端产品的理解
  18. 【土堆pytorch】入门P23-P32 完结实战
  19. 数据结构 #考研#408
  20. GitHub上README写法暨GFM语法解读

热门文章

  1. c++ explicit关键字_聊一聊 C++的特性 explicit 匿名空间
  2. python list元素合并_python list 合并连接字符串的方法
  3. express利用nodemailer发送邮件(163邮箱)
  4. python正则中如何匹配汉字以及encode(‘utf-8’)和decode(‘utf-8’)的互转
  5. 自动调试自动编译五分钟上手
  6. BZOJ 4516: [Sdoi2016]生成魔咒 [后缀自动机]
  7. C#字符串、字节数组和内存流间的相互转换 - IT浪潮之巅
  8. Dom4J 解析xml ,类查询
  9. php基础系列:从用户登录处理程序学习mysql扩展基本操作
  10. shared_ptrT make_shared( Args ... args );