SlideShare a Scribd company logo
1 of 47
Alexandre Marreiros, 2011




A Quick Intro
Alexandre Marreiros, 2011


Agenda
 Introduction
 Build on
 Concepts Review
 Get and Setup Orchard
 Orchard Concepts
 Theme
 Widget
 Modules
 Advance Theme Concepts
Alexandre Marreiros, 2011


Introduction
“Orchard is a Web CMS, which essentially aims at helping
you build web sites from existing pieces. Those pieces
come in a few different sizes and shapes that need to be
well understood if you're going to be productive with them.
This article will go through those pieces and explain their
names and behavior.”
                                               Orchard Team
Alexandre Marreiros, 2011


Introduction
What is Orchard CMS ?

 Is a CMS
 User Centric
 Open Source Suported by Outercurve
  Foundation
 A framework based on an architecture of
  Plugins and Provider’s

Is built on top of .NET
Alexandre Marreiros, 2011


Built On
                       Orchard CMS



        Razor Views                  Database Engine


                                         OR
       ASP.NET MVC 3                              Sql Server
                              SQL CE
                                                      (*)


          .NET 4.5


*sql server > 2000 any version in house and SQL Azure
Alexandre Marreiros, 2011


Concepts Review
ASP.NET MVC 3
Built on Top off ASP.NET with the main intent of implement MVC pattern with
Microsoft Web Technologies



                                    Model




                    View                         Controller
Alexandre Marreiros, 2011


Concepts Review
Razor
Is a general propose template engine used to generate HTML from data. Is
avaiable in ASP.NET MVC 3 Views.
Razor provides a easy to read and wirte sintaxe that allow us to use ritch code
in the midle of Markup code.
@ - Marks the begining of a razor sentence in ASP.MVC 3




                                                           Generated
    Template                        Data                    Output
Alexandre Marreiros, 2011


Concepts Review
Razor Glossary
@ - Marks the begining of a razor sentence in ASP.MVC 3
@{ } – Code Block
@i - Implicit code
(@i) – explicit code
<text> </text> - Razor tag that allows to define a plain text part
@HTML – Use html util helper functions


Example of razor to display a partial view

         @HTML.Partial( “_partialview “, Model )
Alexandre Marreiros, 2011




       Demo ASP.NET MVC3 & Razor




Demo
Alexandre Marreiros, 2011


Introduction
How I get Orchard?

 With WebMatrix & WebPlataform
 With Codeplex
     Download the release
     Clone source code



    First time I run Orchard Setup happens
Alexandre Marreiros, 2011




       Get Orchard




Demo
Alexandre Marreiros, 2011


Orchard Concepts
                                                                Buch of
Typed single                                                    information and
Information    Content                            Content
                Field                                           reusable
                                                   Part         behaviour



                                   Content
          Classes of Data,          Type
          Abstration of concepts



                              Instance of content     Content
                              type, Single piece of    Item
                              content
Alexandre Marreiros, 2011


Orchard Concepts
Orchard define his own model of security based
on users roles and premissions.

                                   Premission


      User           Role

                                    Premission



                                      ….N
Alexandre Marreiros, 2011


Orchard Concepts
Customizable built in Orchard CMS roles
                       Full control over site and settings
    Administrator

                    Is not allowed to creat content only edit
       Editor
                     Validate user created contents, only
     Moderator             frontend content for now


       Author                Writes and plublishes

                    Write content can be or not allowed to
     Contributor                   publish

     Anonymous      Unknown user not login in CMS engine

    Authenticated      Any user with a role in the CMS
Alexandre Marreiros, 2011


Orchard Concepts
The user interface of Orchard uses a Themming
aproach.
Alexandre Marreiros, 2011


Orchard Concepts
Orchards offers a plug an play cross content
engine that enable us to use widgets and define
zones for that in our theme
Alexandre Marreiros, 2011


Orchard Concepts
The most basic building Block of Orchard are
Modules.
Each Module is a MVC Block that extends
Orchard Architecture
        Modules   Modules   Modules   Modules   Modules



                  Orchard CMS Core Framework
