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

Arkestra at DjangoCon Europe 2012

Arkestra at DjangoCon Europe 2012

Daniele Procida

June 05, 2012
Tweet

More Decks by Daniele Procida

Other Decks in Programming

Transcript


  1. Arkestra

    View Slide

  2. Daniele Procida
    Cardiff University School of Medicine

    View Slide

  3. How should a CMS best publish
    information for an organisation?

    View Slide

  4. Arkestra is my attempt
    to answer the question
    ... based on about 10
    years’ experience as a
    user
    ... of sites from very
    small ones to very
    large ones

    View Slide

  5. WordPress
    Website Baker
    Percussion Rhythmyx
    Plone
    Wikis
    Drupal
    Freeway
    Joomla!
    ModX
    phpWebSite
    Typo3
    HTML and server-side includes
    DreamWeaver
    ...amongst others
    I’ve tried and used

    View Slide

  6. What typically happens
    you have to repeat yourself
    data get wasted & lost
    content & presentation become inconsistent
    information in templates gets broken & petrifies
    information ages, withers & dies
    users play fast & loose
    the larger the site the worse the problems

    View Slide

  7. No happy medium
    there’s not enough freedom
    users can’t do what they need to
    there’s too much freedom
    users can easily do things they shouldn’t
    ... at the same time

    View Slide

  8. Everything is horrible

    View Slide

  9. Arkestra’s solution:
    Create a model of the real world

    View Slide

  10. Information, not just data
    we want information, not useless stupid data
    templates don’t hold information
    semantic modelling of real-world relationships
    use semantics to inform output and assist the user

    View Slide

  11. Organisations generally
    want to publish information about themselves
    need to be contacted
    have members
    ... who occupy roles
    stand in relation to other organisations
    ...and have others within them
    ... and are parts of others
    hold events
    have news
    ... and so on

    View Slide

  12. SCHOOL OF MEDICINE
    IS AN ORGANISATION

    View Slide

  13. SCHOOL OF MEDICINE
    CANCER & GENETICS
    INFECTION & IMMUNITY
    MEDICAL EDUCATION
    EXPERIMENTAL MEDICINE
    PSYCHOLOGY & NEUROSCIENCE
    CLINICAL EPIDEMIOLOGY
    HAS OTHER ORGANISATIONS WITHIN IT

    View Slide

  14. CARDIFF UNIVERSITY
    SCHOOL OF MEDICINE
    CANCER & GENETICS
    INFECTION & IMMUNITY
    MEDICAL EDUCATION
    EXPERIMENTAL MEDICINE
    PSYCHOLOGY & NEUROSCIENCE
    CLINICAL EPIDEMIOLOGY
    PHYSICS
    MUSIC
    MATHEMATICS
    LAW
    BIOSCIENCES
    ARCHITECTURE
    PSYCHOLOGY
    EUROPEAN STUDIES
    COMPUTER SCIENCE
    ENGINEERING
    DENTISTRY
    OPTOMETRY
    CHEMISTRY ARCHEOLOGY
    AND IS PART OF A LARGER ORGANISATION

    View Slide

  15. Entities
    an organisation
    School of Medicine
    a part of an organisation
    Institute of Infection & Immunity
    Research Office
    a group of other entities
    Research institutes
    Administrative & support offices
    a collection of people
    Web editors

    View Slide

  16. studentships
    vacancies
    events
    news
    pages
    places
    people
    roles
    entities
    Entities & the rest of the world

    View Slide

  17. PAGES ENTITIES

    View Slide

  18. Arkestra’s guiding principle:
    Don’t waste people’s time

    View Slide

  19. Don’t re-enter, re-use
    Make everything re-usable and re-use it
    Make it easier to re-use than re-enter

    View Slide

  20. Integration with django CMS

    View Slide

  21. django CMS & Arkestra
    django CMS & Arkestra grew up together
    have been developed alongside each other
    portions of django CMS conceived as part of Arkestra
    integration with pages, placeholders/plugins, menus

    View Slide

  22. The Semantic Presentation Editor

    View Slide

  23. create complex, flexible, multiple-column layouts
    produce well-structured semantic HTML
    need no HTML/CSS skills
    Choose only two

    View Slide

  24. create complex, flexible, multiple-column layouts
    produce well-structured semantic HTML
    need no HTML/CSS skills
    Have all three!

    View Slide

  25. designs & layouts are not baked in to templates
    we need only a few, simple, templates
    it frees & constrains users
    it encourages good practice
    it produces decent output
    it’s easy to use
    it makes modifying site templates easier
    it makes pages inspectable by the system

    View Slide

  26. developed by Luke Plant
    not just for Arkestra, but any django CMS instance
    bitbucket.org/spookylukey/semanticeditor
    Development & application

    View Slide

  27. At the School of Medicine:
    How Django & Arkestra worked for us

    View Slide

  28. Some numbers
    4000 pages a day
    about 10000 pages of content
    1383 manually-created (django CMS) pages
    1879 people in 2392 roles across 180 entities
    504 news articles and 711 events
    2582 plugins (links, images, news, events, etc)
    around 40 web editors

    View Slide

  29. Everything is great

    View Slide

  30. Conceiving Arkestra
    Knowing less & thinking more

    View Slide

  31. What I knew about programming

    View Slide

  32. September 2008: heard about Python & Django
    April/May 2009: took a 5-day Python/Django course
    May 2009: understood the concept of a model
    May 2009: started working on Arkestra
    July 2009: understood the concept of a method
    December 2009: Arkestra launched to our users
    March 2010: our Arkestra site went live!
    March 2012: Arkestra fit for public consumption

    View Slide

  33. The user’s perspective
    think like a user
    suffer like a user
    be a user

    View Slide

  34. And now

    View Slide

  35. Development continues

    View Slide

  36. Who’s using Arkestra?
    Cardiff University School of Medicine
    Iceland Academy of the Arts
    Cell Medica Ltd (medical research company)
    The Laugharne Weekend (literature/music festival)
    ... plus several of my own

    View Slide

  37. Thanks to Python and Django, I
    stopped being a frustrated and
    resentful user of horrible, badly-
    designed web CMS software
    that I could do nothing about.

    View Slide

  38. Now I am the fulfilled and happy
    author of a system that behaves
    pleasantly and people enjoy using.

    View Slide

  39. And it does what I imagined
    it could do.

    View Slide


  40. Arkestra
    Daniele Procida
    [email protected]
    evildmp on github, irc.freenode.net, etc
    arkestra-project.org

    View Slide