SlideShare a Scribd company logo
Tone that Plone!
  How to keep your site in shape
Plone can do it all...
It's the 800 pound gorilla of CMS's
Enterprise.
Heavy duty.
And all that jazz...


But...
Plone can do it all...
It's the 800 pound gorilla of CMS's
Enterprise.
Heavy duty.
And all that jazz...


But...
sometimes, too much
of a good thing can be,
well, too much!
Back to basics



You're small
The budget is limited
Like, totally unfair...
Your mission, should you choose
to accept it...

Fight the flab
Resist the urge to supersize
Plan for the long run

You don't need dodgy diets, wonderpills or an expensive
personal trainer / consultant, just a clear purpose

Remember, staying fit & lean is a process, not a product
The planning stage:
Reduce, Re-use, Recycle
Reduce, Re-use, Recycle (cont.)


Biggest #fail factor is overdesign.

If your plan is more than 2-3 pages, it probably sucks.
And, it will be outdated next year anyway...

“Just because I can” is not enough justification
for content-types, products or anything else.
Reduce, Re-use, Recycle (cont.)

Try to maintain a 'one in – one out' policy on addons

Reduce the content-types
(“News” is just a page with a picture, after all...)

Metadata rules!
As do “Topics”.
Together, they can order most of your content just fine.
Recycle bright ideas as well...
There's no shame in using external services. People like Disqus
probably know more about spam-reduction than you, Cloudflare
was born to fight the Slashdot effect.

It's very human to think your organisation is special,
and therefore needs a special navigation and site layout.
You're not. You don't.
Sorry.

“Don't make me think”
KISS
Avoid the greatest
& latest framework.

Quite often,
the word 'web-app'
is a codeword for 'frozen in time'. Or 'constant tinkering'.
It can be a step back to that whole 'customized CMS' nightmare.

If your site needs to stay and adapt for a few years,
you should probably be behind the bleeding edge.
It's called that for a reason.
Plan sensibly, not frugal

Will your navigation
hold up to hundres of items?


That's why metadata,
and nice ways of searching
like eea.facetedsearch shine...
Yeah, yeah, Fashion baby...

Learn to think of
the design of your
site in fashion terms.


Yes, that's the famous
Little Black Dress
Haute Couture & Extravaganza


There are only a handful of people on this planet that can get
away with dressing like Lady Gaga.

You're probably not one of them.

Plus, she has 15+ stylists available on a 24/7 basis.
The odds are, you don't
That's soooo three minutes ago
So, the Little Black Dress it is.


Most women, and quite a few men, will look stylish in it.

Weddings, bar-mitzva's, funerals, or just a regular night,
be confident that you're dressed for the occasion.

Boring? That's why accessories were invented!
Now, re-phrase that in CSS
Start with a clear & clean design. Your visitors and users probably
want to see your content, eventually...

Navigation is not fashion, it's function.
Think of it as wearing sensible shoes.

Fonts, on the other hand, are your sunglasses & handbags.
As are some well-placed js effects.

A few bold statements work better than that Carmen Miranda
look. For the uninitiated, that's the whole fruitbowl on your head.
Sideline: fashion disasters...
Stuck with a designer that has only done paper?
Be afraid, be very afraid.
Remedy: show the design on a crappy phone to your boss.

Design is like make-up; it should come off gracefully.

(remember that douche-cartouche/trampstamp that
 seemed like such a good idea when you were drunk in Thailand...
 now think of Flash intro-pages...)
Picking Products

Probably the most demanding task a Plonista faces...

Use a set of criteria to pick the right ones, that go further than
technical stuff like unit-tests.
Although these are Good Things (TM), they're not enough.

Before you start, first figure out what problem the Product is
supposed to solve. In 140 characters, please.
Social Testing
Documentation. As in, human-readable documentation.
There's a special place in hell for doctest-only docs.
Doctests are, at best, tests. They're not documentation.

If the author can't describe what it does, why should you care?

Well-filled issue tracker. Issues are good. It means other people
use the product. If they get solved quickly, even better.

Get gmane or similar, and check how responsive the author is on
the mailing lists. Gauge reputation.
Garlic & Silver
(or, signs that scream: “avoid!”)
The un-install test. On a full test-site, not a clean buildout.
If it doesn't un-install
cleanly, you're on a highway
to upgrade hell.
Do try after adding a few
content items as well

Re-inventing wheels.
They're round, baby!
More Garlic & Silver
Not sticking to established industry standards. Yes, the
author may be smarter than the IPTC consortium.
But clout always wins.