Alexandre Marreiros, 2011


Orchard Concepts
Each Module we install in the Platform give us a
group of functionalities, that can be or not
enabled to this concept as the name of feature.
Alexandre Marreiros, 2011




       Orchard concepts




Demo
Alexandre Marreiros, 2011


Orchard Concepts
In review
Alexandre Marreiros, 2011


Theme
Mechanism for specified the look and feel of a
Orchard solution.

In Orchard when you define a Module you
define the way he render, that is the look and
Feel of the module unless the theme say is
differente

The same is true for Parts, Widgets and Fields
(that are also modules).
Alexandre Marreiros, 2011


Theme
Theme Possible States



                  Enabled                              Active




                                      Install




                 Disabled                             Current



* An Active current doesn’t have necessary to be the current
Alexandre Marreiros, 2011


Theme
Theme rendering engine



                      Current                   Active
                      Theme                     Theme




                                                   Module



•   When a theme does not define the look and feel of a module that comes from
    the active team and if no active team from the module itself
•   The Active Theme can become the cureent theme if a theme selector elevate is
    priority
Alexandre Marreiros, 2011




       Orchard Theme




Demo
Alexandre Marreiros, 2011


Theme
All Orchard Themes live in a Folder that makes
part of Orchard IIS Directory Named:
Alexandre Marreiros, 2011


Theme
Let’s take a look at Theme Folder organization
Alexandre Marreiros, 2011




       Orchard Theme




Demo
Alexandre Marreiros, 2011


Widget



         Widget




                  widget
Alexandre Marreiros, 2011


Widget
                         Theme.txt




                    Layouts.cshtml
Alexandre Marreiros, 2011


Widget




  Layer’s
Alexandre Marreiros, 2011


Modules
Are the basic building blocks of Orchard

Each module is a MVC application that lives in
the Orchard ecosystem
Alexandre Marreiros, 2011




       Orchard Modules




Demo
Alexandre Marreiros, 2011


Modules
Alexandre Marreiros, 2011


Modules
                             Modules are
                          Costum Extensions
                            Grouped in a
      Modules                 package.




          Features    . Features are a logical
                             grouping of
                        functionality. (can be
                         enabled or disable)
Alexandre Marreiros, 2011


Modules
And what kind of modules we have?

          Modules   Modules   Modules   Modules


               Orchard CMS Core Framework




Where Modules Live?
Alexandre Marreiros, 2011




       Orchard Modules anatomy




Demo
Alexandre Marreiros, 2011


Advance Theme Concepts
                             Shape
Shape




                 Shape



                                  Shape
         Shape

                         Shape
Alexandre Marreiros, 2011


Advance Theme Concepts
Render Engine
                          Header       Widget           Shape
 Theme        Layout        …
 Render         UI
                          Content      Content          Shape


The UI of Orchard are a compound UI once that all the UI is
divided in to different small blocks of UI

Shapes are dynamic UI models of data

We can define just as a Shape as simple a Razor template
Alexandre Marreiros, 2011


Advance Theme Concepts
You can define alternates to specific UI
elements.

Imagine if i want to override the Shape that
renders the Content but just when the url of the
item is homepage i can create the shape

     Content-url-homepage.cshtml
Alexandre Marreiros, 2011


Advance Theme Concepts
Rules for alternates

For content parts:

 [ShapeType]__[Id]. (Example template:
  PartsCommon.Metadata-42)
 [ShapeType]__[ContentType]. (Example
  template: PartsCommon.Metadata-BlogPost)
Alexandre Marreiros, 2011


Advance Theme Concepts
Rules for alternates

For widget shapes:

 Widget__[ZoneName]. (Example template:
  Widget-SideBar)
 Widget__[ContentType]. (Example template:
  Widget-BlogArchive)
Alexandre Marreiros, 2011


Advance Theme Concepts
Rules for alternates

For Content shapes:

 Content__[DisplayType]. (Example template: Content.Summary)
 Content__[ContentType]. (Example template: Content-BlogPost)
 Content__[Id]. (Example template: Content-42)
 Content_[DisplayType]__[ContentType]. (Example template:
  Content-BlogPost.Summary)
 Content_[DisplayType]__[Id]. (Example template: Content-
  42.Summary)
