== Release Management Process == The Plumi Release Management Process involves the following steps: === ALPHA or BETA === * Ticket management (via plumi trac) & allocation (generally inclusive of new features with an alpha or beta) http://plumi.org/report/3 * Development assigned and commenced with active scope management to move tickets in & out of a release depending on time/funds remaining * Code tested on Plumi development site http://testing.plumi.org * Any bugs are added back to the milestone in Trac and fixed http://plumi.org/report/3 * Code packaged by Unweb into a beta release and added to PyPI http://pypi.python.org/pypi/plumi.app/ * Announcements made (see below) * EngageMedia.org testing/staging site upgraded to alpha or beta for testing - only if more test data desired or other specific reason, otherwise further development continues on testing.plumi.org only. === RC === * Ticket management (via plumi trac) & allocation (usually only bugs for an RC) http://plumi.org/report/3 * Code tested on Plumi development site http://testing.plumi.org * Any bugs are added back to the milestone in Trac and fixed http://plumi.org/report/3 * Code packaged by Unweb into an RC and added to PyPI http://pypi.python.org/pypi/plumi.app/ * Announcements made (see below) * EngageMedia.org staging site upgraded to RC for testing http://staging.engagemedia.org and deployment * Tickets specific to EngageMedia.org (on Redmine) are completed and EngageMedia staging site updated with EM-specific code http://redmine.engagemedia.org http://staging.engagemedia.org * If required, progress through multiple release candidates until final version is ready to release * When RC is considered stable EngageMedia.org production is updated, any remaining tickets discovered are incorporated into another RC or the final. === FINAL === * Code packaged into final by Unweb and added to PyPI http://pypi.python.org/pypi/plumi.app/ * Final deployed to demo.plumi.org * Final deployed to http://engagemedia.org (if not already up to date) * Final announcements of the release (see below) == Announcements == Whenever a new version of Plumi is released, the following announcements are made: * Update Plumi product page on Plone.org if any major changes to functionality or architecture http://plone.org/products/plumi/ * Add a new release (or update an "unreleased" release) to Plumi product on Plone.org http://plone.org/products/plumi/releases * Add blurb based on changelog from PYPI http://pypi.python.org/pypi/plumi.app * Add changelog from PYPI http://pypi.python.org/pypi/plumi.app * Add EngageMedia/Unweb as release managers and contact ~AT~ plumi ~DOT~ org as email address * Add link to tagged code on Plone collective SVN repository e.g. http://svn.plone.org/svn/collective/plumi.app/tags/4.0b1/ * Add link to tar.gz of package from PyPI e.g. http://pypi.python.org/pypi/plumi.app/#downloads * Blog post on blog.plumi.org with a link back to the plone.org entry (if it's a beta/RC release) or the list of new features (if it's a final release) * Email to plumi-discuss and plumi-announce * Update wikipedia page - http://en.wikipedia.org/wiki/Plumi * Blog on EngageMedia https://engagemedia.org If the release is a "final release" of a new version, the following additional steps are taken: * Update the Download page in blog.plumi.org to reflect the new version number, the Plone version it bundles and a link to the release announcement on the plumi blog http://blog.plumi.org * Update Freshmeat page - http://freshmeat.net/projects/plumi * Update Linux.Softpedia - http://linux.softpedia.com/progSendUpdate/Plumi-SendUpdate-31021.html == Past Information == Here's the steps we followed when we were [wiki:MigratingEM migrating EngageMedia.org to Plumi 3].