SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Joomla! for Web Developers The business case and process for using Joomla Brendon HatcherTechnical Director: BrilliantWeb
Introduction Perspectives Abstract Our position
Perspectives Adoption of Joomla by professional, commercial web development agencies Transition from non-CMS web site development to the Joomla CMS
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
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
Outline Business case for using Joomla Business model and best practice Joomla web development processes Shameless advert for BrilliantWeb’s services
The business case for using Joomla Safety in numbers Profitability
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
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
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
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
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
Business modeland best practice Project scoping and pricing Managing messiness Joomla-optimised hosting service Security upgrades Extension upgrades Client access to the backend Backups!
Project scoping and pricing Tier 1:  A package offering Tier 2:  The package with pre-approved extensions Tier 3: Custom Joomla-based solution
Scoping / Tier 1:A package offering A set of core functions provided for in our distro Joomla core + selected extensions + a template framework Simplicity 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
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
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
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
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
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” Me
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!)
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
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
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
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
Security upgrades You need a clear business model Issues 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!
Client access to backend  Restructuring revenue streams You need to find other ways to make money from these clients Training 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
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
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?
Backups are essential CMS sites change more frequently than static sites CMS sites are more vulnerable to catastrophic failure
BackupsA shared responsibility  System backup (host provider) Daily 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
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
Joomla webdevelopmentprocesses Everybody, follow the recipe Speeding up development Local vs online development Parallel development
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
Speeding up development Start with a distro MassContent page and menu creator Data import tools SQL and CSV Template frameworks JCE
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 http://newclient.brilliantweb.co.za
Parallel development System installation and configuration Content insertion Templating
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 www.joomladay.co.za site BrilliantWeb provides scoping, consulting and other services to other Joomla web developers Contact Ingrid: 083 783 317 | sales@brilliantweb.co.za We are currently exploring selling access to our distro and to our extension scoping forms Contact us if you are interested Related offerings
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 creativecommons.org

Weitere ähnliche Inhalte

Was ist angesagt?

Christmas Is Coming
Christmas Is ComingChristmas Is Coming
Christmas Is Coming
ElvaMay
 
Adding flash animation to a website
Adding flash animation to a websiteAdding flash animation to a website
Adding flash animation to a website
Bubblefruit.com
 

Was ist angesagt? (11)

JUGN-meet1
JUGN-meet1JUGN-meet1
JUGN-meet1
 
Shayke's SCRUM @alphageeks 6
Shayke's SCRUM @alphageeks 6Shayke's SCRUM @alphageeks 6
Shayke's SCRUM @alphageeks 6
 
Adobe Flex builder by elmagnif
Adobe Flex builder  by elmagnifAdobe Flex builder  by elmagnif
Adobe Flex builder by elmagnif
 
What are the advantages and disadvantages of wordpress
What are the advantages and disadvantages of wordpressWhat are the advantages and disadvantages of wordpress
What are the advantages and disadvantages of wordpress
 
[Workshop] Single Sourcing with the Technical Communication Suite: Using Fram...
[Workshop] Single Sourcing with the Technical Communication Suite: Using Fram...[Workshop] Single Sourcing with the Technical Communication Suite: Using Fram...
[Workshop] Single Sourcing with the Technical Communication Suite: Using Fram...
 
Enhancing SAP HCM - Thoughts and opinions hcm
Enhancing SAP HCM - Thoughts and opinions hcmEnhancing SAP HCM - Thoughts and opinions hcm
Enhancing SAP HCM - Thoughts and opinions hcm
 
Accessibility With WordPress: Accessing Higher Ground 2014
Accessibility With WordPress: Accessing Higher Ground 2014Accessibility With WordPress: Accessing Higher Ground 2014
Accessibility With WordPress: Accessing Higher Ground 2014
 
New Administrator Training - Getting Started in CourseSites
New Administrator Training - Getting Started in CourseSitesNew Administrator Training - Getting Started in CourseSites
New Administrator Training - Getting Started in CourseSites
 
Christmas Is Coming
Christmas Is ComingChristmas Is Coming
Christmas Is Coming
 
Joomla Website Development Company
Joomla Website Development CompanyJoomla Website Development Company
Joomla Website Development Company
 
