SlideShare una empresa de Scribd logo
1 de 41
building complex sites with Joomla* j and beyond 2010 paul delbar, delius * and how not to get hurt doing it
objectives share experiences about handling complexity how to do this with joomla warning ! most of this presentation is not joomla-specific
what do we mean by a complex site ?
projects that tend to be complex migrations from other CMSs sites with complex content structures strongly typed or interrelated content online applications or platforms sites with an extensive functional element integrations with other (non-site) systems anything with vague requirements insufficiently clear and/or under constricted timelines building things you have never built before
customer issues that make it complex lack of skills low process maturity unrealistic expectations very complex requirements poor communication and coordination budget issues timeline issues lack of a strategic perspective
example : simplantacademy.org original project someone’s first Joomla site late and over budget (really) badly coded ‘can you fix this ?’ customer had bad experience little technical knowledge an unclear process
example : avrr.belgium.iom.int 25th anniversary of REAB academic session, press, … discussed in March started September customer had 5 weeks until the event had no content available runs web projects like any enterprise IT project joint project with
in general, areas of complexity are related to the technical architecture chosen how visitors wil experience the site visual design and user experience content and data to publish on the site features and functional elements other software solutions to integrate operational parameters (speed, size, …) the process driving changes to the site architecture navigation visuals content functionality integration operations process
how to handle complexity
1. take the red pill
2. get to know your customer
invest in effective communication to understand your customer, you should listen, listen, listen observe and learn about their way of doing business create a relationship based on mutual respect enabling open and factual discussions focused on your customer’s success
ways to mess this up start the relationship by talking about yourself make sure you demo at least three large sites make technology the centerpiece of your offer avoid discussions about budgets and timeline ignore what happens after the site is live do not challenge the customer’s requirements assume content will be available on time
the sales phase : foundation for success or … establish the correct sequence of events document and communicate your sales strategy my favorite quote structure background	environment variables problem definition	what the customer needs solution principle	how you will fix it statement of work	what you will do to get there estimate summary 	what efforts it will take financial offer	what it will cost general conditions	how you will do business
develop a long-term plan
3. structure the project
avoid heroic project targets avoid big bang projects use prototypes, pilots, phased rollouts don’t be afraid to split the budget over phases be clear on go/nogo milestones cleanup jobs : fix one issue at a time chances are you’ll discover more problems as you go don’t kill the patient in surgery do not let budget and time constraints rush you walk away from the deal if you need to
help the customer understand how you work define each project phase  analysis design implementation rollout maintenance by an explicit definition of phase objectives and end conditions deliverables
example of a methodology summary this approach agrees very well with Joomla
example of a quote
4. take your time to analyze and design
the purpose of analysis to understand what the customer wants  develop a common terminology not: teach them about components and modules break this into content, function, visual, navigation, … explain the process you propose to follow make progress visible : document what you learn use sketches, flipcharts, documents, … share results and actively request feedback
the purpose of design to describe what you will build must be some form of documentation should cover all elements of the stack try not to loose the customer in translation ensure they feel comfortable sharing that you lost them
analysis and design : navigation discuss the intended target audience translate this into a mindmap evolve into menu items for each tpe of visitor
analysis and design : navigation complete the navigation design (Excel sheet) build a ‘menu mockup’ will serve as an initial version once you start building
analysis and design : visual wireframes work well with Joomla very clear separation into components and modules our favorite: WireframeSketcher (Eclipse plugin) prepare work sessions with customers first, establish sample menu/component layouts print empty pages and sketch or cut/paste modules
analysis and design : visual
analysis and design : content discuss and document a conceptual content model and here’s where Joomla doesn’t really shine ...
5. content: a matter of semantics
example: 11.be consortium of non-profits working in the south original site mambo 4.5.3 heavily hacked core objective upgrade to 1.5 migrate content add functionality
example: 11.be initial analysis: 3 weeks  reviewing current site : what is being displayed review database structure : how is it stored conclusion everything is an article, a category or a section countries are categories articles (real) are articles (j) articles can describe multiple countries com_content was hacked to link articles to multiple categories
… and everything becomes an article !
translating the semantic content structure approach #1 : flatten into com_content approach #2: build your own component approach #3 : use a CCK extension approach #4: use one|content
do not make everything an article
6. architecture : use a strong foundation
example : ngo-openboek.be
example : ngo-openboek.be three separate building blocks crisp interface definitions find a balance between does this make the project more complex ? does this make future modifications easier ? live public information data entry application data cube graph/grid  API
architecture matters encapsulate and interface use tried & tested design patterns
6. migrating: build the right tools
example: broederlijkdelen.be belgian nonprofit original site old-style CMS provider bankrupted here’s the data dump we’ll get another one just before go-live can you start building ? now ?
tools make your life so much easier migration tools script the entire conversion improve as you discover errors allows you to keep the live site running and update content just before go-live

