SlideShare uma empresa Scribd logo
1 de 31
Orchard CMSand other ASP.NET content  management systems OleksandrKrakovetskyi Software Developer, Team Lead at Ciklum Microsoft Regional Director, ASP.NET MVP Alex.Krakovetskiy@gmail.com, @msugvnua http://msug.vn.ua, http://wp7rocks.com/
ASP.NET  Content Management Systems Agenda
DotNetNuke Telligent Community Server Telligent Graffiti mojoPortal, Umbraco nopCommerce 1С Битрикс (.NET Forge CMS), SiteCore, TelerikSitefinity, EPIServer, BlogEngine.NET  List of ASP.NET CMS
Open Source (BSD) Written in VB.NET  Moved to C# not so far DotNetNuke http://dotnetnuke.com/
Paid Suitable for online communities Blogs, Forums, Social, Calendar etc. Good for big communities & good hosting Telligent Community Server http://telligent.com/
Free and open source Limited Community Server functionality Microsoft Reciprocal License (Ms-RL) Telligent Graffiti http://graffiticms.com/ http://graffiticms.codeplex.com/
Free and open source mojoPortal: Common Public License, Umbraco: MIT mojoPortal, Umbraco http://www.mojoportal.com/
Free and open source (with logo and trademarks) The nopCommerce Public License Version 1.0 ("NPL") Shopping card, e-commerce nopCommerce http://www.nopcommerce.com/
Oxite based http://nuget.org http://orchardproject.net/gallery http://visitmix.net/ Free and open source Microsoft supported ORCHARD CMS. Quick facts
ASP.NET MVC3.0 NHibernate: an object-relational mapping tool Autofac: an IoCcontainer Castle Dynamic Proxy: dynamic proxy generation ORCHARD CMS. Architecture
Content Item A content item is a single piece of content, often associated with a single URL (address) on the site. Examples of content items are pages, blog posts or products.Content type Content items are instances of content types. Said differently, content types are classes of content items. What we call a blog post is just an item of type blog post. ORCHARD CMS. Main concepts. Content Item and type
In Orchard, content types are built from smaller parts, that are conveniently called 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. ORCHARD CMS. Main concepts. Content Part
Content fields are pieces of information that can be added to a content type. Content fields have a name and a type and are specific to a content type. There can be several of each field type on any given content type.For example, a Product content type can have a text field representing its Sku, a numeric field representing its price, and another numeric field representing its weight. Each of these fields probably only makes sense on a product. ORCHARD CMS. Main concepts. Content Field
The various possible custom possible extensions that can be built for Orchard are typically built as modules. A module is a set of extensions for Orchard that are grouped under a single sub-folder of the Modules directory that can be found under the Orchard web site. ORCHARD CMS. Module
A module can contain one or more features, which is a logical grouping of functionality that can be enabled or disabled individually. For example, an auth module could have separate features for OpenID, FaceBook, LiveID, Twitter or Google authentication that can each be turned on or off. ORCHARD CMS. Main concepts. Features
A manifest is a small text file that describes a module or a theme to the system. ORCHARD CMS. Main concepts. Manifest
A theme is a packaged look and feel for a site. It can consist of any combination of style sheets, images, layouts, templates and even custom code. It is even possible to create a theme that inherits from another, which is very useful if you are trying to make only small modifications on an existing theme. ORCHARD CMS. Main concepts. UI. Theme
Each content part, each field and each widget will need to be graphically represented in the front-end, transforming the data that it represents into a form that can be read by the users of the site. A template is the recipe that formats that data and transforms it into HTML for the browser to display. You can think of a template as plain HTML with well-defined "holes" where data gets inserted. <h1>@Model.Title</h1> ORCHARD CMS. Main concepts. UI. Template
Before displaying something using a template, that something gets transformed into a shape, which is a very malleable object that contains all the information required in order to display it. Before getting rendered by templates, everything gets mapped into a tree of shapes that is a sort of abstract representation of the contents of the final page. The advantage of such trees of shapes is that any module can modify existing shapes or create new ones. ORCHARD CMS. Main concepts. UI. Shape
When rendering the collections of parts and fields -or any other shapes- that compose a page or content item, Orchard needs to know in what order to do so. Placement.info files are XML files that describe rules that can be used to determine what shapes go into what zones and in what order.  <Placement>     <Place Parts_Map="Content:10"/>     <Place Parts_Map_Edit="Content:7.5"/>  </Placement> ORCHARD CMS. Main concepts. UI. Placement
A layout is a file in a theme that defines the general organization of the pages of the. Zones are specific parts of a layout that can be customized by inserting widgets.  ORCHARD CMS. Main concepts. UI. Layout & Zones
A widget is a small fragment of UI that can be added to some or all pages of the site. Examples of widgets are tag clouds, maps, archives, a search form, or recent blog posts. ORCHARD CMS. Main concepts. UI. Widgets
A layer is a group of widgets (with their specific configuration, which includes their positioning -zone name and ordering-) that is activated by a specific rule. TheHomePage, Default etc. ORCHARD CMS. Main concepts. UI. Layer
Administrator Editor Moderator Author Contributor Anonymous Authenticated Own  ORCHARD CMS. Main concepts. Security. Roles
ORCHARD CMS. Main concepts. Security. Privileges and Permissions
A handler is similar to an MVC filter in that it contains code that will execute for specific events of the request life-cycle. They are typically used to set-up data repositories or to do additional operations when something gets loaded.Driversare similar to MVC controllers, but they act at the level of a content part instead of at the level of the full request. They typically prepare shapes for rendering and handle post-backs from admin editors. ORCHARD CMS. Development
Record A record is a class that models the database representation of a content part. They are POCOs where each property must be virtual.Model What plays the part of the model for a content part is the part class itself. Some parts also define view models, in the form of strongly-typed classes or of more flexible dynamic shapes. ORCHARD CMS. Development
Migration A migration is a description of the operations to execute when first installing a feature or when upgrading it from a version to the next. This enables smooth upgrades of individual features without data loss. Orchard includes a data migration framework. ORCHARD CMS. Development
Injection Inversion of Control, or injection, is widely used in Orchard. When any piece of code requires a dependency, it will typically demand the injection of one or several instances of a specific interface. The framework will take care of selecting, instantiating and injecting the right implementations at runtime. ORCHARD CMS. Development
http://msug.vn.ua/ http://www.orchardproject.net/docs/ https://blogs.msdn.com/b/vyunev/ http://stackoverflow.com/questions/1978360/anybody-using-orchard-cms http://channel9.msdn.com/Events/MIX/MIX10/FT06 ORCHARD CMS. References
http://wp7rocks.com http://msug.vn.ua http://twitter.com/msugvnua Alex.Krakovetskiy@gmail.com Thanks! Q&A!

