SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
New CMS
& Legacy Apps
Don’t Re-Write — Integrate!
Thursday, 15 May 14
Thursday, 15 May 14
Agenda
• Overview of Mura CMS
• Integration Options
• Quick-start Plugins
Thursday, 15 May 14
Overview
of Mura CMS (demo)
Thursday, 15 May 14
Integration
Options
Thursday, 15 May 14
What Can I Use?
• Use any front-end framework you want
Thursday, 15 May 14
What Can I Use?
• Use any JavaScript framework you want
Thursday, 15 May 14
What Can I Use?
• Use any CFML framework you want
Thursday, 15 May 14
Demo
App1 : Uber Simple
Thursday, 15 May 14
App1 Review
• Copied application to the theme’s display_objects
directory
• Converted index.cfm into a front-end controller
• Added the application as a display object using a
code snippet
• [m]$.dspThemeInclude(‘display_objects/app1/index.cfm’)[/m]
Thursday, 15 May 14
Mura $cope
• Bean Factory:
• $.getBean(‘someBean’)
• $.getBean(‘user’).loadBy(username=‘Steve’)
• Mura Events:
• $.event(), announceEvent(‘yourEvent’)
• Sub-$copes:
• $.content(), $.currentUser(), $.globalConfig(),
$.siteConfig()
• Helpers:
• $.getContentRenderer(), $.getPlugin(), $.getImageURL(),
$.addToHTMLHeadQueue()
Thursday, 15 May 14
Mura $cope: Helpers
• $.siteConfig(‘themeAssetPath’)
• Outputs the path to your theme directory
• /{SiteID}/includes/themes/{ThemeName}
Thursday, 15 May 14
Mura $cope: Helpers
• $.dspThemeInclude(‘path/to/file/cfm’)
• Dynamic CFinclude of the desired file
• <cfinclude template=”/{SiteID}/includes/
themes/{ThemeName}/path/to/file.cfm”>
Thursday, 15 May 14
Mura Events
• Application Flow:
• Chain of events that fire in sequence
• Each link in the chain can be intercepted to:
• Provide additional OR,
• Even replace business logic
• eventHandler.cfc (Site & Theme)
Thursday, 15 May 14
Event Handlers
• Front End Requests: onSiteRequestStart, on{Type}{SubType}BodyRender
• Contextual Events
• Admin Life-Cycle Events: onGlobalRequestStart, onAdminRequestStart
• Application Events: onApplicationLoad, onGlobalError, onSiteError
• Admin Rendering Events: onContentEdit
• Content Tab Events
• Login Events
• Content Events: onBefore{Type}{SubType}Save
• Feed Events
• User Events
• Custom Events
Thursday, 15 May 14
Demo
App2 : Subfolders
Thursday, 15 May 14
App2 Review
• Copied application to the theme’s display_objects directory
• Converted index.cfm into a front-end controller
• Added a onSite404()event listener in the SITE
eventHandler.cfc
• Added the application as a display object using a code
snippet
• [m]$.dspThemeInclude(‘display_objects/app2/index.cfm’)[/m]
• Used $.addToHTMLHeadQueue() to add custom JS & CSS
to head
Thursday, 15 May 14
Demo
App3 : Application.cfc
Thursday, 15 May 14
App3 Review
• Copied application to the theme’s display_objects
directory
• Converted index.cfm into a front-end controller
• Added a custom eventHandler using the
onApplicationLoad() event in the THEME
eventHandler.cfc
• Added the application as a display object using a
code snippet
• [m]$.dspThemeInclude(‘display_objects/app3/index.cfm’)[/m]
Thursday, 15 May 14
Quick Start
Plugins
Thursday, 15 May 14
Why Plugins?
• Update-Safe Customizations:
• Extend Mura CMS
• Add new functionality
• Distribute Code Across Sites / Installs
• Custom Administrator
• Integrate Existing Applications
• GPL 2.0 License
Thursday, 15 May 14
Plugin Anatomy
• index.cfm*
• license.txt*
• /plugin
• /config.xml.cfm
• /plugin.cfc*
• /config.cfm*
• *Optional
Thursday, 15 May 14
/plugin/config.xml.cfm
• Setup Variables (base & custom)
• Register Your Plugin’s:
• Display Objects
• Event Handlers
Thursday, 15 May 14
/plugin/config.xml.cfm
Thursday, 15 May 14
Display Objects
registered via config.xml.cfm
Thursday, 15 May 14
Display Objects: .CFM
Thursday, 15 May 14
Display Objects: .CFC
Thursday, 15 May 14
Display Objects
Thursday, 15 May 14
Event Handlers
registered via config.xml.cfm
Thursday, 15 May 14
eventHandler.cfc
Thursday, 15 May 14
Admin Template
• Optionally use the Mura CMS look and feel
Thursday, 15 May 14
Advanced Options
• Configurable Display Objects
• Custom Events
• Object Relational Mapping (ORM)
• Bundle Options:
• toBundle(), fromBundle()
• CFML Frameworks:
• FW/1, Model-Glue, Fusebox, etc.
Thursday, 15 May 14
Plugin Examples
• MuraPlugin
• MuraFW1
• Visit https://github.com/stevewithington/muracms-
integration for a list of many more
Thursday, 15 May 14
Thanks,
You Rock.
Thursday, 15 May 14
Resources
• GetMura.com
• BlueRiver.com
• github.com/BlueRiver
• github.com/SteveWithington
• gist.github.com/SteveWithington
• Mura CMS Developers on Google Groups & LinkedIn
• Paid Support Plans: Short-Term & Annual
• Hosted, On-site & Online Training
Thursday, 15 May 14