Kitchensink Syndrome.
Remember, *nix is good. Small tools for specific jobs.

No i18n. Yes, even if you're from the Anglosaxon world, this is a
bad sign.

Big stacks. They tend to come crashing down harder.
I can haz complexity?

Yes, you can. I love Plomino, SQL, ...

The key, however, is to isolate it.

And, double-check those social tests.
“Too big to fail” is a definite plus
in this case!

If all else fails, you can magically rewrite to another instance.
Splurge on the Good Stuff!
The wonder of Open Source gives you access to professional tools.
Might as well use them.

Think LDAP. It might sound like overkill, but I use it in sites
with <20 users. And thank myself regularly for it.

Even if you're the sole integrator/developer, keep your stuff in a
repository. Choose your favourite, but do it. That goes for CSS
files, buildout configs, notes to yourself, the lot. Your future you,
or your successor, will be eternally grateful.
Maintenance
Do tick-tock buildouts.
That is, have two exact copies of your site. Update the one, test
on humans, then switch the portnumber or symbolic link over.
Then update the other one.

I can guarantee you that pypi will be down otherwise.
And it will put a red sock in your white laundry.

Diskspace is cheap, your sanity... priceless.
Deploying on a budget
You will have to learn some basic *nix skills. Nothing fancy, but a
few choice commands can save your day.

Even for small sites, go for ZEO. One ZEO server, one client will
work fine. Zeopack alone is worth it.

Learn to rewrite to canonical URL's. Google will thank you.

My best results: one system-wide NGINX, one system-wide
Varnish, many sites. Consider using system packages.
Deploying on a budget (cont.)
It can be done, Plone runs quite well on budget hardware.

Throw all of your limited resources on memory, the processor is
hardly relevant anymore. Aim for 4gig, that'll do quite a few Plone
sites nicely. More is better. Fast HD a bonus.

Don't go for 99.999 % uptime. If that's what you want, ask for
more budget. Cron that restart!

Most sites are brought down not by visitors, but by....
Robots, evil robots!
Defend against the robocalypse
Get access to raw logfiles. Piwik and Google Analytics are nice, but
they will only see this kind of visitor:

You know, the kind with Javascript
enabled, the kind that
brush their teeth.

They are not your problem.
The evil ones
First, get a sensible robots.txt in place that limits access rate, and
do the Google dance to restrict endless links to different
translations and stuff. Google has many options for taming their
bot, although they're non-standard.

Then there's these robots:

They don't listen to robots.txt

So, do what any robot would do:
Exterminate !!!

nginx code snippet:

# Dalek attacks - must exterminate (case insensitive)
# The ~* makes it case insensitive as opposed to just a ~
      if ($http_user_agent ~* (Baiduspider|Jullo|Yanga|
Yandex|BLP_bbot|ConveraCrawler) ) {
            return 403;
      }
Still in trouble?

Hardware, even leased , is cheap. Throw some more at the
problem. Look outside your national borders. Or, to a place with
fast fibre-to-the-home. Don't go cloud, it gets expensive!

You might want to consider outsourcing your caching even
further.

Look at Cloudflare. It's free, and quite capable.
Almost there...

So, with strict planning, a restrained diet and a mind firmly set on
keeping your site from ballooning, a lean, fast, update-proof site
is in the reach of even small, resource-challenged organisations.

All for the new, low price of... next to nothing.

Great! Free cake for all!

But is that right?
Does all this make me a bad person?
Yes, it kind of does.
Many times, smallish NGO's
can be the client from hell...

Embrace it. Smaller organisations
can, and do grow. And the
people working there move
on. One day, you may be
a valuable customer.
Give back where you can

Bug reports are cool!

Maybe you can help translating, or write documentation.

But, take the time to learn mailing list etiquette, and the rules for
valuable bug reports.

“What would Ajung say” is a very good mind-check!
TL;DR?

- cut back on the Product & content-type carbs. Less is more.
- plan flexible. Upgrades, policy reshuffles will occur.
- design should be simple & elegant, spruce up with fonts
- learn to spot good products. Test for tech & social status.
- isolate complexity
- deploy towards max memory, maybe outsource caching
- robots are evil

KTHXBYE!

More Related Content

Similar to Tonethatplone

Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teams
Christian Heilmann
 
The alignment
The alignmentThe alignment
The alignment
Alberto Brandolini
 
Intro to Drupal Slides - DrupalCampSC 2014
Intro to Drupal Slides - DrupalCampSC 2014Intro to Drupal Slides - DrupalCampSC 2014
Intro to Drupal Slides - DrupalCampSC 2014
Sarah Shealy
 
