[openstack-dev] [opinion-wanted] Clients man pages
Jakub Ruzicka
jruzicka at redhat.com
Wed May 22 12:07:18 UTC 2013
I concur.
In this scenario, question is what to start with. I'm not able to write
verbose descriptions for all the commands and options of all clients
with overarching narrative as I don't have much experience with them.
Not to mention time.
I'd like to start with *something* slightly useful on its own which
others can expand.
Jakub
On 22.5.2013 13:46, Sean Dague wrote:
> My experience is that you never get a good result trying to create man
> pages out of comments embedded in the code.
>
> The reason is pretty simple: the comments in the code are very narrow,
> and don't put that in the context of other options.
>
> But a good man page needs so overarching narrative, and relationship
> between options. When you see the content all together in one place, and
> are editing it in one place, you can see the level of disjointness. When
> someone is just adding content to their individual options this context
> doesn't exist.
>
> I'd suggest doing rst in doc/source like is being done with other
> projects. The sphinx rules can build man format easily enough.
>
> -Sean
>
> On 05/21/2013 03:23 PM, Dolph Mathews wrote:
>> I'd like to see more details provided through oslo.config (perhaps an
>> verbose_description kwarg for each option, or something similar?), so
>> that we can render that additional documentation to multiple formats
>> (man pages, openstack manuals, etc) beyond CLI --help.
>>
>>
>> -Dolph
>>
>>
>> On Tue, May 21, 2013 at 2:00 PM, Anne Gentle <anne at openstack.org
>> <mailto:anne at openstack.org>> wrote:
>>
>> Hi Jakub,
>> Thoughts below, thanks for sending.
>>
>>
>> On Tue, May 21, 2013 at 1:52 PM, Jakub Ruzicka <jruzicka at redhat.com
>> <mailto:jruzicka at redhat.com>> wrote:
>>
>> Hello,
>>
>> I plan to provide consistent man pages for all OpenStack clients
>> and I'd
>> love to see your opinion about few important details:
>>
>>
>> GENERATED VS MANUAL
>> ===================
>>
>> Although man pages can be generated the same way as help, a copy
>> of help
>> output doesn't bring any real value.
>>
>> Man page should provide something extra like:
>> * verbose descriptions of more complicated commands/options
>> * howto use the tool to solve common tasks
>> * examples of usage
>> * where to find more information
>>
>> Do you see any value in including the command list in man page
>> without
>> providing more detailed information than `$CLIENT help` does?
>>
>> Sure. More info is good as long as it is accurate (so maintained,
>> that's the tough part as you allude to).
>>
>>
>> FORMAT
>> ======
>>
>> man format is ugly and hard to maintain, man page should be
>> stored in
>> something saner like reStructuredText or AsciiDoc.
>>
>> Which format do you recommend?
>>
>>
>> I made an attempt a few releases ago to get nova man pages done in
>> RST. See
>> https://github.com/openstack/nova/tree/master/doc/source/man. Swift
>> did the same at
>> https://github.com/openstack/swift/tree/master/doc/manpages. You
>> could use those to see how rst could work for the clients. However I
>> don't believe these are accurate since they're not well-maintained.
>> So the format doesn't necessarily help with maintenance.
>>
>>
>> CONTENTS
>> ========
>>
>> I'd like to include few useful examples of most common use cases
>> for sure.
>>
>> Beyond that, there are basically 3 options:
>>
>> 1) Provide only basic information with bold
>> """
>> Run `$CLIENT help` to get available commands and their
>> descriptions.
>>
>> Run `$CLIENT help <command>` to get information about <command>.
>> """
>>
>> 2) Provide detailed information about selected
>> commands/features/tasks only.
>>
>> 3) Provide detailed information about all commands. As I don't
>> have so
>> much time on my hands, I'd start with `$CLIENT help` (pretty
>> much what
>> help2man outputs) and extend it over time with detailed
>> information.
>> I don't like this very much because:
>> * Will someone actually extend it?
>> * This would require maintenance and could easily go out of
>> sync.
>>
>> What should be in the man page?
>>
>>
>> BLUEPRINT
>> =========
>>
>> What is the best way to create a blueprint concerning multiple
>> components (all the clients) in LP?
>>
>>
>>
>> You could log a blueprint for openstack-manuals at
>> http://blueprints.launchpad.net/openstack-manuals since it's a
>> common doc consistency task. Not sure the doc team has resources to
>> spare this release as we have some blueprints that came up prior to
>> the Summit, but I'm happy to facilitate as needed.
>> Thanks,
>> Anne
>>
>>
>> Thanks in advance for your valuable input!
>>
>> Jakub Ruzicka
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> <mailto:OpenStack-dev at lists.openstack.org>
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> <mailto:OpenStack-dev at lists.openstack.org>
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>>
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>
>
More information about the OpenStack-dev
mailing list