Más contenido relacionado

Destacado

Getting started with mobile application development
Getting started with mobile application developmentGetting started with mobile application development
Getting started with mobile application developmentColdFusionConference
 
Cfobjective fusion reactor sponsor talk
Cfobjective fusion reactor sponsor talkCfobjective fusion reactor sponsor talk
Cfobjective fusion reactor sponsor talkColdFusionConference
 
Adaptive Development in a Creative World
Adaptive Development in a Creative WorldAdaptive Development in a Creative World
Adaptive Development in a Creative WorldColdFusionConference
 
Our application got popular and now it breaks
Our application got popular and now it breaksOur application got popular and now it breaks
Our application got popular and now it breaksColdFusionConference
 
Multiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mqMultiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mqColdFusionConference
 
Monitoring CF What are my options? Why Should I?
Monitoring CF What are my options? Why Should I?Monitoring CF What are my options? Why Should I?
Monitoring CF What are my options? Why Should I?ColdFusionConference
 
In The Trenches With Tomster, Upgrading Ember.js & Ember Data
In The Trenches With Tomster, Upgrading Ember.js & Ember DataIn The Trenches With Tomster, Upgrading Ember.js & Ember Data
In The Trenches With Tomster, Upgrading Ember.js & Ember DataColdFusionConference
 
PostCSS: A dumb name for an awesome thing
PostCSS: A dumb name for an awesome thingPostCSS: A dumb name for an awesome thing
PostCSS: A dumb name for an awesome thingColdFusionConference
 
Intro to JavaScript Tooling in Visual Studio Code
Intro to JavaScript Tooling in Visual Studio CodeIntro to JavaScript Tooling in Visual Studio Code
Intro to JavaScript Tooling in Visual Studio CodeColdFusionConference
 
Setting up your multiengine environment Apache Railo ColdFusion
Setting up your multiengine environment Apache Railo ColdFusionSetting up your multiengine environment Apache Railo ColdFusion
Setting up your multiengine environment Apache Railo ColdFusionColdFusionConference
 
Accelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using CachingAccelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using CachingColdFusionConference
 
Understanding bdd and tdd with lego
Understanding bdd and tdd with legoUnderstanding bdd and tdd with lego
Understanding bdd and tdd with legoColdFusionConference
 