Codemash 2.0.1.4: Tech Trends and Pwning Your Pwn Career
Codemash 2.0.1.4: Tech Trends and Pwning Your Pwn CareerCodemash 2.0.1.4: Tech Trends and Pwning Your Pwn Career
Codemash 2.0.1.4: Tech Trends and Pwning Your Pwn Career
Kevin Davis
 
C programming guide new
C programming guide newC programming guide new
C programming guide new
Kuntal Bhowmick
 
Choose Boring Technology
Choose Boring TechnologyChoose Boring Technology
Choose Boring Technology
Dan McKinley
 
Naming Things (with notes)
Naming Things (with notes)Naming Things (with notes)
Naming Things (with notes)
Pete Nicholls
 
You shouldneverdo
You shouldneverdoYou shouldneverdo
You shouldneverdodaniil3
 
Aug 2012 HUG: Hug BigTop
Aug 2012 HUG: Hug BigTopAug 2012 HUG: Hug BigTop
Aug 2012 HUG: Hug BigTop
Yahoo Developer Network
 
Culture And Aesthetic Revisited
Culture And Aesthetic RevisitedCulture And Aesthetic Revisited
Culture And Aesthetic RevisitedAdam Keys
 
So You Want to Rewrite That...
So You Want to Rewrite That...So You Want to Rewrite That...
So You Want to Rewrite That...
Camille Fournier
 
Open Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration PresentationOpen Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration Presentation
darryl_lehmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
Christian Heilmann
 
Graham Thomas - 10 Great but Now Overlooked Tools - EuroSTAR 2012
Graham Thomas - 10 Great but Now Overlooked Tools - EuroSTAR 2012Graham Thomas - 10 Great but Now Overlooked Tools - EuroSTAR 2012
Graham Thomas - 10 Great but Now Overlooked Tools - EuroSTAR 2012
TEST Huddle
 
Rethinking Object Orientation
Rethinking Object OrientationRethinking Object Orientation
Rethinking Object Orientation
IASA
 
Understand Open Source ecosystems
Understand Open Source ecosystemsUnderstand Open Source ecosystems
Understand Open Source ecosystems
Knowmades.com
 
Clean Code Software Engineering
Clean Code Software Engineering Clean Code Software Engineering
Clean Code Software Engineering
Inocentshuja Ahmad
 

Similar to Tonethatplone (20)

Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teams
 
The alignment
The alignmentThe alignment
The alignment
 
Intro to Drupal Slides - DrupalCampSC 2014
Intro to Drupal Slides - DrupalCampSC 2014Intro to Drupal Slides - DrupalCampSC 2014
Intro to Drupal Slides - DrupalCampSC 2014
 
Codemash 2.0.1.4: Tech Trends and Pwning Your Pwn Career
Codemash 2.0.1.4: Tech Trends and Pwning Your Pwn CareerCodemash 2.0.1.4: Tech Trends and Pwning Your Pwn Career
Codemash 2.0.1.4: Tech Trends and Pwning Your Pwn Career
 
C programming guide new
C programming guide newC programming guide new
C programming guide new
 
Ebook machine, meet human
Ebook machine, meet humanEbook machine, meet human
Ebook machine, meet human
 
Introducing XP
Introducing XPIntroducing XP
Introducing XP
 
Choose Boring Technology
Choose Boring TechnologyChoose Boring Technology
Choose Boring Technology
 
Naming Things (with notes)
Naming Things (with notes)Naming Things (with notes)
Naming Things (with notes)
 
You shouldneverdo
You shouldneverdoYou shouldneverdo
You shouldneverdo
 
Aug 2012 HUG: Hug BigTop
Aug 2012 HUG: Hug BigTopAug 2012 HUG: Hug BigTop
Aug 2012 HUG: Hug BigTop
 
1. Graduacao 2008
1. Graduacao 20081. Graduacao 2008
1. Graduacao 2008
 
Culture And Aesthetic Revisited
Culture And Aesthetic RevisitedCulture And Aesthetic Revisited
Culture And Aesthetic Revisited
 
So You Want to Rewrite That...
So You Want to Rewrite That...So You Want to Rewrite That...
So You Want to Rewrite That...
 
Open Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration PresentationOpen Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration Presentation
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Graham Thomas - 10 Great but Now Overlooked Tools - EuroSTAR 2012
Graham Thomas - 10 Great but Now Overlooked Tools - EuroSTAR 2012Graham Thomas - 10 Great but Now Overlooked Tools - EuroSTAR 2012
Graham Thomas - 10 Great but Now Overlooked Tools - EuroSTAR 2012
 