Más contenido relacionado

Similar a Building complex sites with Joomla

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 2009Perficient, Inc.
 
The definitive guide to Web flowcharts
The definitive guide to Web flowchartsThe definitive guide to Web flowcharts
The definitive guide to Web flowchartsFelixDing
 
Accessibility in pattern libraries
Accessibility in pattern librariesAccessibility in pattern libraries
Accessibility in pattern librariesRuss Weakley
 
Agile Prototyping Best Practices
Agile Prototyping Best PracticesAgile Prototyping Best Practices
Agile Prototyping Best Practicesuxpin
 
Jeannine boone4_11portfolio
Jeannine boone4_11portfolioJeannine boone4_11portfolio
Jeannine boone4_11portfoliojboo2
 
Part C Developing Your Design SolutionThe Production Cycle.docx
Part C Developing Your Design SolutionThe Production Cycle.docxPart C Developing Your Design SolutionThe Production Cycle.docx
Part C Developing Your Design SolutionThe Production Cycle.docxsmile790243
 
20מאת יוסי אמרם Steps To Better Wireframin מצגת
20מאת יוסי אמרם Steps To Better Wireframin מצגת20מאת יוסי אמרם Steps To Better Wireframin מצגת
20מאת יוסי אמרם Steps To Better Wireframin מצגתAMRAMy
 
Project design guide
Project design guideProject design guide
Project design guidephilipkitheka
 
Introduction to CS60171 (2009)
Introduction to CS60171 (2009)Introduction to CS60171 (2009)
Introduction to CS60171 (2009)markvanharmelen
 
Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014MoodLabs
 
Scripted navigation ideas for Oracle Service Cloud
Scripted navigation ideas for Oracle Service CloudScripted navigation ideas for Oracle Service Cloud
Scripted navigation ideas for Oracle Service CloudMark Kehoe
 
Microsoft Teams community call-September 2019
Microsoft Teams community call-September 2019Microsoft Teams community call-September 2019
Microsoft Teams community call-September 2019Microsoft 365 Developer
 
Accessibility in Pattern Libraries
Accessibility in Pattern LibrariesAccessibility in Pattern Libraries
Accessibility in Pattern LibrariesRuss Weakley
 
Week4 : Wireframes and Sketching
Week4 : Wireframes and SketchingWeek4 : Wireframes and Sketching
Week4 : Wireframes and SketchingMark Zelis
 
How we make websites (IWMW2009)
How we make websites (IWMW2009)How we make websites (IWMW2009)
How we make websites (IWMW2009)fantasticlife
 
The Art and Science of Requirements Gathering
The Art and Science of Requirements GatheringThe Art and Science of Requirements Gathering
The Art and Science of Requirements GatheringVanessa Turke
 
UX Fluency for a better Front End
UX Fluency for a better Front End  UX Fluency for a better Front End
UX Fluency for a better Front End Monika Piotrowicz
 

Similar a Building complex sites with Joomla (20)

Design system for new O2 CRM and web apps
Design system for new O2 CRM and web appsDesign system for new O2 CRM and web apps
Design system for new O2 CRM and web apps
 
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
 
Report on web development
Report on web developmentReport on web development
Report on web development
 
The definitive guide to Web flowcharts
The definitive guide to Web flowchartsThe definitive guide to Web flowcharts
The definitive guide to Web flowcharts
 
Accessibility in pattern libraries
Accessibility in pattern librariesAccessibility in pattern libraries
Accessibility in pattern libraries
 
Agile Prototyping Best Practices
Agile Prototyping Best PracticesAgile Prototyping Best Practices
Agile Prototyping Best Practices
 