Cf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanshipCf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanshipColdFusionConference
 

Destacado (20)

Getting started with mobile application development
Getting started with mobile application developmentGetting started with mobile application development
Getting started with mobile application development
 
Where is cold fusion headed
Where is cold fusion headedWhere is cold fusion headed
Where is cold fusion headed
 
Git sourcecontrolpreso
Git sourcecontrolpresoGit sourcecontrolpreso
Git sourcecontrolpreso
 
Cfobjective fusion reactor sponsor talk
Cfobjective fusion reactor sponsor talkCfobjective fusion reactor sponsor talk
Cfobjective fusion reactor sponsor talk
 
Fr sponsor talk may 2015
Fr sponsor talk may 2015Fr sponsor talk may 2015
Fr sponsor talk may 2015
 
Adaptive Development in a Creative World
Adaptive Development in a Creative WorldAdaptive Development in a Creative World
Adaptive Development in a Creative World
 
Our application got popular and now it breaks
Our application got popular and now it breaksOur application got popular and now it breaks
Our application got popular and now it breaks
 
Multiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mqMultiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mq
 
Monitoring CF What are my options? Why Should I?
Monitoring CF What are my options? Why Should I?Monitoring CF What are my options? Why Should I?
Monitoring CF What are my options? Why Should I?
 
In The Trenches With Tomster, Upgrading Ember.js & Ember Data
In The Trenches With Tomster, Upgrading Ember.js & Ember DataIn The Trenches With Tomster, Upgrading Ember.js & Ember Data
In The Trenches With Tomster, Upgrading Ember.js & Ember Data
 
PostCSS: A dumb name for an awesome thing
PostCSS: A dumb name for an awesome thingPostCSS: A dumb name for an awesome thing
PostCSS: A dumb name for an awesome thing
 
Intro to JavaScript Tooling in Visual Studio Code
Intro to JavaScript Tooling in Visual Studio CodeIntro to JavaScript Tooling in Visual Studio Code
Intro to JavaScript Tooling in Visual Studio Code
 
Locking Down CF Servers
Locking Down CF ServersLocking Down CF Servers
Locking Down CF Servers
 
Setting up your multiengine environment Apache Railo ColdFusion
Setting up your multiengine environment Apache Railo ColdFusionSetting up your multiengine environment Apache Railo ColdFusion
Setting up your multiengine environment Apache Railo ColdFusion
 
ColdFusion in Transit action
ColdFusion in Transit actionColdFusion in Transit action
ColdFusion in Transit action
 
Accelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using CachingAccelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using Caching
 
Web hackingtools 2015
Web hackingtools 2015Web hackingtools 2015
Web hackingtools 2015
 
Java scriptconfusingbits
Java scriptconfusingbitsJava scriptconfusingbits
Java scriptconfusingbits
 
Understanding bdd and tdd with lego
Understanding bdd and tdd with legoUnderstanding bdd and tdd with lego
Understanding bdd and tdd with lego
 
Cf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanshipCf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanship
 

Similar a Mura intergration-slides

High ROI Testing in Angular.pptx
High ROI Testing in Angular.pptxHigh ROI Testing in Angular.pptx
High ROI Testing in Angular.pptxChristian Lüdemann
 
Wireless Wednesdays: Beyond the Basics - Enhance your Enterprise Mobile Appli...
Wireless Wednesdays: Beyond the Basics - Enhance your Enterprise Mobile Appli...Wireless Wednesdays: Beyond the Basics - Enhance your Enterprise Mobile Appli...
Wireless Wednesdays: Beyond the Basics - Enhance your Enterprise Mobile Appli...Teamstudio
 
Ember addons, served three ways
Ember addons, served three waysEmber addons, served three ways
Ember addons, served three waysMike North
 
Webinar - Building Custom Extensions With AppDynamics
Webinar - Building Custom Extensions With AppDynamicsWebinar - Building Custom Extensions With AppDynamics
Webinar - Building Custom Extensions With AppDynamicsTodd Radel
 