Mais conteúdo relacionado

Mais procurados

Lab 5a) create a struts application
Lab 5a) create a struts applicationLab 5a) create a struts application
Lab 5a) create a struts application
techbed
 
Oracle portal 10g release 2 technical overview an oracle white paper august 2005
Oracle portal 10g release 2 technical overview an oracle white paper august 2005Oracle portal 10g release 2 technical overview an oracle white paper august 2005
Oracle portal 10g release 2 technical overview an oracle white paper august 2005
FITSFSd
 
Ofc216 Shah German Webcms
Ofc216 Shah German WebcmsOfc216 Shah German Webcms
Ofc216 Shah German Webcms
Punk Rock
 

Mais procurados (18)

F1488647857 sewtz
F1488647857 sewtzF1488647857 sewtz
F1488647857 sewtz
 
Lab 5a) create a struts application
Lab 5a) create a struts applicationLab 5a) create a struts application
Lab 5a) create a struts application
 
Asp.net
Asp.netAsp.net
Asp.net
 
Oracle portal 10g release 2 technical overview an oracle white paper august 2005
Oracle portal 10g release 2 technical overview an oracle white paper august 2005Oracle portal 10g release 2 technical overview an oracle white paper august 2005
Oracle portal 10g release 2 technical overview an oracle white paper august 2005
 
