Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PyConZA 2012: "Jmbo Tutorial (slides)" by Hedle...

Pycon ZA
October 05, 2012

PyConZA 2012: "Jmbo Tutorial (slides)" by Hedley Roos

Jmbo is a CMS (no, don't run!) built on Django. It was born after years of frustration with a rigid development pipeline and tools which are either too weak of overly complex.

So a CMS for mobi? Sure, it is that and more. Its real value lies in bringing project manager, designer, integrator and devops together in a sane and friendly way.

We'll start off with a short history of the problem domain and our naive first attempts at solving it. Then we try and recreate a popular news mobi site within the allotted time. If you're more of a CSS person than a Python coder we need you as well!

If you want to code then you'll need Ubuntu 12.04 since that is the easiest platform to set up. Make yourself a virtual machine if you're on a Mac.

I'll be assisted by my colleagues Milton Madanda, Shaun Sephton and Rizmari Versfeld.

Pycon ZA

October 05, 2012
Tweet

More Decks by Pycon ZA

Other Decks in Programming

Transcript

  1. Why does Jmbo exist? • Sites (especially mobi) have recurring

    elements • We want a standard set of templates for all devices • Turnaround time • Make it easy for novice developers to be productive • Bring designers closer to the project • The usual project process is full of pain
  2. The usual project process • Creative / strat has a

    beautiful vision • Write a scope of work promising a lot • Wireframe • Designer does HTML and CSS • Developer must integrate • QA etc etc • Deploy and support
  3. Things always go wrong • Unrealistic promises → new unplanned

    features and code • Horrible HTML and CSS • Upside: most developers are CSS gurus • Developer must co-ordinate and fight with all involved parties
  4. The Jmbo project process • The toolkit is known •

    Developer is involved from the start to identify problem areas • UX can create wireframes which focus on layout, not detail • Designer works with developer when development starts • Designer does not write HTML, only CSS • Designer can continue working in parallel • Rapid QA releases since there are no bottlenecks
  5. No HTML? Really? • It depends • Identify what Jmbo

    offers you, then add custom bits as required • Write custom HTML in same style as Jmbo, then you get most styling for free
  6. The stack • Python • Django • The usual web

    elements (JS, Jquery, CSS etc.) • Postgres with PostGIS preferred, MySQL will work, SQLite with Spatialite for demos and the insane • buildout • supervisord • nginx • gunicorn • User agent detection and switcher • HAProxy
  7. Links http://pypi.python.org/pypi/jmbo Core CMS product. http://pypi.python.org/pypi/jmbo-foundry A.k.a. Jmbo Go. Present

    jmbo-* apps as a logical whole. Build pages. http://pypi.python.org/pypi/jmbo-skeleton Replacement for paste. Get a demo or new project up and running quickly.