SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
DEVELOPING APPS
FOR MAGNOLIA 5
KAREL DE WITTE
WEDNESDAY, JUNE 11, 2014
QUESTIONS?
Submit your questions using
the Questions panel of the
GoToWebinar control panel.
When possible, we will answer
questions immediately via text.
We’ll repeat key questions at the end of
the webinar as well.
We may not be able to answer all
questions during the webinar.
QUICK POLL
WHAT’S YOUR INTEREST IN APPS?
Photo Credit: hand by jakub
KAREL DE WITTEMAGNOLIA SENIOR CONSULTANT/DEVELOPER
WHAT IS A
MAGNOLIA 5
APP?
DEVELOPER PERSPECTIVE
A framework that lets me easily integrate
existing  functionality (3rd party services,...)
into Magnolia CMS, adding UI interaction
and workflows for authors.
AUTHOR PERSPECTIVE
An accessible UI that enables me to quickly
and easily use functionality or services to
enhance, create, publish my content.
BITS AND PIECES
An app mostly consists of:
A module (not mandatory)
A piece of configuration (Node2Bean mechanism)
Some code (also not mandatory)
BITS AND PIECES
A module is translated as a jar. You can
create one using the maven archetype.
mvn archetype:generate 
-DarchetypeCatalog=http://nexus.magnolia-cms.com/content/groups/public/
BITS AND PIECES
A piece of configuration:
BITS AND PIECES
Some code:
An extension of the BrowserSupApp class
THE APP
FRAMEWORK
Photo Credit: red_scaffold (guess where berlin)
DIFFERENT TYPES OF APPS
Content (Sub)apps
It is an extension the sub app framework
DIFFERENT TYPES OF APPS
Indie apps ;-)
Extend the App framework
Play with JS
CONTAINERS, PRESENTERS & VIEWS
Magnolia app framework follows MVP.
JCR
Flickr
API
Content
connector
Content
connector
JCR
Container
Flickr
Container
JCR
Presenter
JCR
View
Flickr
Presenter
Flickr
View
FS
API
Content
connector
FS
Container
FS
Presenter
FS
View
CONTAINERS, PRESENTERS & VIEWS
https://www.youtube.com/watch?v=vx3U8Woj3HU
CONTAINERS, PRESENTERS & VIEWS
•Views define the formatting of the UI
•The Presenter controls how things are displayed and
interact.
•The Container will prepare all the data to show for the
presenter to display it in the view
CONTAINERS, PRESENTERS & VIEWS
http://documentation.magnolia-cms.com/display/DOCS/Model-view-presenter+pattern
CONTAINERS, PRESENTERS & VIEWS
http://documentation.magnolia-cms.com/display/DOCS/Model-view-presenter+pattern
CONTAINERS, PRESENTERS & VIEWS
http://documentation.magnolia-cms.com/display/DOCS/Model-view-presenter+pattern
ACTIONS/APIS
Actions allow the author to decide
what to do with their content
Photo Credit: Watch This by Justin Jensen
ACTIONS
Actions are first declared ...
ACTIONS
… then placed where we want them.
ACTIONS
A custom action has two classes:
!
!
!
!
A definition class which is instantiated when
the module is initialized.
ACTIONS
The actual action class which is instantiated
upon action click, executed and disposed
API'S
Many APIs were created for M5 App development, including:
Definitions: Node2Bean definitions in your implementation
LocationController: Use it to make your author travel from
one place to another
JcrItemAdapter: Get the node of a selected item in a browser
MessagesManager: Send messages and spread your love
SubAppContext, SystemContext, ..: Access the current
context
Shell: Notify and alert
EventBus: Transmit events and register handlers.
API'S
How do I use them?
!
!
!
Just @Inject them!
APP
DESIGN
GUIDELINES
http://documentation.magnolia-cms.com/display/DOCS/App+design+guidelines
Photo Credit: Praying Mantis by Yaniv Golan
ENTRY POINTS
Some common use cases
& possible solutions
HAVE MORE PROPERTIES IN AN ACTION
Add the additional property to the action definition
Add the property to your extended
ConfiguredActionDefinition class
ADD A SUBAPP TO MY CONTENT APP
Duplicate a subapp node in your content app
Keep what you need
Add your own sub app class implementation
Create your own view or change the view implementation
in the module descriptor
FILTER CONTENT IN A SPECIFIC VIEW
Duplicate a contentview in your browsersubapp
Extend the presenter class of the view ( for instance list
view)
Extend the container and modify the where clause
MODIFY MY WORKBENCH
Specifically, modify the standard view of my
workbench
Extend the WorkBenchView implementation.
Tell guice to use your implentation.
Do additional stuff
CREATE AN "INDIE" SUB APP OR APP
Duplicate a subapp node
Leave only the class,label and subAppClass property
Implement your own subAppClass and view logic
QUESTIONS?
RESOURCES
Magnolia Docs Apps Home
documentation.magnolia-cms.com/display/DOCS/Apps
Content App Tutorial
documentation.magnolia-cms.com/display/DOCS/My+first+content+app
App Design Guidelines
documentation.magnolia-cms.com/display/DOCS/App+design+guidelines
Magnolia Academy: Working with Apps
http://academy.magnolia-cms.com/display/MA/S2C3.+Working+with+apps
THANK
YOU!
CREDITS
red scaffold (guess where berlin) by Jonas K.
Watch This by Justin Jensen
Praying Mantis by Yaniv Golan
hand by jakub
Licensed under the Creative Commons Attribution License v2.0
Licensed under the Creative Commons Attribution License v2.0
Licensed under the Creative Commons Attribution License v2.0
Licensed under the Creative Commons Attribution-ShareAlike License v2.0
https://www.flickr.com/photos/jonask/3531177621
https://www.flickr.com/photos/justinjensen/4947663237
https://www.flickr.com/photos/yanivg/49658629
https://www.flickr.com/photos/75227967@N00/98193355