ATG Framework,Formhandlers,Pricing
ATG Framework,Formhandlers,PricingATG Framework,Formhandlers,Pricing
ATG Framework,Formhandlers,Pricing
 
SugarCRM Power Hour with Jeff Bickart; Module Builder and Studio a developers...
SugarCRM Power Hour with Jeff Bickart; Module Builder and Studio a developers...SugarCRM Power Hour with Jeff Bickart; Module Builder and Studio a developers...
SugarCRM Power Hour with Jeff Bickart; Module Builder and Studio a developers...
 
Oracle Endeca Developer's Guide
Oracle Endeca Developer's GuideOracle Endeca Developer's Guide
Oracle Endeca Developer's Guide
 
ASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites AppearanceASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites Appearance
 
Ofc216 Shah German Webcms
Ofc216 Shah German WebcmsOfc216 Shah German Webcms
Ofc216 Shah German Webcms
 
IBM WebSphere Portal
IBM WebSphere PortalIBM WebSphere Portal
IBM WebSphere Portal
 
Advanced BCS - Business Data Connectivity Models and Custom Connectors
Advanced BCS - Business Data Connectivity Models and Custom ConnectorsAdvanced BCS - Business Data Connectivity Models and Custom Connectors
Advanced BCS - Business Data Connectivity Models and Custom Connectors
 
AD301: Introducing the Composite Application Container Framework - Lotusphere...
AD301: Introducing the Composite Application Container Framework - Lotusphere...AD301: Introducing the Composite Application Container Framework - Lotusphere...
AD301: Introducing the Composite Application Container Framework - Lotusphere...
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners
 
Exploring Adobe Flex
Exploring Adobe Flex Exploring Adobe Flex
Exploring Adobe Flex
 
Vskills certified html5 developer Notes
Vskills certified html5 developer NotesVskills certified html5 developer Notes
Vskills certified html5 developer Notes
 
Srs documentation
Srs documentationSrs documentation
Srs documentation
 
Building fast track external facing sharepoint site
Building fast track external facing sharepoint siteBuilding fast track external facing sharepoint site
Building fast track external facing sharepoint site
 
Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0
 

Semelhante a Oleksandr Krakovetskyi - Orchard CMS

Super applied in a sitecore migration project
Super applied in a sitecore migration projectSuper applied in a sitecore migration project
Super applied in a sitecore migration project
dodoshelu
 
Architecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling ToolArchitecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling Tool
Adriaan Venter
 
Content Management That Won't Rot Your Brain
Content Management That Won't Rot Your BrainContent Management That Won't Rot Your Brain
Content Management That Won't Rot Your Brain
Sean Cribbs
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
Sunil Patil
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
Sunil Patil
 

Semelhante a Oleksandr Krakovetskyi - Orchard CMS (20)

Super applied in a sitecore migration project
Super applied in a sitecore migration projectSuper applied in a sitecore migration project
Super applied in a sitecore migration project
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
 
CUST-3 Document Management with Share
CUST-3 Document Management with ShareCUST-3 Document Management with Share
CUST-3 Document Management with Share
 
Customer FX Technical Reference Sheet
Customer FX Technical Reference SheetCustomer FX Technical Reference Sheet
Customer FX Technical Reference Sheet
 
Overview of atg framework
Overview of atg frameworkOverview of atg framework
Overview of atg framework
 
Apache Shindig, from Server Side Portlets to Open Social Gadgets
Apache Shindig, from Server Side Portlets to Open Social GadgetsApache Shindig, from Server Side Portlets to Open Social Gadgets
Apache Shindig, from Server Side Portlets to Open Social Gadgets
 