Adding flash animation to a website
Adding flash animation to a websiteAdding flash animation to a website
Adding flash animation to a website
 

Andere mochten auch

Yannick Gaultier - sh404SEF SEO and Analytics
Yannick Gaultier - sh404SEF SEO and AnalyticsYannick Gaultier - sh404SEF SEO and Analytics
Yannick Gaultier - sh404SEF SEO and Analytics
Joomla Day South Africa
 
Peter Van Westen - No Number Power Squared
Peter Van Westen - No Number Power SquaredPeter Van Westen - No Number Power Squared
Peter Van Westen - No Number Power Squared
Joomla Day South Africa
 

Andere mochten auch (14)

Case Study: How we Built Joomlagov.info
Case Study: How we Built  Joomlagov.infoCase Study: How we Built  Joomlagov.info
Case Study: How we Built Joomlagov.info
 
Streamlining Joomla Template Deployment and Updates across multiple installat...
Streamlining Joomla Template Deployment and Updates across multiple installat...Streamlining Joomla Template Deployment and Updates across multiple installat...
Streamlining Joomla Template Deployment and Updates across multiple installat...
 
Joomla SEO
Joomla SEOJoomla SEO
Joomla SEO
 
Yannick Gaultier - sh404SEF SEO and Analytics
Yannick Gaultier - sh404SEF SEO and AnalyticsYannick Gaultier - sh404SEF SEO and Analytics
Yannick Gaultier - sh404SEF SEO and Analytics
 
Brendon Hatcher Joomla Distros
Brendon Hatcher Joomla DistrosBrendon Hatcher Joomla Distros
Brendon Hatcher Joomla Distros
 
Branding Redevelopment Activities
Branding Redevelopment ActivitiesBranding Redevelopment Activities
Branding Redevelopment Activities
 
Case Study: AGOA.info - Planning and Execution, then disaster... / SEEDINIT.o...
Case Study: AGOA.info - Planning and Execution, then disaster... / SEEDINIT.o...Case Study: AGOA.info - Planning and Execution, then disaster... / SEEDINIT.o...
Case Study: AGOA.info - Planning and Execution, then disaster... / SEEDINIT.o...
 
Case Study Upgrading Joomlagov.info to Joomla 2.5 with responsive design
Case Study  Upgrading Joomlagov.info to Joomla 2.5 with responsive design Case Study  Upgrading Joomlagov.info to Joomla 2.5 with responsive design
Case Study Upgrading Joomlagov.info to Joomla 2.5 with responsive design
 
Peter Van Westen - No Number Power Squared
Peter Van Westen - No Number Power SquaredPeter Van Westen - No Number Power Squared
Peter Van Westen - No Number Power Squared
 
Ryzin Starz
Ryzin StarzRyzin Starz
Ryzin Starz
 
Simon Dowdles - Seblod CCK
Simon Dowdles - Seblod CCKSimon Dowdles - Seblod CCK
Simon Dowdles - Seblod CCK
 
Joomla! 101 - Getting started & Finding help (level: Beginner)
Joomla! 101 - Getting started & Finding help (level: Beginner)Joomla! 101 - Getting started & Finding help (level: Beginner)
Joomla! 101 - Getting started & Finding help (level: Beginner)
 
Welcome to JoomlaDay Cape Town 2012
Welcome to JoomlaDay Cape Town 2012Welcome to JoomlaDay Cape Town 2012
Welcome to JoomlaDay Cape Town 2012
 
Successful Joomla migrations that don't hurt Search Engine Rankings
Successful Joomla migrations that don't hurt Search Engine RankingsSuccessful Joomla migrations that don't hurt Search Engine Rankings
Successful Joomla migrations that don't hurt Search Engine Rankings
 

Ähnlich wie Brendon Hatcher Joomla for web developers

Building Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMSBuilding Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMS
Thomas Siegers
 
Just dev it presenation modified word press 101
Just dev it presenation   modified word press 101Just dev it presenation   modified word press 101
Just dev it presenation modified word press 101
roguevoice
 
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author ProductivityStreamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
BlueFish
 
Powerpoint Presentation for Commons Solutions Group
Powerpoint Presentation for Commons Solutions GroupPowerpoint Presentation for Commons Solutions Group
Powerpoint Presentation for Commons Solutions Group
webhostingguy
 
