Changes between Version 4 and Version 5 of stevegt
- Timestamp:
- Feb 28, 2006, 3:05:39 AM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
stevegt
v4 v5 28 28 I see two choices here: 29 29 30 * Patch !WikiPage, !WikiModule, and !WikiSystem to add an IWikiWorkflowController extension point; this extension point includes a get_default_version() function, and disables edit collision detection (as a first approximation) so edits can be based on back-level revisions ; I've actually already written this patch, as well as a sample workflow controller, and it all works great. All of this was surprisingly simple, thanks to trac's simplicityand the component api.30 * Patch !WikiPage, !WikiModule, and !WikiSystem to add an IWikiWorkflowController extension point; this extension point includes a get_default_version() function, and disables edit collision detection (as a first approximation) so edits can be based on back-level revisions. I've actually already written this patch, as well as a sample workflow controller, and both work great. All of this was surprisingly simple, thanks to trac's clean code and the component api. 31 31 * Don't patch the code; just have my own plugin do the job via overriding and subclassing !WikiModule, reassigning the 'WikiPage' symbol at runtime, and/or other guerilla tactics. I don't want to resort to this. 32 32 … … 34 34 the "Edit This Page" button 35 35 to edit the version you're looking at, or maybe the currently elected 36 version, not the latest version. Right now I 'm just puntingand, if workflow is on, then edit the version the user's looking at. This required disabling collision detection, because trac's default collision detection asserts that req.args.get('version') == "current latest version". A better alternative might be to add a hidden form variable, say, 'latest_version', and yell if req.args.get('latest_version') != "current latest version".36 version, not the latest version. Right now I just punt and, if workflow is on, then edit the version the user's looking at. This required disabling collision detection, because trac's default collision detection asserts that req.args.get('version') == "current latest version". A better alternative might be to add a hidden form variable, say, 'latest_version', and yell if req.args.get('latest_version') != "current latest version". 37 37 38 38 Does anyone have any preferences or thoughts about any of these alternatives? Feel free to edit this page...