Your SlideShare is downloading. ×
Brendon Hatcher Joomla for web developers
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Brendon Hatcher Joomla for web developers


Published on

Published in: Technology

  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide
  • Urban slum -
  • Huge crowd -
  • Free hugs -
  • Robot -
  • Superhero -
  • Cake -
  • Parcel -
  • Approved -
  • Modify car
  • Mood board - or own image
  • Samurai -
  • Stubborn -
  • Detailed icing -
  • Keys -
  • Burnt computer -
  • Teamwork - link to : or
  • Recipe -
  • Pipes -
  • Transcript

    • 1. Joomla! for Web Developers
      The business case and process for using Joomla
      Brendon HatcherTechnical Director: BrilliantWeb
    • 2. Introduction
      Our position
    • 3. Perspectives
      Adoption of Joomla by professional, commercial web development agencies
      Transition from non-CMS web site development to the Joomla CMS
    • 4. Abstract
      Using Joomla to build client web sites makes business sense
      Ease of use
      Wide range of functionality available through extensions
      Speed of site development
      Building a business around Joomla
      Relationship between business processes, design processes, contractual arrangements etc on the one hand, and Joomla on the other
      Structure your web development offerings and processes around the Joomla framework
    • 5. Our position
      BrilliantWeb is a Joomla-only development firm
      We no longer build HTML sites
      We apply only Joomla solutions to meet our client needsIf a client wants a 1-page web site, we build it in Joomla!
      Focusing on a single development platform (Joomla) allows for broad and deep expertise
    • 6. Outline
      Business case for using Joomla
      Business model and best practice
      Joomla web development processes
      Shameless advert for BrilliantWeb’s services
    • 7. The business case for using Joomla
      Safety in numbers
    • 8. Safety in numbers 
      Pre-Joomla: ad hoc hodgepodge of separate PHP and Perl scripts, cobbled together to suit a client’s specifications
      With Joomla: extensions
      Large centralised repository of extension
      Mostly work well together
    • 9. Safety in numbers 
      Sheer size of the Joomla user and developer community
      Sufficiently large user communities to contribute to support, code fixes, workarounds etc
      Main Joomla support forum users can often support extensions
      Abandoned extensions are often adopted by other developers
      Security vulnerability alerts
    • 10. Profitability 
      Development budget allocation
      As development budgets get squeezed the “mostly free” aspect of Joomla makes a big difference to your bottom line
      Entirely free GPL extensions
      Commercial GPL extensions
      Remain affordable due to their “single fee for unlimited use” approach
      Extensions under a pay-per-use model
      Tend to be really powerful components
    • 11. Profitability
      Speed of development and maintenance
      Many maintenance aspects are simpler using a CMS
      You add an article and Joomla (plus extensions) automatically:
      Adds the title to the sidebar under“Recent Articles”
      Adds the title, summary and automatically generated thumbnail to the blog page
      Pushes the summary to twitter and facebook
      Adds the entry to the RSS feed and Google sitemap
      Sends the summary out to subscribers via email
    • 12. Profitability
      Increasing numbers of clients specifically seek web developers with Joomla experience/expertise
      Growing commercial opportunities within the Joomla ecosystem
      Template development
      Joomla-oriented SEO
      Commercial extension development
      Joomla technical support etc
    • 13. Business modeland best practice
      Project scoping and pricing
      Managing messiness
      Joomla-optimised hosting service
      Security upgrades
      Extension upgrades
      Client access to the backend
    • 14. Project scoping and pricing
      Tier 1:
      A package offering
      Tier 2:
      The package with pre-approved extensions
      Tier 3:
      Custom Joomla-based solution
    • 15. Scoping / Tier 1:A package offering
      A set of core functions provided for in our distro
      Joomla core + selected extensions + a template framework
      Really easy to scope simple sites
      Development processes are well understood, documented and correctly costed
      Contract with suitable terms and conditions
      Live sample of our distro
      Vertical markets
      Powerful packages
    • 16. Scoping / Tier 2:Package + pre-approved extensions
      Selected extension for each commonly-requested site feature
      Our Joomladistro + pre-approved extensions
      Simplicity and extensibility
      Quickly match features to client requirements without lots of additional research
      Costing and contractual elements
      Scoping forms
    • 17. Scoping / Tier 3:Custom Joomla-based solution
      Custom scoping, installation and configuration
      Our Joomladistro + pre-approved extensions + other extensions/custom code etc
      Reducing scoping effort by passing the burden and responsibility to the client
      Complex scoping = separate mini-project
    • 18. ScopingLayout and design
      Really challenging to scope layouts without seeing final content
      Any ideas?
      Goes well beyond template selection
      Overall look and feel
      Content structure
      Landing pages
      Component-specific layouts
    • 19. Scoping / Layout and design Template challenges
      Free templates
      Poor styling for some elements
      No support forum
      Commercial templates
      Demo: Fantastic images and content constructed to fill all the myriad sliders and modules on the page
      Client: Crappy images and most modules turned off!
      Custom templating
      Huge effort, huge costs
      Poor starting graphic
      Cross browser compatibility issues
      Endless scope creep
      Template framework
    • 20. ScopingManaging messiness
      “A battle plan seldom survives contact with the enemy”
      Helmuth von Moltke the Elder
      “A project scope seldom survives contact with the site content”
    • 21. Scoping / Managing messinessSimple = No problem
      Standard UI switches
      Simple template tweaks
      During development  explain scope creep  make change
      After launch  make change (engage with client and sell them something!)
    • 22. Scoping / Managing messinessMaybe simple, Maybe no problem
      Addition of new modules
      Restructure menus
      Template output overrides (here be dragons)
      We try to push this work to after site launch
      If we don’t, we regret it!
      Cost is usually not the factor, it is project delays
    • 23. Scoping / Managing messinessNot gonna do it
      Hacks to the PHP code
      Circumvent security
      Break things in non-obvious ways
      Get overwritten during upgrade
      Or, prevent extension or core upgrade
    • 24. Scoping / Managing messiness1 pixel to the right, please
      Fussy clients are a productivity black hole
      Assert your expertise in a way that they can trust
      Use financial constraints to rein them in
    • 25. Joomla-optimised hosting service
      Server and site security is really important
      Scripting language (PHP), database (MySQL), CMS (Joomla), user behaviour
      The ideal setup
      Managed, dedicated server with full SSH access & WHM access
      Customise the server
      Avoiding hosting issues
      Incentivise clients to use your Joomla-optimised hosting service
      Reduced Service Level Agreements if they host elsewhere
    • 26. Security upgrades
      You need a clear business model
      Client resistance to costs
      Tracking vulnerable sites
      Service levels and effort
      Major version upgrades (especially at End Of Life)?
      Similar issues with non-security upgrades for extensions
      Annual service plan
      When client requests / When we have spare retainer hours!
    • 27. Client access to backend 
      Restructuring revenue streams
      You need to find other ways to make money from these clients
      Cover the costs of training clients
      Have the necessary resources (training facilities and training manuals) to do so
      Security issues
      Clients leaving passwords lying around
      Use an insecure PC or browser for site administration
      Install insecure extensions without telling you
    • 28. Client access to backend 
      A little knowledge is dangerous
      Clients hack the PHP or template, move system folders around etc, and then get really surprised when the site breaks!
      Damage to developer reputation
      I remove my design imprint from the footer after client trashes the site
      Broken sites and the blame game
      Clients paste Microsoft code from MS Word, mess with file systems etc and break the site
    • 29. Client access to backend 
      Restricting access to specific aspects of the backend
      Usually runs into boundary issues, where the proposed solution allows access to something that should be restricted, or blocks something that they do need to access
      Editing from the frontend
      Not universal – most extensions don’t have frontend editing
      Restricted – those extensions that do have frontend editing often restrict what can be done
      Any better in Joomla 1.6?
    • 30. Backups are essential
      CMS sites change more frequently than static sites
      CMS sites are more vulnerable to catastrophic failure
    • 31. BackupsA shared responsibility 
      System backup (host provider)
      Entire cPanel account
      Separate drive, or separate server
      Full backup, not differential
      Supplemented with weekly and monthly backups
      Downloaded backups (by client)
      Ad hoc backup (using Akeeba Backup)
      Files, database and custom installer
      Reduces our liability somewhat
    • 32. BackupsA shared responsibility 
      Daily database backups (automated)
      Database changes much more frequently than the file system
      Database to remote location or email inbox
      System restore points (automated)
      Backup automatically as you start to install something
      Remote backups (automated)
      Host provider backups may fail
      Move a daily or weekly backup to cloud-based storage
      Restore the backup to any server, not just the current one
    • 33. Joomla webdevelopmentprocesses
      Everybody, follow the recipe
      Speeding up development
      Local vs online development
      Parallel development
    • 34. Everybody follow the recipe
      Using a distro and pre-approved extensions
      Easier and easier to document the site development process
      Devolve activities to lower-skilled employees
    • 35. Speeding up development
      Start with a distro
      MassContent page and menu creator
      Data import tools
      SQL and CSV
      Template frameworks
    • 36. Local vs online development
      Build online
      The local development environment is seldom a perfect match with the live server configuration
      Share work in progress with the client
      Distributed team needs access from their home offices
      Firebug and extPlorer simplify development on a live server
      Once a site is published, your live and local copies are going to diverge rapidly anyway
      Always build on dev, not live server
    • 37. Parallel development
      System installation and configuration
      Content insertion
    • 38. Joomladistros and Joomla site security
      I cover these in much more detail in separate talks later in the Joomla Day SA 2011 programme
      Other Joomla topics
      see the archive on the site
      BrilliantWeb provides scoping, consulting and other services to other Joomla web developers
      Contact Ingrid: 083 783 317 |
      We are currently exploring selling access to our distro and to our extension scoping forms
      Contact us if you are interested
      Related offerings
    • 39. Credits
      Brendon Hatcher is the compiler of this presentation
      The presentation is released under the Creative Commons Licence – Attribution, Non-commercial, No derivatives
      If you don’t know what this licence means, find out about it at