Extending mura cms with custom plugins
Upcoming SlideShare
Loading in...5
×
 

Extending mura cms with custom plugins

on

  • 2,249 views

Presentation from cf.Objective(ANZ) on creating plugins for Mura CMS.

Presentation from cf.Objective(ANZ) on creating plugins for Mura CMS.

Statistics

Views

Total Views
2,249
Views on SlideShare
2,249
Embed Views
0

Actions

Likes
2
Downloads
10
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Extending mura cms with custom plugins Extending mura cms with custom plugins Presentation Transcript

    • Extending Mura CMS withCustom Plugins cf.Objective(ANZ) 2011
    • About the presenter Java developer for early part of career Joined RISE in 2005 Developing in ColdFusion since… …and loving it! Twitter: @am2605 Email: andrew@abm.id.au
    • About the audience? Who is using a CMS?  Who is using Mura?  Who is using Mura plugins?
    • About the presentation Overview of Mura (brief) Mura Plugins  when & why?  how?  walk through some simple plugin code
    • About the presentation (cont.) What you will take away:  Understanding of plugins & what they are  Starting point for building your own plugins (published on github)  Development tips, techniques and pitfalls to avoid
    • Mura  Open Source Content Management System (CMS)  GPL, with exceptions for plugins, themes and bundles** See https://github.com/blueriver/MuraCMS/blob/develop/index.cfm
    • Mura Commercial licensing and support available, should you prefer
    • Mura (cont…) Features  Easy for front end users to learn and use  Novice users / no knowledge of HTML  Templates and content styling
    • Mura (cont…) Features  Easily extensible Mura Marketplace Plugins Templates Create you own! Plugins Templates
    • What are Mura Plugins? Extend Mura with new functionality Examples from the Mura Marketplace include:  eCommerce, Google Maps integration, Survey module
    • What are Mura Plugins? Extend Mura with new functionality Installable, distributable package Contains all the necessary elements to build powerful custom applications within Mura CMS
    • How Mura Plugins work Provide Display Objects These are in turn embedded in Mura pages Can be used across multiple sites
    • When use Mura Plugins? Plugins are only one of numerous ways to extend Mura So when use them?  If planning to distribute  Providing large or complex functionality
    • Why use Mura Plugins?  Update safe  Packaged and organised  Easily distributable  Licensing exception  Framework-friendly  FW/1, Model-Glue, etc.Credit: “Anatomy of a Mura Plugin” presentation – Sean Schroeder, Blue River Software
    • So how is it done? Follow a standard file / directory structure Package as a zip file Upload via the Mura Admin interface
    • A simple plugin The simplest example contains 3 files
    • config.xml.cfm
    • dspHelloWorld.cfm
    • Build and install Deployed as a zip file I prefer to use ant from within Eclipse to package the plugin  But you can create it any way you wish My ant build.xml is available on github  Link will be at end of slides
    • Demo 2 - More advanced The previous example was interesting, but not very useful Let’s hook up our plugin to Mura… …via events
    • Introducing the Mura Scope Provides a standard, concise syntax for interfacing with Mura objects (and their properties and events). Accessed as the “$” variable We’ll see an example of this shortly
    • Introducing the Mura Scope Provides a standard, concise syntax for interfacing with Mura objects (and their properties and events). In admin area  Must include plugins/config.cfm to obtain access to this When included in Mura page  Automagically available
    • More about PluginConfig
    • The <settings> element Contains settings that the plugin requires to function Specified by the user during plugin install Accessed programatically via pluginConfig.getSetting(‘settingName’)
    • The <settings> element
    • EventHandlers Map to Mura events, or events announced in your plugins Mura has an extensive event model – more info in links at end of slides Set up in config.xml.cfm:
    • EventHandlers (cont)
    • Plugin.cfc Allows you to run code that is needed to properly install, update or delete a plugin Plugin.cfc must extend mura.plugin.plugincfc
    • An example See demo3/plugin/plugin.cfc
    • ResourcesMura – http://getmura.comMura Marketplace -http://www.getmura.com/marketplace/Grant Sheperthttp://www.grantshepert.com/
    • Resources (cont.)Source code for demos –https://github.com/am2605/cfoanz-2011-mura-plugins Twitter: @am2605 Email: andrew@abm.id.au
    • Questions?
    • Thank you!