Brendon Hatcher Joomla for web developers

39
Joomla! for W eb Devel opers The business case and p roc ess for usin g Joomla Brendon Hatcher Technical Director: BrilliantWeb

Transcript of Brendon Hatcher Joomla for web developers

Page 1: Brendon Hatcher Joomla for web developers

Joomla!

for Web

Developers

The business

case and process for u

sing

Joomla

Brendon HatcherTechnical Director: BrilliantWeb

Page 2: Brendon Hatcher Joomla for web developers

Introduction

PerspectivesAbstractOur position

Page 3: Brendon Hatcher Joomla for web developers

Perspectives

Adoption of Joomla by professional, commercial web development agencies

Transition from non-CMS web site development to the Joomla CMS

Page 4: Brendon Hatcher Joomla for web developers

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

Page 5: Brendon Hatcher Joomla for web developers

Our position

BrilliantWeb is a Joomla-only development firm– We no longer build HTML sites– We apply only Joomla solutions to meet our client needs

If 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

Page 6: Brendon Hatcher Joomla for web developers

Outline

Business case for using Joomla Business model and best practice Joomla web development processes Shameless advert for BrilliantWeb’s services

Page 7: Brendon Hatcher Joomla for web developers

The business

case for using Joomla

Safety in numbersProfitability

Page 8: Brendon Hatcher Joomla for web developers

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

Page 9: Brendon Hatcher Joomla for web developers

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

Page 10: Brendon Hatcher Joomla for web developers

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

Page 11: Brendon Hatcher Joomla for web developers

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

Page 12: Brendon Hatcher Joomla for web developers

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

Page 13: Brendon Hatcher Joomla for web developers

Business model

and best practice

Project scoping and pricingManaging messinessJoomla-optimised hosting serviceSecurity upgradesExtension upgradesClient access to the backendBackups!

Page 14: Brendon Hatcher Joomla for web developers

Project scoping and pricing

Tier 1: – A package offering

Tier 2: – The package with pre-approved

extensions

Tier 3:– Custom Joomla-based solution

Page 15: Brendon Hatcher Joomla for web developers

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

Page 16: Brendon Hatcher Joomla for web developers

Scoping / Tier 2:

Package + pre-approved extensions Selected extension for each commonly-requested

site feature– Our Joomla distro + pre-approved extensions

Simplicity and extensibility– Quickly match features to client requirements without

lots of additional research– Costing and contractual elements– Scoping forms

Page 17: Brendon Hatcher Joomla for web developers

Scoping / Tier 3:

Custom Joomla-based solution Custom scoping, installation and configuration

– Our Joomla distro + 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

Page 18: Brendon Hatcher Joomla for web developers

Scoping

Layout 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

Page 19: Brendon Hatcher Joomla for web developers

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

Page 20: Brendon Hatcher Joomla for web developers

Scoping

Managing 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

Page 21: Brendon Hatcher Joomla for web developers

Scoping / Managing messiness

Simple = 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!)

Page 22: Brendon Hatcher Joomla for web developers

Scoping / Managing messiness

Maybe 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

Page 23: Brendon Hatcher Joomla for web developers

Scoping / Managing messiness

Not 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

Page 24: Brendon Hatcher Joomla for web developers

Scoping / Managing messiness

1 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

Page 25: Brendon Hatcher Joomla for web developers

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

Page 26: Brendon Hatcher Joomla for web developers

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!

Page 27: Brendon Hatcher Joomla for web developers

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

Page 28: Brendon Hatcher Joomla for web developers

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

Page 29: Brendon Hatcher Joomla for web developers

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?

Page 30: Brendon Hatcher Joomla for web developers

Backups are essential

CMS sites change more frequently than static sites

CMS sites are more vulnerable to catastrophic failure

Page 31: Brendon Hatcher Joomla for web developers

Backups

A 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

Page 32: Brendon Hatcher Joomla for web developers

Backups

A 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

Page 33: Brendon Hatcher Joomla for web developers

Joomla web

developmentprocesses

Everybody, follow the recipeSpeeding up developmentLocal vs online developmentParallel development

Page 34: Brendon Hatcher Joomla for web developers

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

Page 35: Brendon Hatcher Joomla for web developers

Speeding up development Start with a distro MassContent page and menu creator Data import tools

– SQL and CSV

Template frameworks JCE

Page 36: Brendon Hatcher Joomla for web developers

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

Page 37: Brendon Hatcher Joomla for web developers

Parallel development

System installation and configuration

Content insertion

Templating

Page 38: Brendon Hatcher Joomla for web developers

Rela

ted

off

eri

ng

s Joomla distros 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 |

[email protected]

We are currently exploring selling access to our distro and to our extension scoping forms– Contact us if you are interested

Page 39: Brendon Hatcher Joomla for web developers

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