Alexandre Marreiros, 2011


Advance Theme Concepts
The placement of shapes can be defined by the
Theme
Alexandre Marreiros, 2011




       Orchard UI composed “Shapes”




Demo
Alexandre Marreiros, 2011


More Thoughts
   We had made a long dive in to Orchard Concepts, now
    we are able to understand all the orchard picture and
    start working.

   Next session is Development dive in to the plataform.

   For you start playing start working start using Orchard,
    collaborate with the community
Alexandre Marreiros, 2011


Refrences
   http://www.orchardproject.net/
   http://www.orchardproject.net/docs/
   http://weblogs.asp.net/bleroy/
   http://paper.li/jgaylord/1306335822
   http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-
    net-mvc-3-and-the-helper-syntax-within-razor.aspx
   http://Asp.net
Alexandre Marreiros, 2011




Email: Amarreiros@gmail.com
Twitter: @alexmarreiros

Feel free to ask

More Related Content

What's hot

Tumbleweed intro
Tumbleweed introTumbleweed intro
Tumbleweed introRich Helton
 
Hibernate complete notes_by_sekhar_sir_javabynatara_j
Hibernate complete notes_by_sekhar_sir_javabynatara_jHibernate complete notes_by_sekhar_sir_javabynatara_j
Hibernate complete notes_by_sekhar_sir_javabynatara_jSatya Johnny
 
Leverage Hibernate and Spring Features Together
Leverage Hibernate and Spring Features TogetherLeverage Hibernate and Spring Features Together
Leverage Hibernate and Spring Features TogetherEdureka!
 
Ruby On Rails Tutorial
Ruby On Rails TutorialRuby On Rails Tutorial
Ruby On Rails Tutorialsunniboy
 
Spring Web Service, Spring JMS, Eclipse & Maven tutorials
Spring Web Service, Spring JMS, Eclipse & Maven tutorialsSpring Web Service, Spring JMS, Eclipse & Maven tutorials
Spring Web Service, Spring JMS, Eclipse & Maven tutorialsRaghavan Mohan
 
3) web development
3) web development3) web development
3) web developmenttechbed
 
Part 7 packaging and deployment
Part 7 packaging and deploymentPart 7 packaging and deployment
Part 7 packaging and deploymenttechbed
 
Lessons learned from upgrading Thymeleaf
Lessons learned from upgrading ThymeleafLessons learned from upgrading Thymeleaf
Lessons learned from upgrading ThymeleafVMware Tanzu
 
Lab 5a) create a struts application
Lab 5a) create a struts applicationLab 5a) create a struts application
Lab 5a) create a struts applicationtechbed
 
Spring IOC advantages and developing spring application sample
Spring IOC advantages and developing spring application sample Spring IOC advantages and developing spring application sample
Spring IOC advantages and developing spring application sample Sunil kumar Mohanty
 
vCloud SDK for PHP - Introduction
vCloud SDK for PHP - IntroductionvCloud SDK for PHP - Introduction
vCloud SDK for PHP - IntroductionPablo Roesch
 

What's hot (20)

Struts N E W
Struts N E WStruts N E W
Struts N E W
 
Tumbleweed intro
Tumbleweed introTumbleweed intro
Tumbleweed intro
 
Rest web service
Rest web serviceRest web service
Rest web service
 
Exploring Maven SVN GIT
Exploring Maven SVN GITExploring Maven SVN GIT
Exploring Maven SVN GIT
 
Hibernate complete notes_by_sekhar_sir_javabynatara_j
Hibernate complete notes_by_sekhar_sir_javabynatara_jHibernate complete notes_by_sekhar_sir_javabynatara_j
Hibernate complete notes_by_sekhar_sir_javabynatara_j
 
Leverage Hibernate and Spring Features Together
Leverage Hibernate and Spring Features TogetherLeverage Hibernate and Spring Features Together
Leverage Hibernate and Spring Features Together
 
