[[PageOutline(2-5,Contents,pullout)]] = Reschedule milestones on a new timeline == Description This is a standalone Python program that stretches or compresses milestones between new start and stop dates, keeping the time allocations for each the same, proportionally. It is not a regular Trac plugin. It will probably work with Trac 0.10 and 0.9, all it depends on is the milestone table format. {{{ Usage: reschedule.py [options] Fit Trac milestone due dates into a new time range, preserving relative spacing Options: -h, --help show this help message and exit -D DBTYPE, --dbtype=DBTYPE database type: sqlite (default), postgres, mysql -d DSN, --dsn=DSN connect spec, eg. 'user=foo dbname=bar host=eg.com', or a filename for sqlite systems -s START, --start=START new start date YYYYMMDD -e END, --end=END new end date YYYYMMDD -o OLD, --old=OLD old start date YYYYMMDD -S SCHEMA, --schema=SCHEMA name of schema containing milestone table -c, --commit commit changes to table }}} As an example: {{{#!sh python reschedule.py --dsn 'user=someuser host=localhost dbname=trac' \ --old 20071101 --start 20071203 --end 20090630 --dbtype postgres }}} would reschedule the milestones for a project that originally started 20071101 and ran until the due date of the last milestone to run instead between 20071203 and 20090630, which the same proportional allocation of time for each milestone. '''Note:''' without the {{{--commit}}} flag it just prints a table showing what the changes would be, without altering the database. Always test it without the {{{--commit}}} flag first. == Bugs/Feature Requests '''Note:''' the {{{--dbtype}}} flag is untested, I developed this for a PostgreSQL based system. Existing bugs and feature requests for ReScheduleScript are [report:9?COMPONENT=ReScheduleScript here]. If you have any issues, create a [/newticket?component=ReScheduleScript new ticket]. [[TicketQuery(component=ReScheduleScript&group=type,format=progress)]] == Download Download the zipped source from [export:reschedulescript here]. == Source You can check out ReScheduleScript from [/svn/reschedulescript here] using Subversion, or [source:reschedulescript browse the source] with Trac. == Installation General instructions on installing Trac plugins can be found on the [TracPlugins#InstallingaTracplugin TracPlugins] page. == Recent Changes [[ChangeLog(reschedulescript, 3)]] == Author/Contributors '''Author:''' [wiki:TerryBrown] [[BR]] '''Maintainer:''' [[Maintainer]] [[BR]] '''Contributors:'''