Datasheet foldermanagementpluginforrd
Datasheet foldermanagementpluginforrdDatasheet foldermanagementpluginforrd
Datasheet foldermanagementpluginforrd
MidVision
 
Molajo - J and Beyond 2011
Molajo - J and Beyond 2011Molajo - J and Beyond 2011
Molajo - J and Beyond 2011
Molajo
 

Ähnlich wie Brendon Hatcher Joomla for web developers (20)

Website 101: Build and Rebuild
Website 101: Build and RebuildWebsite 101: Build and Rebuild
Website 101: Build and Rebuild
 
Jentla Developer Mar 2009
Jentla Developer Mar 2009Jentla Developer Mar 2009
Jentla Developer Mar 2009
 
Building An XML Publishing System With DITA
Building An XML Publishing System With DITABuilding An XML Publishing System With DITA
Building An XML Publishing System With DITA
 
CMS & ECOMMERCE SYSTEMS: What Should You Pick?
CMS & ECOMMERCE SYSTEMS: What Should You Pick?CMS & ECOMMERCE SYSTEMS: What Should You Pick?
CMS & ECOMMERCE SYSTEMS: What Should You Pick?
 
Building Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMSBuilding Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMS
 
Joomla Chicago Meeting July, 2009: CMS CageMatch II
Joomla Chicago Meeting July, 2009: CMS CageMatch IIJoomla Chicago Meeting July, 2009: CMS CageMatch II
Joomla Chicago Meeting July, 2009: CMS CageMatch II
 
Just dev it presenation modified word press 101
Just dev it presenation   modified word press 101Just dev it presenation   modified word press 101
Just dev it presenation modified word press 101
 
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author ProductivityStreamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
 
Powerpoint Presentation for Commons Solutions Group
Powerpoint Presentation for Commons Solutions GroupPowerpoint Presentation for Commons Solutions Group
Powerpoint Presentation for Commons Solutions Group
 
Portal Deployment Best Practices | IBM Portal Excellence Conference 2009
Portal Deployment Best Practices | IBM Portal Excellence Conference 2009Portal Deployment Best Practices | IBM Portal Excellence Conference 2009
Portal Deployment Best Practices | IBM Portal Excellence Conference 2009
 
Phase Two: What’s Next for Life Sciences and Enterprise Content Management
Phase Two: What’s Next for Life Sciences and Enterprise Content ManagementPhase Two: What’s Next for Life Sciences and Enterprise Content Management
Phase Two: What’s Next for Life Sciences and Enterprise Content Management
 
Datasheet foldermanagementpluginforrd
Datasheet foldermanagementpluginforrdDatasheet foldermanagementpluginforrd
Datasheet foldermanagementpluginforrd
 
Navigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development FrameworksNavigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development Frameworks
 
How websites and search engines work
How websites and search engines workHow websites and search engines work
How websites and search engines work
 
Accessibility, SEO and Joomla
Accessibility, SEO and Joomla Accessibility, SEO and Joomla
Accessibility, SEO and Joomla
 
Accessibility, SEO and Joomla
Accessibility, SEO and JoomlaAccessibility, SEO and Joomla
Accessibility, SEO and Joomla
 
Introduction To Luminis Cms
Introduction To Luminis CmsIntroduction To Luminis Cms
Introduction To Luminis Cms
 
Molajo - J and Beyond 2011
Molajo - J and Beyond 2011Molajo - J and Beyond 2011
Molajo - J and Beyond 2011
 
Create a stunning, mobile friendly business website with the divi theme
Create a stunning, mobile friendly business website with the divi themeCreate a stunning, mobile friendly business website with the divi theme
Create a stunning, mobile friendly business website with the divi theme
 
Lotus Framework
Lotus FrameworkLotus Framework
Lotus Framework
 

Mehr von Joomla Day South Africa

Peter Van Westen - Mastering Module Magic
Peter Van Westen - Mastering Module MagicPeter Van Westen - Mastering Module Magic
Peter Van Westen - Mastering Module Magic
Joomla Day South Africa
 
Chris Rault - Content construction with ZOO
Chris Rault - Content construction with ZOOChris Rault - Content construction with ZOO
Chris Rault - Content construction with ZOO
Joomla Day South Africa
 