Spring Framework -I
Spring Framework -ISpring Framework -I
Spring Framework -I
 
Ruby On Rails Tutorial
Ruby On Rails TutorialRuby On Rails Tutorial
Ruby On Rails Tutorial
 
Spring Web Service, Spring JMS, Eclipse & Maven tutorials
Spring Web Service, Spring JMS, Eclipse & Maven tutorialsSpring Web Service, Spring JMS, Eclipse & Maven tutorials
Spring Web Service, Spring JMS, Eclipse & Maven tutorials
 
3) web development
3) web development3) web development
3) web development
 
Reactjs Basics
Reactjs BasicsReactjs Basics
Reactjs Basics
 
Part 7 packaging and deployment
Part 7 packaging and deploymentPart 7 packaging and deployment
Part 7 packaging and deployment
 
Lessons learned from upgrading Thymeleaf
Lessons learned from upgrading ThymeleafLessons learned from upgrading Thymeleaf
Lessons learned from upgrading Thymeleaf
 
Lab 5a) create a struts application
Lab 5a) create a struts applicationLab 5a) create a struts application
Lab 5a) create a struts application
 
Spring jdbc
Spring jdbcSpring jdbc
Spring jdbc
 
Spring boot jpa
Spring boot jpaSpring boot jpa
Spring boot jpa
 
Overview of JEE Technology
Overview of JEE TechnologyOverview of JEE Technology
Overview of JEE Technology
 
DJango
DJangoDJango
DJango
 
Spring IOC advantages and developing spring application sample
Spring IOC advantages and developing spring application sample Spring IOC advantages and developing spring application sample
Spring IOC advantages and developing spring application sample
 
vCloud SDK for PHP - Introduction
vCloud SDK for PHP - IntroductionvCloud SDK for PHP - Introduction
vCloud SDK for PHP - Introduction
 

Similar to Orchard CMS: Quick Intro to Core Concepts

Domas monkus drupal module development
Domas monkus drupal module developmentDomas monkus drupal module development
Domas monkus drupal module developmentDomas Monkus
 
C# Design Patterns | Design Pattern Tutorial For Beginners | C# Programming T...
C# Design Patterns | Design Pattern Tutorial For Beginners | C# Programming T...C# Design Patterns | Design Pattern Tutorial For Beginners | C# Programming T...
C# Design Patterns | Design Pattern Tutorial For Beginners | C# Programming T...Simplilearn
 
01 persistence and domain modeling
01 persistence and domain modeling01 persistence and domain modeling
01 persistence and domain modelingthirumuru2012
 
Cocoa encyclopedia
Cocoa encyclopediaCocoa encyclopedia
Cocoa encyclopediaAlex Ali
 
Web application development with laravel php framework version 4
Web application development with laravel php framework version 4Web application development with laravel php framework version 4
Web application development with laravel php framework version 4Untung D Saptoto
 
Large-Scale JavaScript Development
Large-Scale JavaScript DevelopmentLarge-Scale JavaScript Development
Large-Scale JavaScript DevelopmentAddy Osmani
 
Repository Pattern in MVC3 Application with Entity Framework
Repository Pattern in MVC3 Application with Entity FrameworkRepository Pattern in MVC3 Application with Entity Framework
Repository Pattern in MVC3 Application with Entity FrameworkAkhil Mittal
 
Introducing Ruby/MVC/RoR
Introducing Ruby/MVC/RoRIntroducing Ruby/MVC/RoR
Introducing Ruby/MVC/RoRSumanth krishna
 
An Introduction to Enterprise Design Patterns
An Introduction to Enterprise Design PatternsAn Introduction to Enterprise Design Patterns
An Introduction to Enterprise Design PatternsAdam Stephensen
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorialsTIB Academy
 
Oops design pattern intro
Oops design pattern intro Oops design pattern intro
Oops design pattern intro anshu_atri
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstElements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstEnea Gabriel
 
Workshop 9: BackboneJS y patrones MVC
Workshop 9: BackboneJS y patrones MVCWorkshop 9: BackboneJS y patrones MVC
Workshop 9: BackboneJS y patrones MVCVisual Engineering
 
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"GlobalLogic Ukraine
 
