1 / 37

Deep Dive into Orchard Extensibility for CMS Developers

Deep Dive into Orchard Extensibility for CMS Developers. Renaud Paquay Senior Developer Lead Orchard Team rpaquay@microsoft.com. Orchard CMS. DEMO. What Is Orchard?.

odakota
Download Presentation

Deep Dive into Orchard Extensibility for CMS Developers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Deep Dive into Orchard Extensibility for CMS Developers Renaud Paquay Senior Developer Lead Orchard Team rpaquay@microsoft.com

  2. Orchard CMS DEMO

  3. What Is Orchard? • Orchard is a free, open source, community-focused project aimed at delivering applications and reusable components on the ASP.NET platform. • CMS platform built on ASP.NET MVC 2 • Licensed under the New BSD license • Included in the ASP.NET Open Source Gallery under the CodePlex Foundation • Accepts external contributions/patches today • Hosted on http://orchard.codeplex.com • Community site: http://orchardproject.net • Preview release: http://orchard.codeplex.com/releases

  4. Target Audiences • End-users • Pre-configured Orchard distributions enable creation of web sites through UI customization • Developers • Orchard is a CMS platform for creating custom applications and modules • Designers • Orchard offers a flexible theming platform • Web Professionals • Orchard is a highly customizable CMS application • Market place with a large choice of themes and modules

  5. Extensibility Deep Dive • Audience for the rest of the presentation is developers • Building a (very) basic “Products” module • Goal is to give a glimpse of the CMS platform the core Orchard team is building

  6. Orchard Architecture Orchard Modules Pages Blogs Comments Tags Media Feeds Scheduling XmlRpc Users Roles Themes Navigation Setup Settings Homepage Orchard CMS ASP.NET MVC

  7. Writing a module DEMO

  8. Orchard Themes Document.aspx Layout.ascx <view>.ascx <!DOCTYPE html> <html> <head> <title><%=Html.Title()%></title> <% Model.Zones.Add("head:before”); Html.Zone("head", ":metas :styles :scripts"); %> </head> <body> <%Html.ZoneBody(“layout");%> </body> </html> <% Html.RegisterStyle("site.css“) Model.Zones.Add("header”); %> <div class="page"> <div id="header"><% Html.Zone("header"); Html.Zone("menu"); %> </div> <div id="main"><% Html.ZoneBody("content");%> <div id="footer"><% Html.Zone("footer"); %></div> </div> </div> (action specific view) Layout View Context

  9. Accessing the database DEMO

  10. Composition Routable Body Tags Comments Common

  11. Data Composition ContentHandler 1 ContentManager (CRUD) ContentHandler 2 ContentItem Data Events (…) ContentPart 1 ContentPart2 (…) ContentHandler N ContentPartN …passes back parts attached to Product type…

  12. Data Composition ContentHandler 1 ContentManager (CRUD) ContentHandler 2 Product Data Events (…) Tags Comments Common ProductHandler …passes back parts attached to Product type…

  13. Data Composition

  14. Data Composition

  15. Defining a new content type DEMO

  16. UI Composition Routable Body Tags Comments Common

  17. UI Composition ContentDriver Part 1 Controller 1 ContentManager (BuildXxxModel) ContentDriver Part 2 ContentItem ViewModel 3 2 (…) 4 View ContentDriver Part n

  18. Defining a content driver DEMO

  19. Conclusion What you’ve seen: • Defining a simple module as MVC “Area” • Working with data (ProductRecord) • Defining a content type (Product) • Data Composition • ProductHandler, wiring up “Parts” like Common, Comments, Tags • UI Composition • ProductDriver, ViewModels • Editor templates on back-end/admin • Complete sample code on http://orchardproject.net

  20. Conclusion Other works-in-progress (not shown today): • Permissions, default roles • RSS/Atom • XmlRpc • Background tasks • Eventing • Logging • Localization • Site settings • Etc.

  21. Opportunities for You • Success of Orchard depends on community contribution • We are seeking partners and early evaluators/adopters • Reminder: this project is at a very early stage, so expect churn and breaking changes. • A few partners have started building stuff on Orchard today, and we’re getting great input from them…

  22. Partners @ Mix • Itelios/Magelia– commerce module • Magelia Commerce is a complete e-commerce offering. • Matt Lee (Redgate) – reviewer app • Online book hosting and review • Charlie Strout (SevenShadow) – troav app • Troav is a social encyclopedia, where users can create "treasures" that they share with their friends. • Scott Cate (EasySearchASP.net) – search module • EasySearchASP.NET is a search engine component that is very easy to integrate to an ASP.NET web site.

  23. Magelia

  24. Magelia

  25. Magelia

  26. Magelia • MageliaNetStore • Complete e-commerce offering • Targets mid-sized businesses • Open Source Edition H2 2010 (CodePlex) • Commercial version in 2011 • Visit www.magelia.org or www.itelios.com • Orchard & Magelia • Magelia benefits from Orchard extensibility • Orchard users can easily add commerce to sites

  27. Reviewer

  28. Reviewer • Why Reviewer? • Red Gate publishes technical books • http://www.red-gate.com/books • Needed innovative way of publishing and getting user feedback • Why Orchard? • Get “common things” for free – users / comments / admin system / persistence • Orchard users can add reviewer to other sites as a module

  29. Troav

  30. Troav • An Online Encyclopedia with a Social Twist • Users Create “Treasures” to Share Friends • Users Create Connections Between Treasures • Custom Educational Tours of Historic Treasures • Comments, Feeds, Linking, Blogs • Geo-location and Mapping • Location-aware Features

  31. Troav • Why Orchard ? • .NET MVC Framework • Out of the Box Modules Like Blogs and Pages • Easy Module and Theme Development • Ability to Use/Develop/Share Modules • Vibrant Developer Community http://Troav.com Charlie@troav.com

  32. EasySearchASP.NET • TODO: Screenshot of EasySearch

  33. EasySearchASP.NET • TODO: Talking Points for EasySearch

  34. Orchard Partners @ Mix DEMO

  35. Call to Action • Visit http://orchardproject.net • Opportunities to contribute to the system • Modules • Themes • Features • Design • Etc. • Come find us in the lounge following this session – we will be there to answer questions!

  36. © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related