Rethinking Object Orientation
Rethinking Object OrientationRethinking Object Orientation
Rethinking Object Orientation
 
Understand Open Source ecosystems
Understand Open Source ecosystemsUnderstand Open Source ecosystems
Understand Open Source ecosystems
 
Clean Code Software Engineering
Clean Code Software Engineering Clean Code Software Engineering
Clean Code Software Engineering
 

Recently uploaded

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 

Recently uploaded (20)

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 

Tonethatplone

  • 1. Tone that Plone! How to keep your site in shape
  • 2. Plone can do it all... It's the 800 pound gorilla of CMS's Enterprise. Heavy duty. And all that jazz... But...
  • 3. Plone can do it all... It's the 800 pound gorilla of CMS's Enterprise. Heavy duty. And all that jazz... But... sometimes, too much of a good thing can be, well, too much!
  • 4. Back to basics You're small The budget is limited Like, totally unfair...
  • 5. Your mission, should you choose to accept it... Fight the flab Resist the urge to supersize Plan for the long run You don't need dodgy diets, wonderpills or an expensive personal trainer / consultant, just a clear purpose Remember, staying fit & lean is a process, not a product
  • 6. The planning stage: Reduce, Re-use, Recycle
  • 7. Reduce, Re-use, Recycle (cont.) Biggest #fail factor is overdesign. If your plan is more than 2-3 pages, it probably sucks. And, it will be outdated next year anyway... “Just because I can” is not enough justification for content-types, products or anything else.
  • 8.
  • 9. Reduce, Re-use, Recycle (cont.) Try to maintain a 'one in – one out' policy on addons Reduce the content-types (“News” is just a page with a picture, after all...) Metadata rules! As do “Topics”. Together, they can order most of your content just fine.
  • 10. Recycle bright ideas as well... There's no shame in using external services. People like Disqus probably know more about spam-reduction than you, Cloudflare was born to fight the Slashdot effect. It's very human to think your organisation is special, and therefore needs a special navigation and site layout. You're not. You don't. Sorry. “Don't make me think”
  • 11. KISS Avoid the greatest & latest framework. Quite often, the word 'web-app' is a codeword for 'frozen in time'. Or 'constant tinkering'. It can be a step back to that whole 'customized CMS' nightmare. If your site needs to stay and adapt for a few years, you should probably be behind the bleeding edge. It's called that for a reason.
  • 12. Plan sensibly, not frugal Will your navigation hold up to hundres of items? That's why metadata, and nice ways of searching like eea.facetedsearch shine...
  • 13. Yeah, yeah, Fashion baby... Learn to think of the design of your site in fashion terms. Yes, that's the famous Little Black Dress
  • 14. Haute Couture & Extravaganza There are only a handful of people on this planet that can get away with dressing like Lady Gaga. You're probably not one of them. Plus, she has 15+ stylists available on a 24/7 basis. The odds are, you don't
  • 15. That's soooo three minutes ago
  • 16. So, the Little Black Dress it is. Most women, and quite a few men, will look stylish in it. Weddings, bar-mitzva's, funerals, or just a regular night, be confident that you're dressed for the occasion. Boring? That's why accessories were invented!
  • 17. Now, re-phrase that in CSS Start with a clear & clean design. Your visitors and users probably want to see your content, eventually... Navigation is not fashion, it's function. Think of it as wearing sensible shoes. Fonts, on the other hand, are your sunglasses & handbags. As are some well-placed js effects. A few bold statements work better than that Carmen Miranda look. For the uninitiated, that's the whole fruitbowl on your head.
  • 18. Sideline: fashion disasters... Stuck with a designer that has only done paper? Be afraid, be very afraid. Remedy: show the design on a crappy phone to your boss. Design is like make-up; it should come off gracefully. (remember that douche-cartouche/trampstamp that seemed like such a good idea when you were drunk in Thailand... now think of Flash intro-pages...)
  • 19. Picking Products Probably the most demanding task a Plonista faces... Use a set of criteria to pick the right ones, that go further than technical stuff like unit-tests. Although these are Good Things (TM), they're not enough. Before you start, first figure out what problem the Product is supposed to solve. In 140 characters, please.
  • 20. Social Testing Documentation. As in, human-readable documentation. There's a special place in hell for doctest-only docs. Doctests are, at best, tests. They're not documentation. If the author can't describe what it does, why should you care? Well-filled issue tracker. Issues are good. It means other people use the product. If they get solved quickly, even better. Get gmane or similar, and check how responsive the author is on the mailing lists. Gauge reputation.
  • 21. Garlic & Silver (or, signs that scream: “avoid!”) The un-install test. On a full test-site, not a clean buildout. If it doesn't un-install cleanly, you're on a highway to upgrade hell. Do try after adding a few content items as well Re-inventing wheels. They're round, baby!
  • 22. More Garlic & Silver Not sticking to established industry standards. Yes, the author may be smarter than the IPTC consortium. But clout always wins. Kitchensink Syndrome. Remember, *nix is good. Small tools for specific jobs. No i18n. Yes, even if you're from the Anglosaxon world, this is a bad sign. Big stacks. They tend to come crashing down harder.
  • 23. I can haz complexity? Yes, you can. I love Plomino, SQL, ... The key, however, is to isolate it. And, double-check those social tests. “Too big to fail” is a definite plus in this case! If all else fails, you can magically rewrite to another instance.
  • 24. Splurge on the Good Stuff! The wonder of Open Source gives you access to professional tools. Might as well use them. Think LDAP. It might sound like overkill, but I use it in sites with <20 users. And thank myself regularly for it. Even if you're the sole integrator/developer, keep your stuff in a repository. Choose your favourite, but do it. That goes for CSS files, buildout configs, notes to yourself, the lot. Your future you, or your successor, will be eternally grateful.
  • 25. Maintenance Do tick-tock buildouts. That is, have two exact copies of your site. Update the one, test on humans, then switch the portnumber or symbolic link over. Then update the other one. I can guarantee you that pypi will be down otherwise. And it will put a red sock in your white laundry. Diskspace is cheap, your sanity... priceless.
  • 26. Deploying on a budget You will have to learn some basic *nix skills. Nothing fancy, but a few choice commands can save your day. Even for small sites, go for ZEO. One ZEO server, one client will work fine. Zeopack alone is worth it. Learn to rewrite to canonical URL's. Google will thank you. My best results: one system-wide NGINX, one system-wide Varnish, many sites. Consider using system packages.
  • 27. Deploying on a budget (cont.) It can be done, Plone runs quite well on budget hardware. Throw all of your limited resources on memory, the processor is hardly relevant anymore. Aim for 4gig, that'll do quite a few Plone sites nicely. More is better. Fast HD a bonus. Don't go for 99.999 % uptime. If that's what you want, ask for more budget. Cron that restart! Most sites are brought down not by visitors, but by....
  • 29. Defend against the robocalypse Get access to raw logfiles. Piwik and Google Analytics are nice, but they will only see this kind of visitor: You know, the kind with Javascript enabled, the kind that brush their teeth. They are not your problem.
  • 30. The evil ones First, get a sensible robots.txt in place that limits access rate, and do the Google dance to restrict endless links to different translations and stuff. Google has many options for taming their bot, although they're non-standard. Then there's these robots: They don't listen to robots.txt So, do what any robot would do:
  • 31. Exterminate !!! nginx code snippet: # Dalek attacks - must exterminate (case insensitive) # The ~* makes it case insensitive as opposed to just a ~ if ($http_user_agent ~* (Baiduspider|Jullo|Yanga| Yandex|BLP_bbot|ConveraCrawler) ) { return 403; }
  • 32. Still in trouble? Hardware, even leased , is cheap. Throw some more at the problem. Look outside your national borders. Or, to a place with fast fibre-to-the-home. Don't go cloud, it gets expensive! You might want to consider outsourcing your caching even further. Look at Cloudflare. It's free, and quite capable.
  • 33. Almost there... So, with strict planning, a restrained diet and a mind firmly set on keeping your site from ballooning, a lean, fast, update-proof site is in the reach of even small, resource-challenged organisations. All for the new, low price of... next to nothing. Great! Free cake for all! But is that right?
  • 34. Does all this make me a bad person? Yes, it kind of does. Many times, smallish NGO's can be the client from hell... Embrace it. Smaller organisations can, and do grow. And the people working there move on. One day, you may be a valuable customer.
  • 35. Give back where you can Bug reports are cool! Maybe you can help translating, or write documentation. But, take the time to learn mailing list etiquette, and the rules for valuable bug reports. “What would Ajung say” is a very good mind-check!
  • 36. TL;DR? - cut back on the Product & content-type carbs. Less is more. - plan flexible. Upgrades, policy reshuffles will occur. - design should be simple & elegant, spruce up with fonts - learn to spot good products. Test for tech & social status. - isolate complexity - deploy towards max memory, maybe outsource caching - robots are evil KTHXBYE!