Development Map

This page is designed to give developers an overview of the Plumi software. This is a work in progress, further documentation of the Plumi project will follow.

Anatomy of Plumi Buildout

This is what you will find inside your Plumi buildout, with a brief explanation of each file/directory. This may change between different Plumi releases, so it should be used as a guide only.

  • AUTHORS.txt - a list of authors of the Plumi buildout code
  • bin - contains executables
  • - Python script used to run the buildout
  • build.cfg, base.cfg - the main configuration files for the buildout
  • production.cfg, devel.cfg - production and development buildout files
  • develop-eggs - contains egg-links to development eggs
  • downloads - a directory to hold downloaded software such as Squid and Zope tarballs
  • eggs - contains downloaded eggs (distributed Python packages)
  • fake-eggs - a way of locating pre-egg Zope packages, a fake-egg is like a develop egg that points to the source code in parts/zope2/lib/python/* (or wherever your Zope software home is)
  • GPL-3.txt - full text of the GNU General Public License, Version 3 
  • LICENSE.txt - notes the licence under which Plumi is released (see full text in GPL-3.txt)
  • MIGRATING.txt - notes on migrating from previous versions of Plumi
  • parts - contains files managed by the buildout
  • products - can be used for old-style Zope/Plone products (pre-egg)
  • README-PLUMI.txt - readme notes for Plumi
  • README.txt - readme notes for using any custom Plone buildout
  • site.cfg - site specific configuration information used in buildout to drive the process
  • scripts - holds scripts utilised by the transcode daemon
  • src - used for custom eggs
  • TODO.txt - the general to-do list for Plone-based buildouts
  • transcoded - contains video files transcoded by Transcode Daemon
  • twistd.log - a log for the Twisted event-driven networking engine (part of Transcode Daemon)
  • var - used for Data.fs and logs
  • versions - contains configuration files listing which versions of packages the buildout will use

Plumi Packages and Application Setup

The Plumi buildout consists of a few elements as add-ons to Zope and Plone, which are the Plumi application setup, Plumi skin, Plumi content types and third-party products or Python packages. This section needs filling out in more detail, but should give you an overview of what Plumi encompasses.

  • Zope and Plone - application server, database and content management system
  • Squid/Apache - Squid caching and Apache configuration
  • Plumi Application Setup (pulls in all of the packages required by Plumi, and installs default settings, objects and portal tabs)
    • Plumi Skin (CSS and page templates)
    • Plumi Content Types (additional to default news, video, events, pages etc. provided by Plone)
      • Plumi Video
      • Callouts
    • Plumi migration (migrating from Plone 2.x sites, deprecated since Plumi 4)
    • Transcode Daemon (network service, video playback in the browser and transcoding framework, integrating transcoding of uploaded video files into Plone)
    • Third-Party Plone Products and packages, e.g.
      • ATVocabularyManager - to manage topics and genres
      • Configuration registry - A 'Mozilla about:config' style configuration registry
      • ContentLicensing - package to integrate open content licenses
      • LinguaPlone - Multi-lingual support for Plone
      • Marshall
      • Plone Discussions - Commenting infrastructure for Plone
      • Plone JQuery Tools Integration - Profile for Plone's JQuery Tools resources.
      • unweb.shareit - Share content on social networking sites
      • qi.Portlet.Tagcloud - A static tagcloud product with a topic navigation
      • contentratings - Extension profile for the "contentratings" Plone theme.
      • json_migrator
        • 'File' replacement type - Extension profile to replace the standard 'File' content type with a compatible one based on ZODB 3.8 blobs
          • - User-configurable image scaling