• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content




Slides for talk at Ploneconf 2011, San Francisco

Slides for talk at Ploneconf 2011, San Francisco



Total Views
Views on SlideShare
Embed Views



1 Embed 3

http://a0.twimg.com 3



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Tonethatplone Tonethatplone Presentation Transcript

    • Tone that Plone! How to keep your site in shape
    • Plone can do it all...Its the 800 pound gorilla of CMSsEnterprise.Heavy duty.And all that jazz...But...
    • Plone can do it all...Its the 800 pound gorilla of CMSsEnterprise.Heavy duty.And all that jazz...But...sometimes, too muchof a good thing can be,well, too much!
    • Back to basicsYoure smallThe budget is limitedLike, totally unfair...
    • Your mission, should you chooseto accept it...Fight the flabResist the urge to supersizePlan for the long runYou dont need dodgy diets, wonderpills or an expensivepersonal trainer / consultant, just a clear purposeRemember, 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 justificationfor content-types, products or anything else.
    • Reduce, Re-use, Recycle (cont.)Try to maintain a one in – one out policy on addonsReduce 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...Theres no shame in using external services. People like Disqusprobably know more about spam-reduction than you, Cloudflarewas born to fight the Slashdot effect.Its very human to think your organisation is special,and therefore needs a special navigation and site layout.Youre not. You dont.Sorry.“Dont make me think”
    • KISSAvoid the greatest& latest framework.Quite often,the word web-appis 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.Its called that for a reason.
    • Plan sensibly, not frugalWill your navigationhold up to hundres of items?Thats why metadata,and nice ways of searchinglike eea.facetedsearch shine...
    • Yeah, yeah, Fashion baby...Learn to think ofthe design of yoursite in fashion terms.Yes, thats the famousLittle Black Dress
    • Haute Couture & ExtravaganzaThere are only a handful of people on this planet that can getaway with dressing like Lady Gaga.Youre probably not one of them.Plus, she has 15+ stylists available on a 24/7 basis.The odds are, you dont
    • Thats 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-mitzvas, funerals, or just a regular night,be confident that youre dressed for the occasion.Boring? Thats why accessories were invented!
    • Now, re-phrase that in CSSStart with a clear & clean design. Your visitors and users probablywant to see your content, eventually...Navigation is not fashion, its 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 Mirandalook. For the uninitiated, thats 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 ProductsProbably the most demanding task a Plonista faces...Use a set of criteria to pick the right ones, that go further thantechnical stuff like unit-tests.Although these are Good Things (TM), theyre not enough.Before you start, first figure out what problem the Product issupposed to solve. In 140 characters, please.
    • Social TestingDocumentation. As in, human-readable documentation.Theres a special place in hell for doctest-only docs.Doctests are, at best, tests. Theyre not documentation.If the author cant describe what it does, why should you care?Well-filled issue tracker. Issues are good. It means other peopleuse the product. If they get solved quickly, even better.Get gmane or similar, and check how responsive the author is onthe 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 doesnt un-installcleanly, youre on a highwayto upgrade hell.Do try after adding a fewcontent items as wellRe-inventing wheels.Theyre round, baby!
    • More Garlic & SilverNot sticking to established industry standards. Yes, theauthor 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 youre from the Anglosaxon world, this is abad 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 plusin 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 siteswith <20 users. And thank myself regularly for it.Even if youre the sole integrator/developer, keep your stuff in arepository. Choose your favourite, but do it. That goes for CSSfiles, buildout configs, notes to yourself, the lot. Your future you,or your successor, will be eternally grateful.
    • MaintenanceDo tick-tock buildouts.That is, have two exact copies of your site. Update the one, teston 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 budgetYou will have to learn some basic *nix skills. Nothing fancy, but afew choice commands can save your day.Even for small sites, go for ZEO. One ZEO server, one client willwork fine. Zeopack alone is worth it.Learn to rewrite to canonical URLs. Google will thank you.My best results: one system-wide NGINX, one system-wideVarnish, 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 ishardly relevant anymore. Aim for 4gig, thatll do quite a few Plonesites nicely. More is better. Fast HD a bonus.Dont go for 99.999 % uptime. If thats what you want, ask formore budget. Cron that restart!Most sites are brought down not by visitors, but by....
    • Robots, evil robots!
    • Defend against the robocalypseGet access to raw logfiles. Piwik and Google Analytics are nice, butthey will only see this kind of visitor:You know, the kind with Javascriptenabled, the kind thatbrush their teeth.They are not your problem.
    • The evil onesFirst, get a sensible robots.txt in place that limits access rate, anddo the Google dance to restrict endless links to differenttranslations and stuff. Google has many options for taming theirbot, although theyre non-standard.Then theres these robots:They dont listen to robots.txtSo, 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 theproblem. Look outside your national borders. Or, to a place withfast fibre-to-the-home. Dont go cloud, it gets expensive!You might want to consider outsourcing your caching evenfurther.Look at Cloudflare. Its free, and quite capable.
    • Almost there...So, with strict planning, a restrained diet and a mind firmly set onkeeping your site from ballooning, a lean, fast, update-proof siteis 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 NGOscan be the client from hell...Embrace it. Smaller organisationscan, and do grow. And thepeople working there moveon. One day, you may bea valuable customer.
    • Give back where you canBug reports are cool!Maybe you can help translating, or write documentation.But, take the time to learn mailing list etiquette, and the rules forvaluable 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 evilKTHXBYE!