Angular 7 Firebase5 CRUD Operations with Reactive Forms
Angular 7 Firebase5 CRUD Operations with Reactive FormsAngular 7 Firebase5 CRUD Operations with Reactive Forms
Angular 7 Firebase5 CRUD Operations with Reactive FormsDigamber Singh
 
Data/Applications Visualization and Mashup
Data/Applications Visualization and MashupData/Applications Visualization and Mashup
Data/Applications Visualization and MashupÁlvaro Arranz García
 
SaaS + CMS: Tricode's Technical Roadtrip
SaaS + CMS: Tricode's Technical RoadtripSaaS + CMS: Tricode's Technical Roadtrip
SaaS + CMS: Tricode's Technical RoadtripMagnolia
 
Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...
Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...
Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...Tricode (part of Dept)
 
Build Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartBuild Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartEric Overfield
 
Building a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKitBuilding a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKitBenjamin LUPU
 
Angular - Chapter 3 - Components
Angular - Chapter 3 - ComponentsAngular - Chapter 3 - Components
Angular - Chapter 3 - ComponentsWebStackAcademy
 
T44u 2015, sample data
T44u 2015, sample dataT44u 2015, sample data
T44u 2015, sample dataTerminalfour
 
Angularjs2 presentation
Angularjs2 presentationAngularjs2 presentation
Angularjs2 presentationdharisk
 
Alfresco Development Framework Basic
Alfresco Development Framework BasicAlfresco Development Framework Basic
Alfresco Development Framework BasicMario Romano
 
Hydrosphere.io for ODSC: Webinar on Kubeflow
Hydrosphere.io for ODSC: Webinar on KubeflowHydrosphere.io for ODSC: Webinar on Kubeflow
Hydrosphere.io for ODSC: Webinar on KubeflowRustem Zakiev
 
Behavioral driven development with Behat
Behavioral driven development with BehatBehavioral driven development with Behat
Behavioral driven development with BehatPromet Source
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365Luis Valencia
 

Similar a Mura intergration-slides (20)

High ROI Testing in Angular.pptx
High ROI Testing in Angular.pptxHigh ROI Testing in Angular.pptx
High ROI Testing in Angular.pptx
 
Wireless Wednesdays: Beyond the Basics - Enhance your Enterprise Mobile Appli...
Wireless Wednesdays: Beyond the Basics - Enhance your Enterprise Mobile Appli...Wireless Wednesdays: Beyond the Basics - Enhance your Enterprise Mobile Appli...
Wireless Wednesdays: Beyond the Basics - Enhance your Enterprise Mobile Appli...
 
Diving Into Xamarin.Forms
Diving Into Xamarin.Forms Diving Into Xamarin.Forms
Diving Into Xamarin.Forms
 
Ember addons, served three ways
Ember addons, served three waysEmber addons, served three ways
Ember addons, served three ways
 
Webinar - Building Custom Extensions With AppDynamics
Webinar - Building Custom Extensions With AppDynamicsWebinar - Building Custom Extensions With AppDynamics
Webinar - Building Custom Extensions With AppDynamics
 
Angular 7 Firebase5 CRUD Operations with Reactive Forms
Angular 7 Firebase5 CRUD Operations with Reactive FormsAngular 7 Firebase5 CRUD Operations with Reactive Forms
Angular 7 Firebase5 CRUD Operations with Reactive Forms
 
Data/Applications Visualization and Mashup
Data/Applications Visualization and MashupData/Applications Visualization and Mashup
Data/Applications Visualization and Mashup
 
SaaS + CMS: Tricode's Technical Roadtrip
SaaS + CMS: Tricode's Technical RoadtripSaaS + CMS: Tricode's Technical Roadtrip
SaaS + CMS: Tricode's Technical Roadtrip
 
Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...
Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...
Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...
 
Build Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartBuild Your First SharePoint Framework Webpart
Build Your First SharePoint Framework Webpart
 
