Annotation of wikisrc/wiki/todo/let_non-developers_contribute_content.mdwn, revision 1.11

1.9       schmonz     1: [[tron]] suggests that non-developers should be able to post content
                      2: to a staging area, to be approved (possibly after editing) by
                      3: developers. [[schmonz]] likes this idea a lot.
                      5: > what about to make a sub-page called e.g. User contributed
                      6: > documentation an give non-developers rw access there while editing
                      7: > other parts(TNF contributed) of wiki will require developers account
                      8: > or possible some sort of bless from a developer. --[[haad]]
1.10      schmonz    10: >> From ikiwiki's PoV, this is equivalent to the Discussion-subpage
                     11: >> approach (merely a tweak to a PageSpec). From the human PoV, it's
                     12: >> a tradeoff. If we make a whole hierarchy world-editable, users will
                     13: >> be able to directly edit any page in that hierarchy, but we'll wind
                     14: >> up with two pages on every topic of interest and readers will have
                     15: >> to check both. A discussion subpage isn't the page itself, but the
                     16: >> relation of the two is never ambiguous.
                     17: >>
                     18: >> Neither approach is ideal. A possible improvement: in addition
1.11    ! schmonz    19: >> to making making Discussion pages world-editable, use the
        !            20: >> [[!iki ikiwiki/directive/inline]] directive on each main topic page to
1.10      schmonz    21: >> include the relevant Discussion subpage below, with a disclaimer
                     22: >> about the provenance of that content. Then both developers and users
                     23: >> can effectively edit the page, and the reader can easily discern
                     24: >> what's what.
                     25: >>
                     26: >> Best if this inlining could be automated somehow, rather than
                     27: >> requiring someone to add a directive to each page. --[[schmonz]]
1.9       schmonz    29: _For non-developers using [[anonymous CVS|wiki/todo/push_wikisrc_to_anoncvs]]_:
                     30: submit a diff to `netbsd-docs@`.
                     32: _For non-developers using a web browser_: the ikiwiki discussion
                     33: subpage and/or [[!iki plugins/comments desc="comments plugin"]] may
                     34: point toward the solution.
1.3       wiki       35: 
                     36: One of the reasons we [[chose ikiwiki|wiki/todo/choose_wiki_software]]
1.9       schmonz    37: is the ability to edit via CVS directly, as well as via the web.
                     38: As long as every wiki editor is a developer, controlling access
                     39: consistently is simple. In order to open up wiki editing to
                     40: non-developers, we have to think carefully about both the CVS case
                     41: and the web case.
1.3       wiki       42: 
                     43: In the short term, to start getting non-developers involved, I intend
                     44: to [[push wikisrc to anoncvs]] and
                     45: [[hook up wiki commits to www-changes@]].
                     47: In the long term, ikiwiki has a few ready-made web authentication
                     48: options (a locally managed user database, OpenID, and HTTP auth), and
                     49: if they don't suffice for some reason, it's easy enough to write an
                     50: auth plugin. The hard part is deciding the workflow: where is a
                     51: sensible place for non-developers to make their edits, and what is a
                     52: sensible way for developers to review and "bless" the changes? Two
                     53: ikiwiki-native possibilities are listed above.
                     55: Ideas welcome! Edit this page and add your comments. --[[schmonz]]
1.4       wiki       56: 
1.5       wiki       57: One idea (which needs to be considered by board@):
1.4       wiki       58: 
                     59: 7. Enable Discussion subpages.
                     60: 7. Mark very clearly on the Discussion page template that content may
                     61: have been written by anyone at all and has not been vetted by any
                     62: member of TNF.
1.6       wiki       63: 7. Enable the `anonok` plugin and set the `anonok_pagespec` to allow
                     64: anonymous editing of Discussion subpages (and of no other pages).
1.4       wiki       65: 
                     66: The resulting workflow:
                     68: 7. Non-developer finds a page to which to suggest changes.
1.9       schmonz    69: 7. Non-developer edits its Discussion subpage and writes the suggested
                     70: changes.
                     71: 7. Developer who follows [[RecentChanges]] (or the commit mails)
                     72: notices the changes.
                     73: 7. If the changes aren't acceptable, developer edits the Discussion
                     74: subpage and explains why not.
                     75: 7. If the changes are acceptable, developer applies them to the
                     76: page and removes them from the Discussion subpage.
                     78: > This can be work flow for a TNF contributed pages but as I said
                     79: > above this is not acceptable for as normal wiki workflow. We had
                     80: > almost similar discussion about comments on a blog software for
                     81: > NetBSD. There were developers who thought that there will be too
                     82: > many comments and we do not have man power to read/approve them
                     83: > all. After setting blog we have found that we have barely 1-2
                     84: > comments in every third article. I don;t thing that there will be
                     85: > too many real editors on our wiki from non-developers and therefore
                     86: > we need to make it easy not hard to do. --[[haad]]

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb