SlideShare uma empresa 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

Mais conteúdo relacionado

Semelhante 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
 

Semelhante 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

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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 - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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 productivityPrincipled Technologies
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Último (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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 - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
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...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

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