Containers behind the curtains
Containers   behind the curtainsContainers   behind the curtains
Containers behind the curtainsOmer Barel
 

Similar to Orchard CMS: Quick Intro to Core Concepts (20)

Pragmatic orchard 2
Pragmatic orchard 2Pragmatic orchard 2
Pragmatic orchard 2
 
Raptor 2
Raptor 2Raptor 2
Raptor 2
 
Domas monkus drupal module development
Domas monkus drupal module developmentDomas monkus drupal module development
Domas monkus drupal module development
 
Design patterns
Design patternsDesign patterns
Design patterns
 
C# Design Patterns | Design Pattern Tutorial For Beginners | C# Programming T...
C# Design Patterns | Design Pattern Tutorial For Beginners | C# Programming T...C# Design Patterns | Design Pattern Tutorial For Beginners | C# Programming T...
C# Design Patterns | Design Pattern Tutorial For Beginners | C# Programming T...
 
01 persistence and domain modeling
01 persistence and domain modeling01 persistence and domain modeling
01 persistence and domain modeling
 
Cocoa encyclopedia
Cocoa encyclopediaCocoa encyclopedia
Cocoa encyclopedia
 
Web application development with laravel php framework version 4
Web application development with laravel php framework version 4Web application development with laravel php framework version 4
Web application development with laravel php framework version 4
 
Large-Scale JavaScript Development
Large-Scale JavaScript DevelopmentLarge-Scale JavaScript Development
Large-Scale JavaScript Development
 
Laravel overview
Laravel overviewLaravel overview
Laravel overview
 
Repository Pattern in MVC3 Application with Entity Framework
Repository Pattern in MVC3 Application with Entity FrameworkRepository Pattern in MVC3 Application with Entity Framework
Repository Pattern in MVC3 Application with Entity Framework
 
Introducing Ruby/MVC/RoR
Introducing Ruby/MVC/RoRIntroducing Ruby/MVC/RoR
Introducing Ruby/MVC/RoR
 
An Introduction to Enterprise Design Patterns
An Introduction to Enterprise Design PatternsAn Introduction to Enterprise Design Patterns
An Introduction to Enterprise Design Patterns
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorials
 
Oops design pattern intro
Oops design pattern intro Oops design pattern intro
Oops design pattern intro
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstElements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code First
 
Workshop 9: BackboneJS y patrones MVC
Workshop 9: BackboneJS y patrones MVCWorkshop 9: BackboneJS y patrones MVC
Workshop 9: BackboneJS y patrones MVC
 
Why Laravel?
Why Laravel?Why Laravel?
Why Laravel?
 
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
 
Containers behind the curtains
Containers   behind the curtainsContainers   behind the curtains
Containers behind the curtains
 

More from Alexandre Marreiros

Xamarin devdays 2017 - PT - connected apps
Xamarin devdays 2017 - PT - connected appsXamarin devdays 2017 - PT - connected apps
Xamarin devdays 2017 - PT - connected appsAlexandre Marreiros
 
ASP.NEt MVC and Angular What a couple
ASP.NEt MVC and Angular What a coupleASP.NEt MVC and Angular What a couple
ASP.NEt MVC and Angular What a coupleAlexandre Marreiros
 
Jws masterclass progressive web apps
Jws masterclass progressive web appsJws masterclass progressive web apps
Jws masterclass progressive web appsAlexandre Marreiros
 
Quick View of Angular JS for High School
Quick View of Angular JS for High SchoolQuick View of Angular JS for High School
Quick View of Angular JS for High SchoolAlexandre Marreiros
 
Pt xug xamarin pratices on big ui consumer apps
Pt xug  xamarin pratices on big ui consumer appsPt xug  xamarin pratices on big ui consumer apps
Pt xug xamarin pratices on big ui consumer appsAlexandre Marreiros
 
Gab2015 azure search as a service
Gab2015 azure search as a serviceGab2015 azure search as a service
Gab2015 azure search as a serviceAlexandre Marreiros
 