react-en.pdf
react-en.pdfreact-en.pdf
react-en.pdf
 
Architecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling ToolArchitecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling Tool
 
one|content : joomla on steroids
one|content : joomla on steroidsone|content : joomla on steroids
one|content : joomla on steroids
 
Choosing A Web Cms And Intro To Modx
Choosing A Web Cms And Intro To ModxChoosing A Web Cms And Intro To Modx
Choosing A Web Cms And Intro To Modx
 
Content Management That Won't Rot Your Brain
Content Management That Won't Rot Your BrainContent Management That Won't Rot Your Brain
Content Management That Won't Rot Your Brain
 
Adobe Flex4
Adobe Flex4 Adobe Flex4
Adobe Flex4
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
 
Intro lift
Intro liftIntro lift
Intro lift
 
Sps Boston The Share Point Beast
Sps Boston   The Share Point BeastSps Boston   The Share Point Beast
Sps Boston The Share Point Beast
 
Cms an overview
Cms an overviewCms an overview
Cms an overview
 
Oracle UCM Implementation Patterns
Oracle UCM Implementation PatternsOracle UCM Implementation Patterns
Oracle UCM Implementation Patterns
 
Html5 deciphered - designing concepts part 1
Html5 deciphered - designing concepts part 1Html5 deciphered - designing concepts part 1
Html5 deciphered - designing concepts part 1
 
Dita for the web: Make Adaptive Content Simple for Writers and Developer
Dita for the web: Make Adaptive Content Simple for Writers and DeveloperDita for the web: Make Adaptive Content Simple for Writers and Developer
Dita for the web: Make Adaptive Content Simple for Writers and Developer
 

Mais de Ciklum Ukraine

Introduction to amazon web services for developers
Introduction to amazon web services for developersIntroduction to amazon web services for developers
Introduction to amazon web services for developers
Ciklum Ukraine
 
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Ciklum Ukraine
 

Mais de Ciklum Ukraine (20)

"How keep normal blood pressure using TDD" By Roman Loparev
"How keep normal blood pressure using TDD" By Roman Loparev"How keep normal blood pressure using TDD" By Roman Loparev
"How keep normal blood pressure using TDD" By Roman Loparev
 
"Through the three circles of the it hell" by Roman Liashenko
"Through the three circles of the it hell" by Roman Liashenko"Through the three circles of the it hell" by Roman Liashenko
"Through the three circles of the it hell" by Roman Liashenko
 
Alex Pazhyn: Google_Material_Design
Alex Pazhyn: Google_Material_DesignAlex Pazhyn: Google_Material_Design
Alex Pazhyn: Google_Material_Design
 
Introduction to amazon web services for developers
Introduction to amazon web services for developersIntroduction to amazon web services for developers
Introduction to amazon web services for developers
 
Your 1st Apple watch Application
Your 1st Apple watch ApplicationYour 1st Apple watch Application
Your 1st Apple watch Application
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Back to the future: ux trends 2015
Back to the future: ux trends 2015Back to the future: ux trends 2015
Back to the future: ux trends 2015
 
Developing high load systems using C++
Developing high load systems using C++Developing high load systems using C++
Developing high load systems using C++
 
Collection view layout
Collection view layoutCollection view layout
Collection view layout
 
Introduction to auto layout
Introduction to auto layoutIntroduction to auto layout
Introduction to auto layout
 
Groovy on Android
Groovy on AndroidGroovy on Android
Groovy on Android
 
Unit Testing: Special Cases
Unit Testing: Special CasesUnit Testing: Special Cases
Unit Testing: Special Cases
 
Material design
Material designMaterial design
Material design
 
Kanban development
Kanban developmentKanban development
Kanban development
 
Mobile sketching
Mobile sketching Mobile sketching
Mobile sketching
 
More UX in our life
More UX in our lifeMore UX in our life
More UX in our life
 