Weitere ähnliche Inhalte

Was ist angesagt?

Java Server Faces + Spring MVC Framework
Java Server Faces + Spring MVC FrameworkJava Server Faces + Spring MVC Framework
Java Server Faces + Spring MVC Framework
Guo Albert
 
11 asp.net session16
11 asp.net session1611 asp.net session16
11 asp.net session16
Niit Care
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
martinlippert
 
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
Carles Farré
 
Angular vs React for Web Application Development
Angular vs React for Web Application DevelopmentAngular vs React for Web Application Development
Angular vs React for Web Application Development
FITC
 
HTL(Sightly) - All you need to know
HTL(Sightly) - All you need to knowHTL(Sightly) - All you need to know
HTL(Sightly) - All you need to know
Prabhdeep Singh
 

Was ist angesagt? (20)

Marrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 Preview
Marrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 PreviewMarrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 Preview
Marrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 Preview
 
Java Server Faces + Spring MVC Framework
Java Server Faces + Spring MVC FrameworkJava Server Faces + Spring MVC Framework
Java Server Faces + Spring MVC Framework
 
Jsf intro
Jsf introJsf intro
Jsf intro
 
Spring-training-in-bangalore
Spring-training-in-bangaloreSpring-training-in-bangalore
Spring-training-in-bangalore
 
Spring MVC 3.0 Framework (sesson_2)
Spring MVC 3.0 Framework (sesson_2)Spring MVC 3.0 Framework (sesson_2)
Spring MVC 3.0 Framework (sesson_2)
 
A Complete Tour of JSF 2
A Complete Tour of JSF 2A Complete Tour of JSF 2
A Complete Tour of JSF 2
 
Spring mvc 2.0
Spring mvc 2.0Spring mvc 2.0
Spring mvc 2.0
 
Building Highly Reusable Taskflows
Building Highly Reusable TaskflowsBuilding Highly Reusable Taskflows
Building Highly Reusable Taskflows
 
AngularJS
AngularJSAngularJS
AngularJS
 
11 asp.net session16
11 asp.net session1611 asp.net session16
11 asp.net session16
 
Building Universal Web Apps with React ForwardJS 2017
Building Universal Web Apps with React ForwardJS 2017Building Universal Web Apps with React ForwardJS 2017
Building Universal Web Apps with React ForwardJS 2017
 
Integrating ASP.NET AJAX with SharePoint
Integrating ASP.NET AJAX with SharePointIntegrating ASP.NET AJAX with SharePoint
Integrating ASP.NET AJAX with SharePoint
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
 
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
 
WPF Fundamentals
WPF FundamentalsWPF Fundamentals
WPF Fundamentals
 
Creating lightweight JS Apps w/ Web Components and lit-html
Creating lightweight JS Apps w/ Web Components and lit-htmlCreating lightweight JS Apps w/ Web Components and lit-html
Creating lightweight JS Apps w/ Web Components and lit-html
 
