Deep Dive into Orchard Extensibility for CMS Developers Renaud Paquay Senior Developer Lead Orchard Team [email protected].
Download ReportTranscript Deep Dive into Orchard Extensibility for CMS Developers Renaud Paquay Senior Developer Lead Orchard Team [email protected].
Deep Dive into Orchard Extensibility for CMS Developers
Renaud Paquay
Senior Developer Lead Orchard Team [email protected]
Orchard CMS
DEMO
What Is Orchard?
• Orchard is a free, open source, community-focused project aimed at delivering applications and reusable components on the ASP.NET platform.
http://orchard.codeplex.com
http://orchardproject.net
http://orchard.codeplex.com/releases
Target Audiences
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
Orchard Architecture
Pages Feeds Themes Blogs Orchard Modules Comments Tags Scheduling Navigation XmlRpc Setup Users Settings Media Roles Homepage Orchard CMS ASP.NET MVC
Writing a module
DEMO
Orchard Themes
(action specific view) Layout.ascx
<% Html.RegisterStyle("site.css“) Model.Zones.Add("header”); %>
Html.ZoneBody("content")
;%>
Html.ZoneBody(“layout")
;%> Layout View Context
Accessing the database
DEMO
Composition
Data Composition
Record
Data
Record Record Record
Events
…passes back parts attached to Product type…
Data Composition
Product
Record
Data Tags Comments
Record Record
Common
Record
Events ProductHandler
…passes back parts attached to Product type…
Data Composition
ContentItemRecord
Id ContentTypeRecord_Id 5 7 1 1
ContentTypeRecord
Id Name 1 “page”
BodyRecord
Id Text 5 7 “
First post
” “Second
”RoutableRecord
Id Slug 5 7 “first-post” “second-post”
ContentItemRecord
Id ContentTypeRecord_Id 5 7 15 2 21 2 1 1
ContentTypeRecord
Id Name 1 2 “page” “product”
Data Composition
BodyRecord
Id Text 5 7 “
demo
” “about us
”ProductRecord
Id Sku Description 15 “sku1” 21 “sku2” “shoes” “t-shirt”
RoutableRecord
Id 5 7 Price 99.99
19.99
Slug “/home” “/about”
Defining a new content type
DEMO
UI Composition
UI Composition
Defining a content driver
DEMO
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
Conclusion
Other works-in-progress (not shown today):
• • • • • • • • • Permissions, default roles RSS/Atom XmlRpc Background tasks Eventing Logging Localization Site settings Etc.
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…
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.
Magelia
Magelia
Magelia
Magelia
• •
Magelia NetStore
–
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
Reviewer
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
Troav
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
•
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
Troav
EasySearchASP.NET
• TODO: Screenshot of EasySearch
EasySearchASP.NET
• TODO: Talking Points for EasySearch
Orchard Partners @ Mix
DEMO
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!