Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

Embed Size (px)

Citation preview

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    1/17

    PLONE SYMPOSIUMEAST 2010

    PENN STATE

    MAY 27, 2010

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    2/17

    Large-scale KnowledgeManagement Systems using

    Plone Technologies

    Tom Moroz, Paul Everitt,Calvin Hendryx-Parker

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    3/17

    OBJECTIVES OF TALK

    Background

    Technical / HostingDecisions

    Future

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    4/17

    Open Society Institute

    7 core offices in U.S. and Europe

    National Foundations in 32 countries

    Program and grant giving activity inover 60 countries

    >20 Program Areas / Initiatives

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    5/17

    The Path to KARL 3.0:

    August 2006 Software developmentbegins

    May 2007 KARL v1.0 beta release

    January 2008 official launch

    November 2008 KARL v2.0 release

    June 2009 KARL v3.0 release

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    6/17

    Moving from Plone to BFG

    Plone is great at what it does. Contentmanagement in a nice, general way.

    What do you do when your project is outside of

    the sweet spot? Further you need to extend Plone, the more you

    fight the framework. High developer frustration.

    Using BFG, we were able to maintainprogramming paradigms familiar to Zope/Plonedevelopers without using/fighting Plone.

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    7/17

    The move from KARL 1 to KARL 2

    Entirely new UI built on top of Plone--verydifferent from Plone's UI.

    Much framework fighting.

    Much integration with non-Plone technologies,aka Frankenplone.

    Bad performance, poor reliability.

    Difficult maintenance.

    Difficult to provide something reasonable for non-OSI deployments.

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    8/17

    Alternatives to Plone?

    Zope2, primarily used by Plone, time tested.

    Zope3, big, many dependencies, app developersencouraged to use CA.

    Grok, an attempt to make Zope3 easier to use.

    Django, nice, but full stack like Zope2.

    Pylons/TG2, also nice but geared towards

    RDB/URL dispatch.

    Several others, little traction, not Zope-like

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    9/17

    BFG

    In repoze namespace, but is not really repoze.

    Like Zope, but much smaller, leaner.

    Speed and simplicity: "Pay only for what you eat." If youdon't need it, it's not there. If you do need it, it is easy to

    put in.

    Documentation: An undocumented feature or API is a bug.

    Testing: 100% test coverage. Untested code is brokencode.

    Collaborative culture: using and promoting non-Zopetechnologies when the are useful.

    Easy to adopt for Zope developers. (Maybe non-Zopedevelopers as well.)

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    10/17

    BFG for KARL

    BFG's goals aligned nearly perfectlywith goals for KARL.

    OSI wanted Plone, but not really.

    Using BFG we were able to build thebest KARL we could.

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    11/17

    KARL Technology

    Python

    WSGI, WebOb, Paste Deploy, virtualenv, eggs,repoze.who, Supervisor, formish, TinyMCE,

    jQuery and jQuery UI, nose, twill, mod_wsgi

    Zope

    ZPT (Chameleon), traversal, views, security,

    ZODB/ZEO, catalog, component architecture(interfaces, adapters, utilities, ZCML), buildout

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    12/17

    Lies, Damn Lies

    1,700+ unit tests, 8-10 seconds.

    Startup time:

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    13/17

    KARL Project

    15 committers, 9 organizations

    Launchpad: 708 total issues, 42

    milestones

    20 open bugs

    Hosting by Six Feet Up

    Web Site: www.karlproject.org

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    14/17

    Hosting

    KARL 3

    Xen and CentOS

    Fully Managed, Monitored

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    15/17

    Recent & Future KARL Hosting

    Moved to a new datacenter Q3 2009

    Hardware to improve search Q22010

    Disaster Recovery Support Q3 2010

    Online Realtime Backup Q3 2010

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    16/17

    Partners

    3 partner organizations Oxfam GB

    Eurasia Foundation Fahamu (Media NGO)

    Ariadne (Human Rights Consortium)

    Global Campaign for Education

    Open Society Policy Center

    Six Feet Up

  • 7/29/2019 Large-Scale Knowledge Management Systems Using Plone Technologies - Tom Moroz- Paul Everitt- And Calvin Hendryx-Parker

    17/17

    The Path Forward.....

    On-going software development

    Development of a governance modelto make available to both large andsmall organizations

    The importance of soft technologyand methodologies