Angular vs React for Web Application Development
Angular vs React for Web Application DevelopmentAngular vs React for Web Application Development
Angular vs React for Web Application Development
 
Spring tutorial
Spring tutorialSpring tutorial
Spring tutorial
 
HTL(Sightly) - All you need to know
HTL(Sightly) - All you need to knowHTL(Sightly) - All you need to know
HTL(Sightly) - All you need to know
 

Ähnlich wie Start Developing Apps for Magnolia CMS

Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)
Oro Inc.
 

Ähnlich wie Start Developing Apps for Magnolia CMS (20)

How to design and build great apps (with moderator notes)
How to design and build great apps (with moderator notes)How to design and build great apps (with moderator notes)
How to design and build great apps (with moderator notes)
 
Rewriting a Plugin Architecture 3 Times to Harness the API Economy
Rewriting a Plugin Architecture 3 Times to Harness the API EconomyRewriting a Plugin Architecture 3 Times to Harness the API Economy
Rewriting a Plugin Architecture 3 Times to Harness the API Economy
 
Magnolia App Developer Roundtable
Magnolia App Developer RoundtableMagnolia App Developer Roundtable
Magnolia App Developer Roundtable
 
Magnolia CMS App Developer Roundtable
Magnolia CMS App Developer RoundtableMagnolia CMS App Developer Roundtable
Magnolia CMS App Developer Roundtable
 
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
 
Progressive Web Application by Citytech
Progressive Web Application by CitytechProgressive Web Application by Citytech
Progressive Web Application by Citytech
 
Open sap ui5 - week_2 unit_1_syjewa_exercises
Open sap ui5  - week_2 unit_1_syjewa_exercisesOpen sap ui5  - week_2 unit_1_syjewa_exercises
Open sap ui5 - week_2 unit_1_syjewa_exercises
 
Simplifying RCP Update and Install
Simplifying RCP Update and InstallSimplifying RCP Update and Install
Simplifying RCP Update and Install
 
Highly Scalable User Experience Design: Vaadin and Magnolia
Highly Scalable User Experience Design: Vaadin and MagnoliaHighly Scalable User Experience Design: Vaadin and Magnolia
Highly Scalable User Experience Design: Vaadin and Magnolia
 
Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...
Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...
Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...
 
Implementing auto complete using JQuery
Implementing auto complete using JQueryImplementing auto complete using JQuery
Implementing auto complete using JQuery
 
How to design and build great apps
How to design and build great appsHow to design and build great apps
How to design and build great apps
 
"Paragraphs are more powerful than you can expect" from Vasily Jaremchuk for ...
"Paragraphs are more powerful than you can expect" from Vasily Jaremchuk for ..."Paragraphs are more powerful than you can expect" from Vasily Jaremchuk for ...
"Paragraphs are more powerful than you can expect" from Vasily Jaremchuk for ...
 
How NOT to Suck at App Distribution - Quick Start Guide - Appsocially's Growt...
How NOT to Suck at App Distribution - Quick Start Guide - Appsocially's Growt...How NOT to Suck at App Distribution - Quick Start Guide - Appsocially's Growt...
How NOT to Suck at App Distribution - Quick Start Guide - Appsocially's Growt...
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsug
 
Office 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsOffice 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft Teams
 
Model View Presenter (MVP) In Aspnet
Model View Presenter (MVP) In AspnetModel View Presenter (MVP) In Aspnet
Model View Presenter (MVP) In Aspnet
 
Features everywhere
Features everywhere Features everywhere
Features everywhere
 
SoapUI Pro Plugin Workshop #SoapUIPlugins
SoapUI Pro Plugin Workshop #SoapUIPluginsSoapUI Pro Plugin Workshop #SoapUIPlugins
SoapUI Pro Plugin Workshop #SoapUIPlugins
 
Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)
 

Mehr von Magnolia

Mehr von Magnolia (20)

The SEO Workflow
The SEO WorkflowThe SEO Workflow
The SEO Workflow
 
Magnolia 6 release walkthrough
Magnolia 6 release walkthroughMagnolia 6 release walkthrough
Magnolia 6 release walkthrough
 
Buzzword bingo: The real deal behind omnichannel, personalization and headless
Buzzword bingo: The real deal behind  omnichannel, personalization and headlessBuzzword bingo: The real deal behind  omnichannel, personalization and headless
Buzzword bingo: The real deal behind omnichannel, personalization and headless
 
