Well, I like to start by looking at the existing system.
So from a quick analysis, the types of user notes we currently see are:

Comments to enhance the documentation: i.e. expanded code examples, use cases.

It's tough to come up with [most] all possible subcategories here but notes about tips and gotchas also come to mind.

Comments to correct the docs: fix typos, report changed behaviour

As you stated the online editor should help with this, as soon as we determine exactly how user contributions will work. It's currently able to link to specific pages (well, xml:ids) and allow additions to patch queues. Additional testing is needed though with a focus on resource usage because we can expect many people ending up here (many just curious and looking) and the online editor can be a resource hog.

Comments to correct/enhance previous user note(s)

One consideration is how we keep track of these referenced notes.

Comments with a link to article/blog post

One trouble we currently face is that some people (for various reasons) prefer to write "documentation" and post it on their blogs and then add a link within a manual comment. This is terrible. It _almost_ makes me want to add a disclaimer on the user notes page that says "If you post to your blog, in exchange we may steal the content and add it to the manual." ;) But at the same time it can be useful so usually we leave the links.

Comments asking for help

Which in my view breaks down to the following functionality:
Report errors:
    redirect to bug report (online editor later)?
Request help:
    redirect to a 'where to get help' page?
Comment:
    Auto tagged with the relevant PHP function/method?
    Optional 'code snippet' tag ?
    Optional 'hyperlink' tag ?

So I agree with you that the users seem to want a code snippets/tips/ etc repository. When you take out the error reports and help requests, a code snippets/tips/etc repository is left.

Not sure about using tags though, I don't quite see what your goal is with tags. It's cool and all that but what's the benefit, when comments are linked specifically to a doc on paragraph/section level? Or are you thinking of accessing comments through a separate interface as well, without needing to go through the doc pages? That could be interesting :)

If a comment is simply a code snippet then it's tagged (or categorized) as such and treated like a code snippet. How exactly we treat these different tags, like code snippets, I'm not exactly sure but simply knowing is half the battle. A user may select "show me the code snippets" and will then see them all. Or choose not to see them. And we only end up running the syntax highlighter on these particular notes.

And then there's the case of how difficult it can be for a user to find the correct place. If a snippet uses two string functions then how do they choose? Could we recycle and show the same (if it's considered good) snippet within two different manual pages? How would we easily track and categorize that? Same applies to every category of course.

Not sure how we'd end up tracking which notes belong to which paragraphs, a method that seamlessly understands when content is added, deleted, and changed. This is a possible deal breaker.

Voting, I agree would be very useful. It should be possible to vote down a comment also imo, let the negative votes of users tell us which comments might need attention. And the high scoring comments will hopefully be the most useful.

One consideration is tracking when one note directly refers to another, so we'd have some sort of loose threading. But yes, agreed that the idea here is allowing users to help with QA because currently the documentation team either deletes or edits notes but this task is overwhelming and near impossible.

Aha, I now understand how tags could be used. An excellent code snippet for PHP 5.3 for example could be irrelevant (unavailable) for PHP 5.2. It would be nice to filter comments by versions, and I guess if I think about it further I'll find other examples of useful tags...

Didn't think about version specific uses but that's a good idea. Granted we don't want someone to add 100 tags for every possible PHP version but for beginning minor versions it seems worthy.

Regards,
Philip

Reply via email to