Building a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKitBuilding a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKit
 
Angular - Chapter 3 - Components
Angular - Chapter 3 - ComponentsAngular - Chapter 3 - Components
Angular - Chapter 3 - Components
 
T44u 2015, sample data
T44u 2015, sample dataT44u 2015, sample data
T44u 2015, sample data
 
An Overview of Angular 4
An Overview of Angular 4 An Overview of Angular 4
An Overview of Angular 4
 
Angularjs2 presentation
Angularjs2 presentationAngularjs2 presentation
Angularjs2 presentation
 
Alfresco Development Framework Basic
Alfresco Development Framework BasicAlfresco Development Framework Basic
Alfresco Development Framework Basic
 
Hydrosphere.io for ODSC: Webinar on Kubeflow
Hydrosphere.io for ODSC: Webinar on KubeflowHydrosphere.io for ODSC: Webinar on Kubeflow
Hydrosphere.io for ODSC: Webinar on Kubeflow
 
Behavioral driven development with Behat
Behavioral driven development with BehatBehavioral driven development with Behat
Behavioral driven development with Behat
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365
 
Ember - introduction
Ember - introductionEmber - introduction
Ember - introduction
 

Más de ColdFusionConference

Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server DatabasesColdFusionConference
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsColdFusionConference
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectColdFusionConference
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerColdFusionConference
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISColdFusionConference
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016ColdFusionConference
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016ColdFusionConference
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusionConference
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMSColdFusionConference
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webColdFusionConference
 
Herding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxHerding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxColdFusionConference
 

Más de ColdFusionConference (20)

Api manager preconference
Api manager preconferenceApi manager preconference
Api manager preconference
 
Cf ppt vsr
Cf ppt vsrCf ppt vsr
Cf ppt vsr
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server Databases
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIs
 
Don't just pdf, Smart PDF
Don't just pdf, Smart PDFDon't just pdf, Smart PDF
Don't just pdf, Smart PDF
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API Manager
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APIS
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Restful services with ColdFusion
Restful services with ColdFusionRestful services with ColdFusion
Restful services with ColdFusion
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMS
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and web
 
Why Everyone else writes bad code
Why Everyone else writes bad codeWhy Everyone else writes bad code
Why Everyone else writes bad code
 
Securing applications
Securing applicationsSecuring applications
Securing applications
 
Testing automaton
Testing automatonTesting automaton
Testing automaton
 
Rest ful tools for lazy experts
Rest ful tools for lazy expertsRest ful tools for lazy experts
Rest ful tools for lazy experts
 
Herding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxHerding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandbox
 

Último

Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
+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
 
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...panagenda
 
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 🔝✔️✔️Delhi Call girls
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
%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 tembisamasabamasaba
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
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..pdfPearlKirahMaeRagusta1
 

Último (20)

Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
+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...
 
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...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.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 🔝✔️✔️
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
%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
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
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
 