Developing Magnolia based sites correctly, quickly and efficiently
Developing Magnolia based sites correctly, quickly and efficientlyDeveloping Magnolia based sites correctly, quickly and efficiently
Developing Magnolia based sites correctly, quickly and efficiently
 
Integrating e-Commerce into your Customer Experience
Integrating e-Commerce into your Customer ExperienceIntegrating e-Commerce into your Customer Experience
Integrating e-Commerce into your Customer Experience
 
Customer Engagement in the Digital Era
Customer Engagement in the Digital EraCustomer Engagement in the Digital Era
Customer Engagement in the Digital Era
 
The Age of the IOT & Digital Business
The Age of the IOT & Digital BusinessThe Age of the IOT & Digital Business
The Age of the IOT & Digital Business
 
Using Magnolia in a Microservices Architecture
Using Magnolia in a Microservices ArchitectureUsing Magnolia in a Microservices Architecture
Using Magnolia in a Microservices Architecture
 
A modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at AtlassianA modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at Atlassian
 
Magnolia Conference 2015 - Pascal Mangold's keynote
Magnolia Conference 2015 - Pascal Mangold's keynoteMagnolia Conference 2015 - Pascal Mangold's keynote
Magnolia Conference 2015 - Pascal Mangold's keynote
 
Product keynote - introducing Magnolia 5.4
Product keynote - introducing Magnolia 5.4Product keynote - introducing Magnolia 5.4
Product keynote - introducing Magnolia 5.4
 
Launching Magnolia on demand
Launching Magnolia on demandLaunching Magnolia on demand
Launching Magnolia on demand
 
Front-end developers - build Magnolia sites faster
Front-end developers - build Magnolia sites fasterFront-end developers - build Magnolia sites faster
Front-end developers - build Magnolia sites faster
 
Magnolia and beacons: how do they work best together?
Magnolia and beacons: how do they work best together?Magnolia and beacons: how do they work best together?
Magnolia and beacons: how do they work best together?
 
Magnolia and the IOT
Magnolia and the IOTMagnolia and the IOT
Magnolia and the IOT
 
Internationalization for globalized enterprise websites
Internationalization for globalized enterprise websitesInternationalization for globalized enterprise websites
Internationalization for globalized enterprise websites
 
The new visana website how to fit a square peg into a round hole
The new visana website   how to fit a square peg into a round holeThe new visana website   how to fit a square peg into a round hole
The new visana website how to fit a square peg into a round hole
 
Solving for complex UI designs: a front-end perspective and approach
Solving for complex UI designs: a front-end perspective and approachSolving for complex UI designs: a front-end perspective and approach
Solving for complex UI designs: a front-end perspective and approach
 
Extending Magnolia with our solutions
Extending Magnolia with our solutionsExtending Magnolia with our solutions
Extending Magnolia with our solutions
 
Boost your online e commerce with magnolia
Boost your online e commerce with magnoliaBoost your online e commerce with magnolia
Boost your online e commerce with magnolia
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Kürzlich hochgeladen (20)

