Download presentation
Presentation is loading. Please wait.
Published byAbigayle Watson Modified over 9 years ago
1
Orchard CMS Introduction December 15, 2011 Copyright 2011 Cloud Construct, LLC
2
Orchard CMS Boston User Group Kickoff! Internet – User : Cambridge Pass: BK1215 Microsoft N.E.R.D. Building http://orchardcmsboston.org Copyright 2011 Cloud Construct, LLC Contribute modules to gallery Enhance the user group site Learn how to use Orchard to build quality sites.
3
Agenda Orchard CMS Overview – Technology – Performance – Project Status – Installation Content Types, Content Parts, Fields Zones, Layers, Widgets Modules and Themes Localization Recipes Multi-Tenancy Debugging Questions? Tuning Performance Copyright 2011 Cloud Construct, LLC
4
Orchard CMS Preview Overview Architecture Performance Project Status Installation Copyright 2011 Cloud Construct, LLC
5
Overview Latest and Greatest Technology – ASP.NET MVC 3 – HTML 5 / CSS 3 –.NET 4.0 Entity Framework/Code First – Razor Templates – jQuery – SQL Compact or SQL Server – Windows Azure for scalability – Great for small to medium sized sites SEO focused. Focused on modular extensibility. Free, open source (new BSD license) Core MS Team is 7 developers, 2 designers, 2 PMs Accepts community contributions: – Patches to core, modules, translations, themes, etc Copyright 2011 Cloud Construct, LLC
6
Architecture NHibernate – object relational mapping tool. Data persistence. Autofac – Dependency Injection, separation of implementation and functionality. Castle Dynamic Proxy – Dynamic code on the fly to existing classes. No knowledge of any of these is needed for module development. Copyright 2011 Cloud Construct, LLC
7
Performance Page load time is dependent on modules loaded! < 1sec for a new site. Poorly written modules can change that. Memory usage is 120mb for a standard site. Much of this is attributed to the following: – It is a CMS and therefore cannot be optimized for a single use case. – Inversion of control patterns and dynamic code takes longer to execute. – In memory caching of data. – Template overriding. – Open source modules are not built completely optimized and can easily cause problems to your site if not tested. Copyright 2011 Cloud Construct, LLC
8
Tuning Performance Full trust mode from medium. (Security Risk) Debug flag to false in production. Orchard.Warmup module for most accessed page while app domain spins up. Pinging service so app never recycles in shared hosting. SQL server vs. SQL CE. Multi-tenancy for sharing app domain. Caching module data such as navigation. Copyright 2011 Cloud Construct, LLC
9
Project Status Version 1.3.0 released on October 3 rd. Code hosted on Codeplex – Discussions – Releases about every 3 months Feature release Bug fix release We have contributed two modules: – Cloud Construct Apple Touch Icon – Cloud Construct Post File Planning for Version 2.0 is in the works. Copyright 2011 Cloud Construct, LLC
10
Installation Web Platform Installer Download complete source. – Unzip and point at web folder to IIS. – Allows modifications to Orchard.Core and full build and compilation. Download only the web application itself. – Unzip and point root at IIS. – Dynamic compilation, edit modules and themes easily in Visual Studio. – About 50MB footprint for new site. Copyright 2011 Cloud Construct, LLC
11
Demo Login Walkthrough content pieces Editing Content Save/Publish/Draft Content Types Settings Copyright 2011 Cloud Construct, LLC
12
Demo Show theme folder structure Enabling a theme Copyright 2011 Cloud Construct, LLC
13
Themes It is a basic design principle in Orchard that all the HTML that it produces can be replaced from themes, including markup produced by modules. Themes can have a parent, which enables child themes to be specializations or adaptations of a parent theme. Mobile Theme can be triggered using Theme Selector Feature. Copyright 2011 Cloud Construct, LLC
14
Orchard Content Content is comprised of the following: – Content Item – Content Types – Content Parts – Content Fields Copyright 2011 Cloud Construct, LLC
15
Content Item A single piece of content, often associated with a single URL (address) on the site. Example, – Content items are pages, blog posts or products. Copyright 2011 Cloud Construct, LLC
16
Content Types Content items are instances of content types. Consist of Content Parts and Fields Example, – A page, blog post and product. In other words what we call a blog post is just an item of type blog post. Copyright 2011 Cloud Construct, LLC
17
Content Parts Content parts are atoms of content that are enough to build a specific coherent behavior and that can be reused across content types. There can be only one of each part on any given content type. Example, – Comments, tags, or ratings are content parts because they define a specific behavior and can be reused by any content type. Copyright 2011 Cloud Construct, LLC
18
Content Fields Much more granular than a part. Content fields are pieces of information that can be added to a content type. Example, – A part is used in a “has a” relationship and can be applied multiple times. There can be several of each field type on any given content type. Copyright 2011 Cloud Construct, LLC
19
Demo Module folder structure Install of Module Enabling features Copyright 2011 Cloud Construct, LLC
20
Modules Extension point for functionality. – Content Parts – Content Fields – Content Types ASP.NET MVC area. Grouping of controllers, drivers, handlers, and view templates. Use the RAZOR templates or ASPX. A module typically contains event handlers, content types and their default rendering templates as well as some admin UI. Copyright 2011 Cloud Construct, LLC
21
Demo Show Layout.cshtml Document.cshtml Zones page, layers, widgets Show rules Copyright 2011 Cloud Construct, LLC
22
Orchard Layout Widgets Layers Zones Copyright 2011 Cloud Construct, LLC
23
Widgets Piece of HTML content (with code and logic) which can be mapped / assigned to pages within a website. They have the widget content part. Widgets are added to pages through widget layers. Copyright 2011 Cloud Construct, LLC
24
Layers Defines a set of rules for rendering the widgets. They have a name, a rule that determines what pages of the site they should appear on, and a list of widgets and associated zone placement and ordering, and settings. The rules attached to each of the layers are expressed with IronRuby expressions. Copyright 2011 Cloud Construct, LLC
25
Zones Defines the position of the widget within a page (available zones depends on selected Theme). Copyright 2011 Cloud Construct, LLC
26
Localization Application Localization – Administration screens. – Community translations submitted. Content Localization – Content items in the db. – PO files are included in module and have translations. Resolved using T<> Localizer. – Localization module adds multiple content items for each language. Resolves proper content based on culture picker and URLs. (es-es, fr-fr, en-us) Copyright 2011 Cloud Construct, LLC
27
Recipes Recipes are used to create Orchard instances based on canned settings and features. – For example, you work in an environment where you create multiple sites that need similar settings, modules, and features. You can create a custom recipe for your site. – Runs when new site is created. “Cooks” the site with all the ingredients. – XML file that can be exported from a previously configured CMS. Copyright 2011 Cloud Construct, LLC
28
Multi-Tenancy Host multiple sites in one Orchard instance. Same app domain, different content and configuration. Multi-tenancy is particularly nice in a Windows Azure environment, because one deployment to Azure can easily support multiple websites. Copyright 2011 Cloud Construct, LLC
29
Debugging Shape Tracing – Demo enabling shape tracing and showing alternates. Logging with log4net Profiling Developer Modules Step through with debugger. (Very slow) Copyright 2011 Cloud Construct, LLC
30
New In Orchard 1.3.9 Content item preview Markdown support Delete content types and parts Title part enables non-routable types to have a title Common added by default to content types Rules: trigger custom actions triggered by events Forms API: create forms from code Tokens: system-wide variables New content manager methods: part eager loading, get multiple items by ids in one query Task Lease API: creates server affinities for background tasks on web farms and cloud platforms Localization: data annotations, widgets, alternates Lists have RSS feeds Copyright 2011 Cloud Construct, LLC
31
What have we built? – Localization – Contact Form – Resume Upload – Google Custom Search – Volunteer Signup – Blog with multiple contributors. – Email List Alerts – Apple Touch Icon – Rotating Banners Copyright 2011 Cloud Construct, LLC
32
Questions Questions anyone? Copyright 2011 Cloud Construct, LLC
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.