Re: Commit document

From: Date: Fri, 23 Apr 2010 23:28:45 +0000
Subject: Re: Commit document
References: 1 2 3 4 5 6  Groups: php.doc 
Request: Send a blank email to phpdoc+get-969381720@lists.php.net to get a copy of this message
Christopher Jones wrote:
Yannick Torrès wrote: Is it really necessary to allow valid user to save as a patch ? Perhaps we can just allow "save as a patch" for anonymous user. Some unification & simplification of processes and terminology would really help. The difference between "Pending for commit" and "Pending patches" isn't obvious. I think the process should only distinguish between "work in progress" and "complete work". In the UI I'd label them "Incomplete patches" and "Completed patches". Anonymous users should be allowed (somehow) to "Save" files so they are in the "Incomplete patches" queue, just the same as an authenticated user. There should one button (Save), not two (Save & Save as patch). There should be a way to change the patch state from Incomplete to Complete when the author is happy with the content alteration. In the "Completed patches" queue it should be straightforward for authenticated users to commit. Completed patches by Anonymous users could also go into the "Completed patches" queue, or to a separate "Contributed Patches" queue. Chris
This mail expands on what I wrote above, and summarizes for discussion a long IRC chat with Yannick. Chris ----------------------- The basic process could be reduced for all users to: Save files -> Create Patch -> Commit. Optionally, we could also allow Save files -> Commit. Each file editor only has one "Save" button, and the "Save as Patch" button is removed. "Save" would place the file in a "Save Work" section, grouped by user. This section simply means "Here is a file I've edited". It doesn't imply work on the file is finished. If user #2 tries to save a file that user #1 has already saved, then user #2 is shown an error and must contact user #1 about committing & releasing the file. After a few users have saved files the "Saved Work" section could look like:
    Saved Work
      sixd
        oci8_a.xml
        oci8_b.xml
        date.xml
      yannick
        spl1.xml
        spl2.xml
      Anonymous
        array.xml
        session.xml
        mysql.xml
Each saved file shows a checkbox to only the user who saved it. There is a "Submit as Patch for Review" option that operates on all checked files. A possibile variation is for authenticated users to have an extra option to commit the checked files directly. An Anonymous user would only ever have the "Submit as Patch for Review" option. All patches for all anonymous users either appear in the same "Anonymous" sub-section, or have their own subsection like "Anonymous #1". To prevent DOS issues, it might be best to rollback anonymous saved work when the user logs out or the session has been inactive for some hours. Most users making non-trivial changes will have accounts. Submitting a patch moves files from the "Saved Work" to a "Patches for Review" section. After sixd had checked both oci8 files and submitted them, the UI would look like:
    Saved Work
      sixd
        date.xml
      yannick
        spl1.xml
        spl2.xml
      Anonymous
        array.xml
        session.xml
        mysql.xml
    Patches for Review
      sixd
        Patch 1
          oci8_a.xml
          oci8_b.xml
If sixd later submits date.xml and an anonymous user submits array.xml, the UI would look like:
    Saved Work
      yannick
        spl1.xml
        spl2.xml
      Anonymous
        session.xml
        mysql.xml
    Patches for Review
      sixd
        Patch 1
          oci8_a.xml
          oci8_b.xml
        Patch 2
          date.xml
      anonymous
        Patch 1
          array.xml
Each of the "Patch X" lines would allow committing, deleting or re-editing (moving back to the "Saved Work" section so further changes can be made) of the patch. Users can commit their own patches, and possibly those of others. An overall Administration role could be introduced with extra access as needed. -- Email: christopher.jones@oracle.com Tel: +1 650 506 8630 Blog: http://blogs.oracle.com/opal/ Free PHP Book: http://tinyurl.com/ugpomhome

« previous php.doc (#969381720) next »