/
Deep Dive into Orchard Extensibility for CMS Developers Deep Dive into Orchard Extensibility for CMS Developers

Deep Dive into Orchard Extensibility for CMS Developers - PowerPoint Presentation

sherrill-nordquist
sherrill-nordquist . @sherrill-nordquist
Follow
510 views
Uploaded On 2016-06-10

Deep Dive into Orchard Extensibility for CMS Developers - PPT Presentation

Renaud Paquay Senior Developer Lead Orchard Team rpaquaymicrosoftcom DEMO Orchard CMS What Is Orchard Orchard is a free open source communityfocused project aimed at delivering applications and reusable components on the ASPNET platform ID: 355438

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Deep Dive into Orchard Extensibility for..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Deep Dive into Orchard Extensibility for CMS Developers

Renaud Paquay

Senior Developer Lead

Orchard Team

rpaquay@microsoft.comSlide2

DEMO

Orchard CMSSlide3

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

Slide4

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 modulesSlide5

Extensibility Deep Dive

Audience for the rest of the presentation is developersBuilding a (very) basic “Products” moduleGoal is to give a glimpse of the CMS platform the core Orchard team is buildingSlide6

Orchard Architecture

ASP.NET MVC

Orchard CMS

Orchard Modules

Pages

Blogs

Users

Comments

Tags

Roles

Media

Setup

Themes

XmlRpc

Scheduling

Navigation

Homepage

Feeds

SettingsSlide7

DEMO

Writing a moduleSlide8

Orchard Themes

Layout View Context

<!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)

Document.aspx

Layout.ascx

<view>.ascxSlide9

DEMO

Accessing the databaseSlide10

Composition

Routable

Body

Common

Comments

TagsSlide11

Data Composition

ContentManager

(CRUD)

ContentItem

ContentHandler

1

ContentHandler

2

ContentHandler

N

(…)

ContentPart

1

ContentPart

2

(…)

ContentPart

N

Data

Events

Record

Record

Record

Record

…passes back parts attached to Product type…Slide12

Data

Data Composition

ContentManager

(CRUD)

Product

ContentHandler

1

ContentHandler

2

ProductHandler

(…)

Tags

Comments

Common

…passes back parts attached to Product type…

Events

Record

Record

Record

RecordSlide13

Data Composition

ContentItemRecord

Id

ContentTypeRecord_Id

5

1

7

1

ContentTypeRecord

Id

Name

1

“page”

BodyRecord

Id

Text

5

“<p>First

post

</p>”

7

“<p>Second</p>”

RoutableRecord

Id

Slug

5

“first-post”

7

“second-post”Slide14

Data Composition

ProductRecord

Id

Sku

Description

Price

15

“sku1”

“shoes”

99.99

21

“sku2”

“t-shirt”

19.99

ContentItemRecord

Id

ContentTypeRecord_Id

5

1

7

1

15

2

21

2

ContentTypeRecordId

Name1“page”

2“product”

BodyRecord

IdText5

“<p>demo</p>”7

“<p>about us</p>”

RoutableRecord

Id

Slug

5

“/home”

7

“/about”Slide15

DEMO

Defining a new content typeSlide16

UI Composition

Routable

Body

Common

Comments

TagsSlide17

UI Composition

ContentManager

(

BuildXxxModel

)

ContentItem

ViewModel

ContentDriver

Part 1

ContentDriver

Part 2

ContentDriver

Part n

(…)

View

Controller

1

2

3

4Slide18

DEMO

Defining a content driverSlide19

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 CompositionProductDriver, ViewModelsEditor templates on back-end/admin

Complete sample code on http://orchardproject.netSlide20

Conclusion

Other works-in-progress (not shown today):Permissions, default roles

RSS/Atom

XmlRpc

Background tasks

EventingLoggingLocalizationSite settingsEtc.Slide21

Opportunities for You

Success of Orchard depends on community contributionWe 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…Slide22

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.

Slide23

MageliaSlide24

MageliaSlide25

MageliaSlide26

Magelia

Magelia NetStore

Complete

e-commerce offering

Targets mid-sized businesses

Open Source Edition H2 2010 (CodePlex)Commercial

version in 2011Visit www.magelia.org  or

www.itelios.com

Orchard

&

Magelia

Magelia

benefits from Orchard extensibility

Orchard users can easily add commerce to sitesSlide27

ReviewerSlide28

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 moduleSlide29

TroavSlide30

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 FeaturesSlide31

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.comSlide32

EasySearchASP.NET

TODO: Screenshot of EasySearchSlide33

EasySearchASP.NET

TODO: Talking Points for EasySearchSlide34

DEMO

Orchard Partners @ MixSlide35

Call to Action

Visit http://orchardproject.netOpportunities to contribute to the system

Modules

Themes

Features

DesignEtc.Come find us in the lounge following this session – we will be there to answer questions!Slide36
Slide37

©

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.