Pragmatic responsive web design industry session 7
Pragmatic responsive web design   industry session 7Pragmatic responsive web design   industry session 7
Pragmatic responsive web design industry session 7Alexandre Marreiros
 
Universal Apps Development using HTML 5 and WINJS
Universal Apps Development using HTML 5 and WINJSUniversal Apps Development using HTML 5 and WINJS
Universal Apps Development using HTML 5 and WINJSAlexandre Marreiros
 
Windows8.1 html5 dev paradigm discussion netponto
Windows8.1 html5 dev paradigm discussion netpontoWindows8.1 html5 dev paradigm discussion netponto
Windows8.1 html5 dev paradigm discussion netpontoAlexandre Marreiros
 

More from Alexandre Marreiros (20)

Agular fromthetrenches2netponto
Agular fromthetrenches2netpontoAgular fromthetrenches2netponto
Agular fromthetrenches2netponto
 
Whats a Chat bot
Whats a Chat botWhats a Chat bot
Whats a Chat bot
 
Type of angular 2
Type of angular 2Type of angular 2
Type of angular 2
 
Xamarin devdays 2017 - PT - connected apps
Xamarin devdays 2017 - PT - connected appsXamarin devdays 2017 - PT - connected apps
Xamarin devdays 2017 - PT - connected apps
 
ASP.NEt MVC and Angular What a couple
ASP.NEt MVC and Angular What a coupleASP.NEt MVC and Angular What a couple
ASP.NEt MVC and Angular What a couple
 
Angular 2
Angular 2Angular 2
Angular 2
 
Jws masterclass progressive web apps
Jws masterclass progressive web appsJws masterclass progressive web apps
Jws masterclass progressive web apps
 
Xamarin.forms
Xamarin.forms Xamarin.forms
Xamarin.forms
 
Quick View of Angular JS for High School
Quick View of Angular JS for High SchoolQuick View of Angular JS for High School
Quick View of Angular JS for High School
 
Pt xug xamarin pratices on big ui consumer apps
Pt xug  xamarin pratices on big ui consumer appsPt xug  xamarin pratices on big ui consumer apps
Pt xug xamarin pratices on big ui consumer apps
 
Get satrted angular js day 2
Get satrted angular js day 2Get satrted angular js day 2
Get satrted angular js day 2
 
Get satrted angular js
Get satrted angular jsGet satrted angular js
Get satrted angular js
 
Gab2015 azure search as a service
Gab2015 azure search as a serviceGab2015 azure search as a service
Gab2015 azure search as a service
 
Pragmatic responsive web design industry session 7
Pragmatic responsive web design   industry session 7Pragmatic responsive web design   industry session 7
Pragmatic responsive web design industry session 7
 
Boot strapandresponsiveintro
Boot strapandresponsiveintroBoot strapandresponsiveintro
Boot strapandresponsiveintro
 
WebSite development using WinJS
WebSite development using WinJSWebSite development using WinJS
WebSite development using WinJS
 
Universal Apps Development using HTML 5 and WINJS
Universal Apps Development using HTML 5 and WINJSUniversal Apps Development using HTML 5 and WINJS
Universal Apps Development using HTML 5 and WINJS
 
GWAB Mobile Services
GWAB Mobile ServicesGWAB Mobile Services
GWAB Mobile Services
 
Html5ignition newweborder
Html5ignition newweborderHtml5ignition newweborder
Html5ignition newweborder
 
