Orchard Core 1.0.0 正式发布!
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 正式发布!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 预约 .NET Conf: Focus
- 下一篇: Abp太重了?轻量化Abp框架