Mehr von Joomla Day South Africa (9)

Yellowfin Business Intelligence (BI) platform
Yellowfin Business Intelligence (BI) platformYellowfin Business Intelligence (BI) platform
Yellowfin Business Intelligence (BI) platform
 
Introducing Joomla! 3.2 - Something new for everyone! (Keynote)
Introducing Joomla! 3.2 - Something new for everyone! (Keynote)Introducing Joomla! 3.2 - Something new for everyone! (Keynote)
Introducing Joomla! 3.2 - Something new for everyone! (Keynote)
 
Implementing and running Joomla at a large South African university
Implementing and running Joomla at a large South African universityImplementing and running Joomla at a large South African university
Implementing and running Joomla at a large South African university
 
Youtube Analytics Google+
Youtube Analytics Google+Youtube Analytics Google+
Youtube Analytics Google+
 
Complexity Simplified? (Seblod CCK walk through)
Complexity Simplified? (Seblod CCK walk through)Complexity Simplified? (Seblod CCK walk through)
Complexity Simplified? (Seblod CCK walk through)
 
Leaked! Confessions of a Joomla DEV
Leaked! Confessions of a Joomla DEVLeaked! Confessions of a Joomla DEV
Leaked! Confessions of a Joomla DEV
 
Peter Van Westen - Mastering Module Magic
Peter Van Westen - Mastering Module MagicPeter Van Westen - Mastering Module Magic
Peter Van Westen - Mastering Module Magic
 
Chris Rault - Content construction with ZOO
Chris Rault - Content construction with ZOOChris Rault - Content construction with ZOO
Chris Rault - Content construction with ZOO
 
Brendon Hatcher Joomla Security
Brendon Hatcher Joomla SecurityBrendon Hatcher Joomla Security
Brendon Hatcher Joomla Security
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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?
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
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...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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...
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Brendon Hatcher Joomla for web developers

  • 1. Joomla! for Web Developers The business case and process for using Joomla Brendon HatcherTechnical Director: BrilliantWeb
  • 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 Profitability
  • 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 Backups!
  • 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 Simplicity 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” Me
  • 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 Issues 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 Training 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) Daily 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 JCE
  • 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 http://newclient.brilliantweb.co.za
  • 37. Parallel development System installation and configuration Content insertion Templating
  • 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 www.joomladay.co.za site BrilliantWeb provides scoping, consulting and other services to other Joomla web developers Contact Ingrid: 083 783 317 | sales@brilliantweb.co.za 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 creativecommons.org

Hinweis der Redaktion

  1. Urban slum - http://www.flickr.com/photos/94801434@N00/5539101357/
  2. Huge crowd - http://www.flickr.com/photos/lejoe/3763218501/
  3. Free hugs - http://www.flickr.com/photos/mhauri/4450804162/in/photostream/
  4. Robot - http://www.flickr.com/photos/jiuguangw/4981810037/
  5. Superhero - http://www.flickr.com/photos/jmv/2692208452/
  6. Cake - http://www.flickr.com/photos/35765813@N04/5948438160/
  7. Parcel - http://www.flickr.com/photos/halfbisqued/2353845688/
  8. Approved - http://www.flickr.com/photos/42106306@N00/4380803535/
  9. Modify car
  10. Mood board - http://www.flickr.com/photos/peterme/2466867730/ or http://www.flickr.com/photos/kailieparrish/4393542718/My own image
  11. Samurai - http://www.flickr.com/photos/lastwear/759060427/
  12. Stubborn - http://www.flickr.com/photos/stacywachter/2274632601/
  13. Detailed icing - http://www.flickr.com/photos/wickenden/5238994850/
  14. Keys - http://www.flickr.com/photos/brenda-starr/3466560105/
  15. Burnt computer - http://www.flickr.com/photos/18536761@N00/367661095/
  16. Teamwork - http://www.flickr.com/photos/lumaxart/2137737248/credit link to : thegoldguys.blogspot.com/ or www.lumaxart.com/
  17. Recipe - http://www.flickr.com/photos/bdorfman/3431380309/
  18. Pipes - http://www.flickr.com/photos/yinghai83/4649507827/