Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
Building complex sites with Joomla
-
Upload
paul-delbar -
Category
Technology
-
view
4.118 -
download
0
description
Transcript of Building complex sites with Joomla
![Page 1: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/1.jpg)
building complex sites with Joomla*
j and beyond 2010paul delbar, delius
* and how not to get hurt doing it
![Page 2: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/2.jpg)
objectives
share experiences about handling complexityhow to do this with joomlawarning !
most of this presentation is not joomla-specific
![Page 3: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/3.jpg)
what do we mean by a complex site ?
![Page 4: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/4.jpg)
projects that tend to be complex
migrations from other CMSssites with complex content structures
strongly typed or interrelated contentonline applications or platforms
sites with an extensive functional elementintegrations with other (non-site) systemsanything with vague requirements
insufficiently clear and/or under constricted timelinesbuilding things you have never built before
![Page 5: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/5.jpg)
customer issues that make it complex
lack of skillslow process maturityunrealistic expectationsvery complex requirementspoor communication and coordinationbudget issuestimeline issueslack of a strategic perspective
![Page 6: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/6.jpg)
example : simplantacademy.org
original projectsomeone’s first Joomla sitelate and over budget(really) badly coded
‘can you fix this ?’customer had
bad experiencelittle technical knowledgean unclear process
![Page 7: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/7.jpg)
example : avrr.belgium.iom.int
25th anniversary of REABacademic session, press, …discussed in Marchstarted September
customerhad 5 weeks until the eventhad no content availableruns web projects like any
enterprise IT project
joint project with
![Page 8: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/8.jpg)
in general, areas of complexity are related to
the technical architecture chosenhow visitors wil experience the sitevisual design and user experiencecontent and data to publish on the sitefeatures and functional elementsother software solutions to integrateoperational parameters (speed, size, …)the process driving changes to the site
architecture
navigation
visuals
content
functionality
integration
operations
process
![Page 9: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/9.jpg)
how to handle complexity
![Page 10: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/10.jpg)
1. take the red pill
![Page 11: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/11.jpg)
2. get to know your customer
![Page 12: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/12.jpg)
invest in effective communication
to understand your customer, you shouldlisten, listen, listenobserve and learn about their way of doing business
create a relationshipbased on mutual respectenabling open and factual discussionsfocused on your customer’s success
![Page 13: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/13.jpg)
ways to mess this up
start the relationship by talking about yourselfmake sure you demo at least three large sitesmake technology the centerpiece of your offeravoid discussions about budgets and timelineignore what happens after the site is livedo not challenge the customer’s requirementsassume content will be available on time
![Page 14: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/14.jpg)
the sales phase : foundation for success or …
establish the correct sequence of eventsdocument and communicate your sales strategy
my favorite quote structurebackground environment variablesproblem definition what the customer needssolution principle how you will fix itstatement of work what you will do to get thereestimate summary what efforts it will takefinancial offer what it will costgeneral conditions how you will do business
![Page 15: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/15.jpg)
3. structure the project
![Page 16: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/16.jpg)
avoid heroic project targets
avoid big bang projectsuse prototypes, pilots, phased rolloutsdon’t be afraid to split the budget over phasesbe clear on go/nogo milestones
cleanup jobs : fix one issue at a timechances are you’ll discover more problems as you godon’t kill the patient in surgery
do not let budget and time constraints rush youwalk away from the deal if you need to
![Page 17: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/17.jpg)
help the customer understand how you work
define each project phase analysisdesignimplementationrolloutmaintenance
by an explicit definition ofphase objectives and end conditionsdeliverables
![Page 18: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/18.jpg)
example of a methodology summary
this approach agrees very well with Joomla
![Page 19: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/19.jpg)
example of a quote
![Page 20: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/20.jpg)
4. take your time to analyze and design
![Page 21: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/21.jpg)
the purpose of analysis
to understand what the customer wants
develop a common terminologynot: teach them about components and modulesbreak this into content, function, visual, navigation, …
explain the process you propose to followmake progress visible : document what you learn
use sketches, flipcharts, documents, …share results and actively request feedback
![Page 22: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/22.jpg)
the purpose of design
to describe what you will build
must be some form of documentationshould cover all elements of the stacktry not to loose the customer in translation
ensure they feel comfortable sharing that you lost them
![Page 23: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/23.jpg)
analysis and design : navigation
discuss the intended target audiencetranslate this into a mindmapevolve into menu items for each tpe of visitor
![Page 24: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/24.jpg)
analysis and design : navigation
complete the navigation design (Excel sheet)
build a ‘menu mockup’will serve as an initial version once you start building
![Page 25: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/25.jpg)
analysis and design : visual
wireframes work well with Joomlavery clear separation into components and modulesour favorite: WireframeSketcher (Eclipse plugin)
prepare work sessions with customersfirst, establish sample menu/component layoutsprint empty pages and sketch or cut/paste modules
![Page 26: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/26.jpg)
analysis and design : visual
![Page 27: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/27.jpg)
analysis and design : content
discuss and document a conceptual content model
and here’s where Joomla doesn’t really shine ...
![Page 28: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/28.jpg)
5. content: a matter of semantics
![Page 29: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/29.jpg)
example: 11.be
consortium of non-profits working in the south
original sitemambo 4.5.3heavily hacked core
objectiveupgrade to 1.5migrate contentadd functionality
![Page 30: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/30.jpg)
example: 11.be
initial analysis: 3 weeks reviewing current site : what is being displayedreview database structure : how is it stored
conclusioneverything is an article, a category or a sectioncountries are categoriesarticles (real) are articles (j)articles can describe multiple countries
com_content was hacked to link articles to multiple categories
![Page 31: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/31.jpg)
… and everything becomes an article !
![Page 32: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/32.jpg)
translating the semantic content structure
approach #1 : flatten into com_contentapproach #2: build your own componentapproach #3 : use a CCK extensionapproach #4: use one|content
![Page 33: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/33.jpg)
6. migrating: build the right tools
![Page 34: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/34.jpg)
example: broederlijkdelen.be
belgian nonprofitoriginal site
old-style CMSprovider bankrupted
here’s the data dumpwe’ll get another one
just before go-livecan you start building ?now ?
![Page 35: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/35.jpg)
tools make your life so much easier
migration toolsscript the entire conversionimprove as you discover errors
allows you to keep the live site runningand update content just before go-live
![Page 36: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/36.jpg)
7. start small but plan to grow tall
![Page 37: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/37.jpg)
example : biketowork.be
![Page 38: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/38.jpg)
example : biketowork.be
J1.5 integrated with SugarCRM (one|content)uses standard SugarCRM SOAP-interface for updateslots of personalized, real-time content (no caching)
originally (NOV08) targeted at 500-1000 userscurrently 7000+ users and climbing fast2000 visits/day in a short time window
![Page 39: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/39.jpg)
how you can achieve scalability
decouple components and (sub)systemsmakes it easier to replace/rescale a single elementhelps 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 bigbe prepared to question the initial architecturein this case, dump SugarCRM
![Page 40: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/40.jpg)
good luck !
questions can be submitted at your own risk
![Page 41: Building complex sites with Joomla](https://reader035.fdocuments.in/reader035/viewer/2022070302/547e97ddb37959492b8b54e9/html5/thumbnails/41.jpg)
and on a lighter note …
http://www.youtube.com/watch?v=XgoKh-QbOMQ