10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Start Developing Apps for Magnolia CMS

  • 1. DEVELOPING APPS FOR MAGNOLIA 5 KAREL DE WITTE WEDNESDAY, JUNE 11, 2014
  • 2. QUESTIONS? Submit your questions using the Questions panel of the GoToWebinar control panel. When possible, we will answer questions immediately via text. We’ll repeat key questions at the end of the webinar as well. We may not be able to answer all questions during the webinar.
  • 3. QUICK POLL WHAT’S YOUR INTEREST IN APPS? Photo Credit: hand by jakub
  • 4. KAREL DE WITTEMAGNOLIA SENIOR CONSULTANT/DEVELOPER
  • 6. DEVELOPER PERSPECTIVE A framework that lets me easily integrate existing  functionality (3rd party services,...) into Magnolia CMS, adding UI interaction and workflows for authors.
  • 7. AUTHOR PERSPECTIVE An accessible UI that enables me to quickly and easily use functionality or services to enhance, create, publish my content.
  • 8. BITS AND PIECES An app mostly consists of: A module (not mandatory) A piece of configuration (Node2Bean mechanism) Some code (also not mandatory)
  • 9. BITS AND PIECES A module is translated as a jar. You can create one using the maven archetype. mvn archetype:generate -DarchetypeCatalog=http://nexus.magnolia-cms.com/content/groups/public/
  • 10. BITS AND PIECES A piece of configuration:
  • 11. BITS AND PIECES Some code: An extension of the BrowserSupApp class
  • 12. THE APP FRAMEWORK Photo Credit: red_scaffold (guess where berlin)
  • 13. DIFFERENT TYPES OF APPS Content (Sub)apps It is an extension the sub app framework
  • 14. DIFFERENT TYPES OF APPS Indie apps ;-) Extend the App framework Play with JS
  • 15. CONTAINERS, PRESENTERS & VIEWS Magnolia app framework follows MVP. JCR Flickr API Content connector Content connector JCR Container Flickr Container JCR Presenter JCR View Flickr Presenter Flickr View FS API Content connector FS Container FS Presenter FS View
  • 16. CONTAINERS, PRESENTERS & VIEWS https://www.youtube.com/watch?v=vx3U8Woj3HU
  • 17. CONTAINERS, PRESENTERS & VIEWS •Views define the formatting of the UI •The Presenter controls how things are displayed and interact. •The Container will prepare all the data to show for the presenter to display it in the view
  • 18. CONTAINERS, PRESENTERS & VIEWS http://documentation.magnolia-cms.com/display/DOCS/Model-view-presenter+pattern
  • 19. CONTAINERS, PRESENTERS & VIEWS http://documentation.magnolia-cms.com/display/DOCS/Model-view-presenter+pattern
  • 20. CONTAINERS, PRESENTERS & VIEWS http://documentation.magnolia-cms.com/display/DOCS/Model-view-presenter+pattern
  • 21. ACTIONS/APIS Actions allow the author to decide what to do with their content Photo Credit: Watch This by Justin Jensen
  • 23. ACTIONS … then placed where we want them.
  • 24. ACTIONS A custom action has two classes: ! ! ! ! A definition class which is instantiated when the module is initialized.
  • 25. ACTIONS The actual action class which is instantiated upon action click, executed and disposed
  • 26. API'S Many APIs were created for M5 App development, including: Definitions: Node2Bean definitions in your implementation LocationController: Use it to make your author travel from one place to another JcrItemAdapter: Get the node of a selected item in a browser MessagesManager: Send messages and spread your love SubAppContext, SystemContext, ..: Access the current context Shell: Notify and alert EventBus: Transmit events and register handlers.
  • 27. API'S How do I use them? ! ! ! Just @Inject them!
  • 30. Photo Credit: Praying Mantis by Yaniv Golan ENTRY POINTS Some common use cases & possible solutions
  • 31. HAVE MORE PROPERTIES IN AN ACTION Add the additional property to the action definition Add the property to your extended ConfiguredActionDefinition class
  • 32. ADD A SUBAPP TO MY CONTENT APP Duplicate a subapp node in your content app Keep what you need Add your own sub app class implementation Create your own view or change the view implementation in the module descriptor
  • 33. FILTER CONTENT IN A SPECIFIC VIEW Duplicate a contentview in your browsersubapp Extend the presenter class of the view ( for instance list view) Extend the container and modify the where clause
  • 34. MODIFY MY WORKBENCH Specifically, modify the standard view of my workbench Extend the WorkBenchView implementation. Tell guice to use your implentation. Do additional stuff
  • 35. CREATE AN "INDIE" SUB APP OR APP Duplicate a subapp node Leave only the class,label and subAppClass property Implement your own subAppClass and view logic
  • 37. RESOURCES Magnolia Docs Apps Home documentation.magnolia-cms.com/display/DOCS/Apps Content App Tutorial documentation.magnolia-cms.com/display/DOCS/My+first+content+app App Design Guidelines documentation.magnolia-cms.com/display/DOCS/App+design+guidelines Magnolia Academy: Working with Apps http://academy.magnolia-cms.com/display/MA/S2C3.+Working+with+apps
  • 39. CREDITS red scaffold (guess where berlin) by Jonas K. Watch This by Justin Jensen Praying Mantis by Yaniv Golan hand by jakub Licensed under the Creative Commons Attribution License v2.0 Licensed under the Creative Commons Attribution License v2.0 Licensed under the Creative Commons Attribution License v2.0 Licensed under the Creative Commons Attribution-ShareAlike License v2.0 https://www.flickr.com/photos/jonask/3531177621 https://www.flickr.com/photos/justinjensen/4947663237 https://www.flickr.com/photos/yanivg/49658629 https://www.flickr.com/photos/75227967@N00/98193355