Mura intergration-slides

  • 1. New CMS & Legacy Apps Don’t Re-Write — Integrate! Thursday, 15 May 14
  • 3. Agenda • Overview of Mura CMS • Integration Options • Quick-start Plugins Thursday, 15 May 14
  • 4. Overview of Mura CMS (demo) Thursday, 15 May 14
  • 6. What Can I Use? • Use any front-end framework you want Thursday, 15 May 14
  • 7. What Can I Use? • Use any JavaScript framework you want Thursday, 15 May 14
  • 8. What Can I Use? • Use any CFML framework you want Thursday, 15 May 14
  • 9. Demo App1 : Uber Simple Thursday, 15 May 14
  • 10. App1 Review • Copied application to the theme’s display_objects directory • Converted index.cfm into a front-end controller • Added the application as a display object using a code snippet • [m]$.dspThemeInclude(‘display_objects/app1/index.cfm’)[/m] Thursday, 15 May 14
  • 11. Mura $cope • Bean Factory: • $.getBean(‘someBean’) • $.getBean(‘user’).loadBy(username=‘Steve’) • Mura Events: • $.event(), announceEvent(‘yourEvent’) • Sub-$copes: • $.content(), $.currentUser(), $.globalConfig(), $.siteConfig() • Helpers: • $.getContentRenderer(), $.getPlugin(), $.getImageURL(), $.addToHTMLHeadQueue() Thursday, 15 May 14
  • 12. Mura $cope: Helpers • $.siteConfig(‘themeAssetPath’) • Outputs the path to your theme directory • /{SiteID}/includes/themes/{ThemeName} Thursday, 15 May 14
  • 13. Mura $cope: Helpers • $.dspThemeInclude(‘path/to/file/cfm’) • Dynamic CFinclude of the desired file • <cfinclude template=”/{SiteID}/includes/ themes/{ThemeName}/path/to/file.cfm”> Thursday, 15 May 14
  • 14. Mura Events • Application Flow: • Chain of events that fire in sequence • Each link in the chain can be intercepted to: • Provide additional OR, • Even replace business logic • eventHandler.cfc (Site & Theme) Thursday, 15 May 14
  • 15. Event Handlers • Front End Requests: onSiteRequestStart, on{Type}{SubType}BodyRender • Contextual Events • Admin Life-Cycle Events: onGlobalRequestStart, onAdminRequestStart • Application Events: onApplicationLoad, onGlobalError, onSiteError • Admin Rendering Events: onContentEdit • Content Tab Events • Login Events • Content Events: onBefore{Type}{SubType}Save • Feed Events • User Events • Custom Events Thursday, 15 May 14
  • 17. App2 Review • Copied application to the theme’s display_objects directory • Converted index.cfm into a front-end controller • Added a onSite404()event listener in the SITE eventHandler.cfc • Added the application as a display object using a code snippet • [m]$.dspThemeInclude(‘display_objects/app2/index.cfm’)[/m] • Used $.addToHTMLHeadQueue() to add custom JS & CSS to head Thursday, 15 May 14
  • 19. App3 Review • Copied application to the theme’s display_objects directory • Converted index.cfm into a front-end controller • Added a custom eventHandler using the onApplicationLoad() event in the THEME eventHandler.cfc • Added the application as a display object using a code snippet • [m]$.dspThemeInclude(‘display_objects/app3/index.cfm’)[/m] Thursday, 15 May 14
  • 21. Why Plugins? • Update-Safe Customizations: • Extend Mura CMS • Add new functionality • Distribute Code Across Sites / Installs • Custom Administrator • Integrate Existing Applications • GPL 2.0 License Thursday, 15 May 14
  • 22. Plugin Anatomy • index.cfm* • license.txt* • /plugin • /config.xml.cfm • /plugin.cfc* • /config.cfm* • *Optional Thursday, 15 May 14
  • 23. /plugin/config.xml.cfm • Setup Variables (base & custom) • Register Your Plugin’s: • Display Objects • Event Handlers Thursday, 15 May 14
  • 25. Display Objects registered via config.xml.cfm Thursday, 15 May 14
  • 29. Event Handlers registered via config.xml.cfm Thursday, 15 May 14
  • 31. Admin Template • Optionally use the Mura CMS look and feel Thursday, 15 May 14
  • 32. Advanced Options • Configurable Display Objects • Custom Events • Object Relational Mapping (ORM) • Bundle Options: • toBundle(), fromBundle() • CFML Frameworks: • FW/1, Model-Glue, Fusebox, etc. Thursday, 15 May 14
  • 33. Plugin Examples • MuraPlugin • MuraFW1 • Visit https://github.com/stevewithington/muracms- integration for a list of many more Thursday, 15 May 14
  • 35. Resources • GetMura.com • BlueRiver.com • github.com/BlueRiver • github.com/SteveWithington • gist.github.com/SteveWithington • Mura CMS Developers on Google Groups & LinkedIn • Paid Support Plans: Short-Term & Annual • Hosted, On-site & Online Training Thursday, 15 May 14