Jeannine boone4_11portfolio
Jeannine boone4_11portfolioJeannine boone4_11portfolio
Jeannine boone4_11portfolio
 
Part C Developing Your Design SolutionThe Production Cycle.docx
Part C Developing Your Design SolutionThe Production Cycle.docxPart C Developing Your Design SolutionThe Production Cycle.docx
Part C Developing Your Design SolutionThe Production Cycle.docx
 
12 Phases of Web Development Life Cycle
12 Phases of Web Development Life Cycle12 Phases of Web Development Life Cycle
12 Phases of Web Development Life Cycle
 
20מאת יוסי אמרם Steps To Better Wireframin מצגת
20מאת יוסי אמרם Steps To Better Wireframin מצגת20מאת יוסי אמרם Steps To Better Wireframin מצגת
20מאת יוסי אמרם Steps To Better Wireframin מצגת
 
Project design guide
Project design guideProject design guide
Project design guide
 
Introduction to CS60171 (2009)
Introduction to CS60171 (2009)Introduction to CS60171 (2009)
Introduction to CS60171 (2009)
 
Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014
 
Scripted navigation ideas for Oracle Service Cloud
Scripted navigation ideas for Oracle Service CloudScripted navigation ideas for Oracle Service Cloud
Scripted navigation ideas for Oracle Service Cloud
 
Microsoft Teams community call-September 2019
Microsoft Teams community call-September 2019Microsoft Teams community call-September 2019
Microsoft Teams community call-September 2019
 
Accessibility in Pattern Libraries
Accessibility in Pattern LibrariesAccessibility in Pattern Libraries
Accessibility in Pattern Libraries
 
Week4 : Wireframes and Sketching
Week4 : Wireframes and SketchingWeek4 : Wireframes and Sketching
Week4 : Wireframes and Sketching
 
How we make websites (IWMW2009)
How we make websites (IWMW2009)How we make websites (IWMW2009)
How we make websites (IWMW2009)
 
The Art and Science of Requirements Gathering
The Art and Science of Requirements GatheringThe Art and Science of Requirements Gathering
The Art and Science of Requirements Gathering
 
UX Fluency for a better Front End
UX Fluency for a better Front End  UX Fluency for a better Front End
UX Fluency for a better Front End
 

Último

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...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
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 FresherRemote DBA Services
 
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 TerraformAndrey Devyatkin
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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...Miguel Araújo
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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 BrazilV3cube
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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 DiscoveryTrustArc
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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...apidays
 

Último (20)

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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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...
 

