Orchard Source Analysis (1): Orchard Architecture

Source: Internet
Author: User
Tags orchard cms

This article mainly refers to the official document "How Orchard Works" and the translation on ORCHARDCH. Source analysis should be done discovering, rather than a glimpse of leopard or elephant. So we first have an overall understanding of the orchard architecture and some basic concepts. Creating a Web-based CMS (Content management System) differs from creating a normal Web application: It is more like building an application container. Such a system, must have a good openness, scalability. But as an extensible system, it may face the challenge of application "usability": a combination of core modules in the system and unknown future modules, including user interface level integration. The combination of small components in a relatively independent module, thus forming a coherent whole, is the key to orchard. We can make an analogy, if the orchard corresponds to the operating system, the core module corresponds to the system software, the custom module corresponds to a third-party application, the menu (foreground or background) corresponding to the Start menu.  Orchard boot time needs to load some modules, corresponding to the operating system boot system services. This article explains how Orchard chooses the architecture and how to gain flexibility and a good user experience. first, orchard ArchitectureThe top three floors are orchard. Visible orchard run on. net/asp. NET, using several open source frameworks or class libraries, including ASP. At the bottom of the Orchard is the Orchard framework (the Orchard.framework assembly), which is the core module (Modules) and other modules (Modules) from the official or unofficial. We can actually develop on any tier, usually in the modules layer, creating new module/theme or modifying existing module/theme. second, the Orchard FoundationThe Orchard CMS is built on existing frameworks and libraries, including ASP. NET Mvc,nhibernate,autofac,castle, etc. iii. Orchard Framework (orchard.framework Assembly)The Orchard.framework assembly is located at the very bottom of Orchard, which contains the application engine and the functionality that is not suitable for detaching into modules. These are the most fundamental things, even the most basic modules will have to rely on it. You can think of it as a base class library for orchard. Iv. Orchard Core modules (Orchard.core project and orchard.core Assembly)The Orchard.core project contains a set of modules that are necessary for Orhcard to run. Other modules can be safely dependent on these modules, as these modules are always available. such as the Feeds,navigation,routable module. Of course, as mentioned above, we can develop based on any layer of orchard, and if necessary, we can design "Core" ourselves. v. Modules (moduls)The Orchard default release contains some built-in modules like blogging, pages, and also makes it easy to create third-party modules. The module is the ASP. NET MVC area that contains the Module.txt file for extending orchard. Modules typically contain event handlers (events handlers), content types (contents types), and their default render templates, as well as some administrative interfaces (admin UI). Modifications to the module ". csproj" file or the ". csproj" Reference file enable the module to be automatically compiled dynamically. That is, you can not compile the module into a static assembly or even create or edit a module without using Vistual Studio. Vi. Theme (Themes)Themes allow Orchard users to customize the site display interface to tailor the site style they want. Themes can also be targeted for any template provided by the Orchard module to style rewrite, or even change the image, layout and so on. The theme is located in the Themes folder under the root directory of the Orchard Web site and contains theme.txt files. VII. Tenants/Sub-sites (tenants)Orchard supports subwebs, a set of programs, an application domain that deploys multiple different domain names, or sites with different URL prefixes for the same domain name. Reference: How Orchard Works

Orchard Source Analysis (1): Orchard Architecture

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.