Windows8.1 html5 dev paradigm discussion netponto
Windows8.1 html5 dev paradigm discussion netpontoWindows8.1 html5 dev paradigm discussion netponto
Windows8.1 html5 dev paradigm discussion netponto
 

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Orchard CMS: Quick Intro to Core Concepts

  • 2. Alexandre Marreiros, 2011 Agenda  Introduction  Build on  Concepts Review  Get and Setup Orchard  Orchard Concepts  Theme  Widget  Modules  Advance Theme Concepts
  • 3. Alexandre Marreiros, 2011 Introduction “Orchard is a Web CMS, which essentially aims at helping you build web sites from existing pieces. Those pieces come in a few different sizes and shapes that need to be well understood if you're going to be productive with them. This article will go through those pieces and explain their names and behavior.” Orchard Team
  • 4. Alexandre Marreiros, 2011 Introduction What is Orchard CMS ?  Is a CMS  User Centric  Open Source Suported by Outercurve Foundation  A framework based on an architecture of Plugins and Provider’s Is built on top of .NET
  • 5. Alexandre Marreiros, 2011 Built On Orchard CMS Razor Views Database Engine OR ASP.NET MVC 3 Sql Server SQL CE (*) .NET 4.5 *sql server > 2000 any version in house and SQL Azure
  • 6. Alexandre Marreiros, 2011 Concepts Review ASP.NET MVC 3 Built on Top off ASP.NET with the main intent of implement MVC pattern with Microsoft Web Technologies Model View Controller
  • 7. Alexandre Marreiros, 2011 Concepts Review Razor Is a general propose template engine used to generate HTML from data. Is avaiable in ASP.NET MVC 3 Views. Razor provides a easy to read and wirte sintaxe that allow us to use ritch code in the midle of Markup code. @ - Marks the begining of a razor sentence in ASP.MVC 3 Generated Template Data Output
  • 8. Alexandre Marreiros, 2011 Concepts Review Razor Glossary @ - Marks the begining of a razor sentence in ASP.MVC 3 @{ } – Code Block @i - Implicit code (@i) – explicit code <text> </text> - Razor tag that allows to define a plain text part @HTML – Use html util helper functions Example of razor to display a partial view @HTML.Partial( “_partialview “, Model )
  • 9. Alexandre Marreiros, 2011 Demo ASP.NET MVC3 & Razor Demo
  • 10. Alexandre Marreiros, 2011 Introduction How I get Orchard?  With WebMatrix & WebPlataform  With Codeplex  Download the release  Clone source code First time I run Orchard Setup happens
  • 11. Alexandre Marreiros, 2011 Get Orchard Demo
  • 12. Alexandre Marreiros, 2011 Orchard Concepts Buch of Typed single information and Information Content Content Field reusable Part behaviour Content Classes of Data, Type Abstration of concepts Instance of content Content type, Single piece of Item content
  • 13. Alexandre Marreiros, 2011 Orchard Concepts Orchard define his own model of security based on users roles and premissions. Premission User Role Premission ….N
  • 14. Alexandre Marreiros, 2011 Orchard Concepts Customizable built in Orchard CMS roles Full control over site and settings Administrator Is not allowed to creat content only edit Editor Validate user created contents, only Moderator frontend content for now Author Writes and plublishes Write content can be or not allowed to Contributor publish Anonymous Unknown user not login in CMS engine Authenticated Any user with a role in the CMS
  • 15. Alexandre Marreiros, 2011 Orchard Concepts The user interface of Orchard uses a Themming aproach.
  • 16. Alexandre Marreiros, 2011 Orchard Concepts Orchards offers a plug an play cross content engine that enable us to use widgets and define zones for that in our theme
  • 17. Alexandre Marreiros, 2011 Orchard Concepts The most basic building Block of Orchard are Modules. Each Module is a MVC Block that extends Orchard Architecture Modules Modules Modules Modules Modules Orchard CMS Core Framework
  • 18. Alexandre Marreiros, 2011 Orchard Concepts Each Module we install in the Platform give us a group of functionalities, that can be or not enabled to this concept as the name of feature.
  • 19. Alexandre Marreiros, 2011 Orchard concepts Demo
  • 20. Alexandre Marreiros, 2011 Orchard Concepts In review
  • 21. Alexandre Marreiros, 2011 Theme Mechanism for specified the look and feel of a Orchard solution. In Orchard when you define a Module you define the way he render, that is the look and Feel of the module unless the theme say is differente The same is true for Parts, Widgets and Fields (that are also modules).
  • 22. Alexandre Marreiros, 2011 Theme Theme Possible States Enabled Active Install Disabled Current * An Active current doesn’t have necessary to be the current
  • 23. Alexandre Marreiros, 2011 Theme Theme rendering engine Current Active Theme Theme Module • When a theme does not define the look and feel of a module that comes from the active team and if no active team from the module itself • The Active Theme can become the cureent theme if a theme selector elevate is priority
  • 24. Alexandre Marreiros, 2011 Orchard Theme Demo
  • 25. Alexandre Marreiros, 2011 Theme All Orchard Themes live in a Folder that makes part of Orchard IIS Directory Named:
  • 26. Alexandre Marreiros, 2011 Theme Let’s take a look at Theme Folder organization
  • 27. Alexandre Marreiros, 2011 Orchard Theme Demo
  • 29. Alexandre Marreiros, 2011 Widget Theme.txt Layouts.cshtml
  • 31. Alexandre Marreiros, 2011 Modules Are the basic building blocks of Orchard Each module is a MVC application that lives in the Orchard ecosystem
  • 32. Alexandre Marreiros, 2011 Orchard Modules Demo
  • 34. Alexandre Marreiros, 2011 Modules Modules are Costum Extensions Grouped in a Modules package. Features . Features are a logical grouping of functionality. (can be enabled or disable)
  • 35. Alexandre Marreiros, 2011 Modules And what kind of modules we have? Modules Modules Modules Modules Orchard CMS Core Framework Where Modules Live?
  • 36. Alexandre Marreiros, 2011 Orchard Modules anatomy Demo
  • 37. Alexandre Marreiros, 2011 Advance Theme Concepts Shape Shape Shape Shape Shape Shape
  • 38. Alexandre Marreiros, 2011 Advance Theme Concepts Render Engine Header Widget Shape Theme Layout … Render UI Content Content Shape The UI of Orchard are a compound UI once that all the UI is divided in to different small blocks of UI Shapes are dynamic UI models of data We can define just as a Shape as simple a Razor template
  • 39. Alexandre Marreiros, 2011 Advance Theme Concepts You can define alternates to specific UI elements. Imagine if i want to override the Shape that renders the Content but just when the url of the item is homepage i can create the shape Content-url-homepage.cshtml
  • 40. Alexandre Marreiros, 2011 Advance Theme Concepts Rules for alternates For content parts:  [ShapeType]__[Id]. (Example template: PartsCommon.Metadata-42)  [ShapeType]__[ContentType]. (Example template: PartsCommon.Metadata-BlogPost)
  • 41. Alexandre Marreiros, 2011 Advance Theme Concepts Rules for alternates For widget shapes:  Widget__[ZoneName]. (Example template: Widget-SideBar)  Widget__[ContentType]. (Example template: Widget-BlogArchive)
  • 42. Alexandre Marreiros, 2011 Advance Theme Concepts Rules for alternates For Content shapes:  Content__[DisplayType]. (Example template: Content.Summary)  Content__[ContentType]. (Example template: Content-BlogPost)  Content__[Id]. (Example template: Content-42)  Content_[DisplayType]__[ContentType]. (Example template: Content-BlogPost.Summary)  Content_[DisplayType]__[Id]. (Example template: Content- 42.Summary)
  • 43. Alexandre Marreiros, 2011 Advance Theme Concepts The placement of shapes can be defined by the Theme
  • 44. Alexandre Marreiros, 2011 Orchard UI composed “Shapes” Demo
  • 45. Alexandre Marreiros, 2011 More Thoughts  We had made a long dive in to Orchard Concepts, now we are able to understand all the orchard picture and start working.  Next session is Development dive in to the plataform.  For you start playing start working start using Orchard, collaborate with the community
  • 46. Alexandre Marreiros, 2011 Refrences  http://www.orchardproject.net/  http://www.orchardproject.net/docs/  http://weblogs.asp.net/bleroy/  http://paper.li/jgaylord/1306335822  http://weblogs.asp.net/scottgu/archive/2011/05/12/asp- net-mvc-3-and-the-helper-syntax-within-razor.aspx  http://Asp.net
  • 47. Alexandre Marreiros, 2011 Email: Amarreiros@gmail.com Twitter: @alexmarreiros Feel free to ask