Building complex sites with Joomla

  • 1. building complex sites with Joomla* j and beyond 2010 paul delbar, delius * and how not to get hurt doing it
  • 2. objectives share experiences about handling complexity how to do this with joomla warning ! most of this presentation is not joomla-specific
  • 3. what do we mean by a complex site ?
  • 4. projects that tend to be complex migrations from other CMSs sites with complex content structures strongly typed or interrelated content online applications or platforms sites with an extensive functional element integrations with other (non-site) systems anything with vague requirements insufficiently clear and/or under constricted timelines building things you have never built before
  • 5. customer issues that make it complex lack of skills low process maturity unrealistic expectations very complex requirements poor communication and coordination budget issues timeline issues lack of a strategic perspective
  • 6. example : simplantacademy.org original project someone’s first Joomla site late and over budget (really) badly coded ‘can you fix this ?’ customer had bad experience little technical knowledge an unclear process
  • 7. example : avrr.belgium.iom.int 25th anniversary of REAB academic session, press, … discussed in March started September customer had 5 weeks until the event had no content available runs web projects like any enterprise IT project joint project with
  • 8. in general, areas of complexity are related to the technical architecture chosen how visitors wil experience the site visual design and user experience content and data to publish on the site features and functional elements other software solutions to integrate operational parameters (speed, size, …) the process driving changes to the site architecture navigation visuals content functionality integration operations process
  • 9. how to handle complexity
  • 10. 1. take the red pill
  • 11. 2. get to know your customer
  • 12. invest in effective communication to understand your customer, you should listen, listen, listen observe and learn about their way of doing business create a relationship based on mutual respect enabling open and factual discussions focused on your customer’s success
  • 13. ways to mess this up start the relationship by talking about yourself make sure you demo at least three large sites make technology the centerpiece of your offer avoid discussions about budgets and timeline ignore what happens after the site is live do not challenge the customer’s requirements assume content will be available on time
  • 14. the sales phase : foundation for success or … establish the correct sequence of events document and communicate your sales strategy my favorite quote structure background environment variables problem definition what the customer needs solution principle how you will fix it statement of work what you will do to get there estimate summary what efforts it will take financial offer what it will cost general conditions how you will do business
  • 16. 3. structure the project
  • 17. avoid heroic project targets avoid big bang projects use prototypes, pilots, phased rollouts don’t be afraid to split the budget over phases be clear on go/nogo milestones cleanup jobs : fix one issue at a time chances are you’ll discover more problems as you go don’t kill the patient in surgery do not let budget and time constraints rush you walk away from the deal if you need to
  • 18. help the customer understand how you work define each project phase analysis design implementation rollout maintenance by an explicit definition of phase objectives and end conditions deliverables
  • 19. example of a methodology summary this approach agrees very well with Joomla
  • 20. example of a quote
  • 21. 4. take your time to analyze and design
  • 22. the purpose of analysis to understand what the customer wants develop a common terminology not: teach them about components and modules break this into content, function, visual, navigation, … explain the process you propose to follow make progress visible : document what you learn use sketches, flipcharts, documents, … share results and actively request feedback
  • 23. the purpose of design to describe what you will build must be some form of documentation should cover all elements of the stack try not to loose the customer in translation ensure they feel comfortable sharing that you lost them
  • 24. analysis and design : navigation discuss the intended target audience translate this into a mindmap evolve into menu items for each tpe of visitor
  • 25. analysis and design : navigation complete the navigation design (Excel sheet) build a ‘menu mockup’ will serve as an initial version once you start building
  • 26. analysis and design : visual wireframes work well with Joomla very clear separation into components and modules our favorite: WireframeSketcher (Eclipse plugin) prepare work sessions with customers first, establish sample menu/component layouts print empty pages and sketch or cut/paste modules
  • 28. analysis and design : content discuss and document a conceptual content model and here’s where Joomla doesn’t really shine ...
  • 29. 5. content: a matter of semantics
  • 30. example: 11.be consortium of non-profits working in the south original site mambo 4.5.3 heavily hacked core objective upgrade to 1.5 migrate content add functionality
  • 31. example: 11.be initial analysis: 3 weeks reviewing current site : what is being displayed review database structure : how is it stored conclusion everything is an article, a category or a section countries are categories articles (real) are articles (j) articles can describe multiple countries com_content was hacked to link articles to multiple categories
  • 32. … and everything becomes an article !
  • 33. translating the semantic content structure approach #1 : flatten into com_content approach #2: build your own component approach #3 : use a CCK extension approach #4: use one|content
  • 34. do not make everything an article
  • 35. 6. architecture : use a strong foundation
  • 37. example : ngo-openboek.be three separate building blocks crisp interface definitions find a balance between does this make the project more complex ? does this make future modifications easier ? live public information data entry application data cube graph/grid API
  • 38. architecture matters encapsulate and interface use tried & tested design patterns
  • 39. 6. migrating: build the right tools
  • 40. example: broederlijkdelen.be belgian nonprofit original site old-style CMS provider bankrupted here’s the data dump we’ll get another one just before go-live can you start building ? now ?
  • 41. tools make your life so much easier migration tools script the entire conversion improve as you discover errors allows you to keep the live site running and update content just before go-live
  • 42. 7. start small but plan to grow tall
  • 44. example : biketowork.be J1.5 integrated with SugarCRM (one|content) uses standard SugarCRM SOAP-interface for updates lots of personalized, real-time content (no caching) originally (NOV08) targeted at 500-1000 users currently 7000+ users and climbing fast 2000 visits/day in a short time window
  • 45. how you can achieve scalability decouple components and (sub)systems makes it easier to replace/rescale a single element helps to encapsulate low-level caching strategies refactor often (evolution) monitor performance, fix the bottleneck, repeat be ready for a step change (revolution) sometimes, it just gets too big be prepared to question the initial architecture in this case, dump SugarCRM
  • 46. good luck ! questions can be submitted at your own risk
  • 47. and on a lighter note … http://www.youtube.com/watch?v=XgoKh-QbOMQ