Model-View-Controller: Tips&Tricks
Model-View-Controller: Tips&TricksModel-View-Controller: Tips&Tricks
Model-View-Controller: Tips&Tricks
 
Unit Tesing in iOS
Unit Tesing in iOSUnit Tesing in iOS
Unit Tesing in iOS
 
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
 
Михаил Попчук "Cкрытые резервы команд или 1+1=3"
Михаил Попчук "Cкрытые резервы команд или 1+1=3"Михаил Попчук "Cкрытые резервы команд или 1+1=3"
Михаил Попчук "Cкрытые резервы команд или 1+1=3"
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Oleksandr Krakovetskyi - Orchard CMS

  • 1. Orchard CMSand other ASP.NET content management systems OleksandrKrakovetskyi Software Developer, Team Lead at Ciklum Microsoft Regional Director, ASP.NET MVP Alex.Krakovetskiy@gmail.com, @msugvnua http://msug.vn.ua, http://wp7rocks.com/
  • 2. ASP.NET Content Management Systems Agenda
  • 3. DotNetNuke Telligent Community Server Telligent Graffiti mojoPortal, Umbraco nopCommerce 1С Битрикс (.NET Forge CMS), SiteCore, TelerikSitefinity, EPIServer, BlogEngine.NET List of ASP.NET CMS
  • 4. Open Source (BSD) Written in VB.NET Moved to C# not so far DotNetNuke http://dotnetnuke.com/
  • 5. Paid Suitable for online communities Blogs, Forums, Social, Calendar etc. Good for big communities & good hosting Telligent Community Server http://telligent.com/
  • 6. Free and open source Limited Community Server functionality Microsoft Reciprocal License (Ms-RL) Telligent Graffiti http://graffiticms.com/ http://graffiticms.codeplex.com/
  • 7. Free and open source mojoPortal: Common Public License, Umbraco: MIT mojoPortal, Umbraco http://www.mojoportal.com/
  • 8. Free and open source (with logo and trademarks) The nopCommerce Public License Version 1.0 ("NPL") Shopping card, e-commerce nopCommerce http://www.nopcommerce.com/
  • 9. Oxite based http://nuget.org http://orchardproject.net/gallery http://visitmix.net/ Free and open source Microsoft supported ORCHARD CMS. Quick facts
  • 10. ASP.NET MVC3.0 NHibernate: an object-relational mapping tool Autofac: an IoCcontainer Castle Dynamic Proxy: dynamic proxy generation ORCHARD CMS. Architecture
  • 11. Content Item A content item is a single piece of content, often associated with a single URL (address) on the site. Examples of content items are pages, blog posts or products.Content type Content items are instances of content types. Said differently, content types are classes of content items. What we call a blog post is just an item of type blog post. ORCHARD CMS. Main concepts. Content Item and type
  • 12. In Orchard, content types are built from smaller parts, that are conveniently called 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. ORCHARD CMS. Main concepts. Content Part
  • 13. Content fields are pieces of information that can be added to a content type. Content fields have a name and a type and are specific to a content type. There can be several of each field type on any given content type.For example, a Product content type can have a text field representing its Sku, a numeric field representing its price, and another numeric field representing its weight. Each of these fields probably only makes sense on a product. ORCHARD CMS. Main concepts. Content Field
  • 14. The various possible custom possible extensions that can be built for Orchard are typically built as modules. A module is a set of extensions for Orchard that are grouped under a single sub-folder of the Modules directory that can be found under the Orchard web site. ORCHARD CMS. Module
  • 15. A module can contain one or more features, which is a logical grouping of functionality that can be enabled or disabled individually. For example, an auth module could have separate features for OpenID, FaceBook, LiveID, Twitter or Google authentication that can each be turned on or off. ORCHARD CMS. Main concepts. Features
  • 16. A manifest is a small text file that describes a module or a theme to the system. ORCHARD CMS. Main concepts. Manifest
  • 17. A theme is a packaged look and feel for a site. It can consist of any combination of style sheets, images, layouts, templates and even custom code. It is even possible to create a theme that inherits from another, which is very useful if you are trying to make only small modifications on an existing theme. ORCHARD CMS. Main concepts. UI. Theme
  • 18. Each content part, each field and each widget will need to be graphically represented in the front-end, transforming the data that it represents into a form that can be read by the users of the site. A template is the recipe that formats that data and transforms it into HTML for the browser to display. You can think of a template as plain HTML with well-defined "holes" where data gets inserted. <h1>@Model.Title</h1> ORCHARD CMS. Main concepts. UI. Template
  • 19. Before displaying something using a template, that something gets transformed into a shape, which is a very malleable object that contains all the information required in order to display it. Before getting rendered by templates, everything gets mapped into a tree of shapes that is a sort of abstract representation of the contents of the final page. The advantage of such trees of shapes is that any module can modify existing shapes or create new ones. ORCHARD CMS. Main concepts. UI. Shape
  • 20. When rendering the collections of parts and fields -or any other shapes- that compose a page or content item, Orchard needs to know in what order to do so. Placement.info files are XML files that describe rules that can be used to determine what shapes go into what zones and in what order. <Placement> <Place Parts_Map="Content:10"/> <Place Parts_Map_Edit="Content:7.5"/> </Placement> ORCHARD CMS. Main concepts. UI. Placement
  • 21. A layout is a file in a theme that defines the general organization of the pages of the. Zones are specific parts of a layout that can be customized by inserting widgets. ORCHARD CMS. Main concepts. UI. Layout & Zones
  • 22. A widget is a small fragment of UI that can be added to some or all pages of the site. Examples of widgets are tag clouds, maps, archives, a search form, or recent blog posts. ORCHARD CMS. Main concepts. UI. Widgets
  • 23. A layer is a group of widgets (with their specific configuration, which includes their positioning -zone name and ordering-) that is activated by a specific rule. TheHomePage, Default etc. ORCHARD CMS. Main concepts. UI. Layer
  • 24. Administrator Editor Moderator Author Contributor Anonymous Authenticated Own ORCHARD CMS. Main concepts. Security. Roles
  • 25. ORCHARD CMS. Main concepts. Security. Privileges and Permissions
  • 26. A handler is similar to an MVC filter in that it contains code that will execute for specific events of the request life-cycle. They are typically used to set-up data repositories or to do additional operations when something gets loaded.Driversare similar to MVC controllers, but they act at the level of a content part instead of at the level of the full request. They typically prepare shapes for rendering and handle post-backs from admin editors. ORCHARD CMS. Development
  • 27. Record A record is a class that models the database representation of a content part. They are POCOs where each property must be virtual.Model What plays the part of the model for a content part is the part class itself. Some parts also define view models, in the form of strongly-typed classes or of more flexible dynamic shapes. ORCHARD CMS. Development
  • 28. Migration A migration is a description of the operations to execute when first installing a feature or when upgrading it from a version to the next. This enables smooth upgrades of individual features without data loss. Orchard includes a data migration framework. ORCHARD CMS. Development
  • 29. Injection Inversion of Control, or injection, is widely used in Orchard. When any piece of code requires a dependency, it will typically demand the injection of one or several instances of a specific interface. The framework will take care of selecting, instantiating and injecting the right implementations at runtime. ORCHARD CMS. Development
  • 30. http://msug.vn.ua/ http://www.orchardproject.net/docs/ https://blogs.msdn.com/b/vyunev/ http://stackoverflow.com/questions/1978360/anybody-using-orchard-cms http://channel9.msdn.com/Events/MIX/MIX10/FT06 ORCHARD CMS. References
  • 31. http://wp7rocks.com http://msug.vn.ua http://twitter.com/msugvnua Alex.Krakovetskiy@gmail.com Thanks! Q&A!