Changes between Version 4 and Version 5 of stevegt


Ignore:
Timestamp:
Feb 28, 2006, 3:05:39 AM (18 years ago)
Author:
stevegt
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • stevegt

    v4 v5  
    2828I see two choices here:
    2929
    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 simplicity and 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.
    3131 * 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.
    3232
     
    3434the "Edit This Page" button
    3535to edit the version you're looking at, or maybe the currently elected
    36 version, not the latest version.  Right now I'm just punting 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".
     36version, 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".
    3737
    3838Does anyone have any preferences or thoughts about any of these alternatives?  Feel free to edit this page...