Orchard Core Documentation

repository·main·Indexed 27 days ago

https://github.com/orchardcms/orchardcore

A modular, multi-tenant application framework and CMS built on ASP.NET Core. It consists of the Orchard Core Framework for building modular applications and the Orchard Core CMS. Documentation covers installation via NuGet and .NET CLI templates, configuration for .NET 6+, site setup, module development including admin navigation via INavigationProvider, and asset management using the Assets Manager tool with Parcel, Vite, or Webpack.

Tokens
183.8K
Snippets
432
Records
892
Agent score
89%

What's inside Orchard Core

  1. Overview of Orchard Core Display Concepts

    main

    Orchard Core uses a shape-based rendering system to customize the look and feel of applications. The system is built on four core concepts:

    • Themes: Packages containing layouts, templates, and assets (CSS, JavaScript, images).
    • Shapes: Dynamic objects representing every piece of a page (e.g., a content item, a field, a menu). Every shape can have its template replaced.
    • Templates: Markup for shapes, written in Liquid or Razor. Templates can be files within a theme or managed via the admin's Templates module. You can target specific content types or display types by naming a template after an alternate (e.g., Content-BlogPost.Summary).
    • Placement: Logic that controls which shapes are displayed, their rendering order, and their location in a zone or tab.
    • Zones: Defined regions in a layout (such as header, footer, or sidebars) where widgets can be placed using Layers.
  2. Overview of Orchard Core

    main

    Orchard Core is an open-source, modular, multi-tenant application framework and CMS built for ASP.NET Core. It is divided into two primary components:

    1. Orchard Core Framework: An application framework designed for building modular, multi-tenant applications on ASP.NET Core.
    2. Orchard Core CMS: A Web Content Management System (CMS) built on top of the Orchard Core Framework.

    The project is production-ready (v3.0.1) and suitable for large, mission-critical applications.

  3. Overview of the Audit Trail module

    main
    The OrchardCore.AuditTrail module provides an immutable, auditable log of system changes and events. It tracks actions such as the creation or deletion of content items and events like user login failures. For content items, it enables tracking changes, viewing previous versions, and restoring deleted items. Once enabled, an Audit Trail menu item appears in the admin UI to view the event list.
  4. Overview of Content Fields (`OrchardCore.ContentFields`)

    main

    The OrchardCore.ContentFields module provides a collection of common data types used to capture information in Orchard Core. Fields are typically attached to a Content Part, which is then added to a Content Type.

    While the Orchard Core UI allows you to add fields directly to a Content Type, the system internally creates a Content Part with the same name as the Content Type and attaches the fields to it.

    Fields support multiple Editors (different UIs for data input) and Display Modes (different formatting for output).

  5. Overview of Orchard Core Recipes

    main

    The OrchardCore.Recipes module enables automated tenant setup and configuration using JSON-based recipe files (.recipe.json). Recipes can be used to:

    • Install features
    • Set themes
    • Create content types
    • Provision content
    • Perform other automated configuration tasks

    Recipes are placed in a Recipes folder within your module or theme. They can be executed manually via the admin panel or automatically during the initial tenant setup.

  6. Overview of the Forms module

    main

    The OrchardCore.Forms module provides widgets and workflow activities to create, validate, and process forms. Form creation is split into two independent aspects:

    1. Building the form: Using the Form widget to define fields (Input, Textarea, Button, etc.).
    2. Processing the form: Handling submissions via a custom URL (e.g., a controller) or via a Workflow.

    To build a form, add a Form widget to a zone or to a content item that has the FlowPart attached.

  7. Overview of Data Access and Exposure in Orchard Core

    main

    Orchard Core provides two primary mechanisms for handling application data:

    1. Internal Data Access: Use YesSql to interact with the underlying data storage.
    2. Data Exposure: Use GraphQL to expose your internal data to external consumers or front-end applications.

    For detailed implementation details, refer to the specific documentation for the Data module, GraphQL module, or GraphQL queries.

  8. Overview of Search and Indexing in Orchard Core

    main

    Orchard Core provides an integrated search experience by allowing you to define which information should be indexed and how to query that indexed data. The search system is composed of several key components:

    • Indexing: The process of preparing data for search.
    • Querying: The mechanism used to retrieve data from the indexes.

    To implement search, you can choose between different indexing engines and query implementations, such as SQL Indexing or Lucene.