(1.2) Categorized modules directory, organized modules documentation

It has been a popular request that since our modules list was growing very very long, that we have some way to categorize and sort them. Not just for documentation, but just also in the source tree.

I’ve done this, as you can see here:

https://github.com/ansible/ansible/tree/devel/library

Your playbooks do not need to change, in fact, they should not, as currently
module names must still be unique regardless of where they are filed. In the future we may also allow things to be accessed by namespacing like (“cloud::ec2”) but right now that isn’t required or neccessary, nor will it ever be neccessary.

What this does, of course, is not only keep this directory organized, but allow us to categorize the module documentation.

I’ve done this already (and pushed it), but it will take CloudFlare a little while to refresh before the new module docs page is available.

By having this content categorized, we can now more easily take on a LOT of new modules, without worry that we have too many.

I think we’d also like to split the module documentation into seperate pages altogether (like a ‘packaging’ modules page linked from the main modules page), but that’s something we can do later. (Pull requests would be accepted!)

Documentation is now sorted at:

http://ansible.cc/docs/modules.html

Michael,

What this does, of course, is not only keep this directory organized, but
allow us to categorize the module documentation.

Hmm.

I've glanced at the result, and my EUR 0.00 is I don't like the result
(not that that matters). I find the module documentation page isn't
clearer (the browser's 'find in page' becomes important) nor is keeping
modules in subdirectories convenient (to devs) for finding them.

I understand peoples' wish for categorization of module docs, and as
such, a second module page with categories would have been my preferred
method.

Be that as it may, I've submitted a PR for ansible-doc which choked
slightly on the new subdirectory structure.

Regards,

        -JP

Hmm, I don’t think I understand the concern.

Not having the package managers all interlaced makes it immediately clear, for instance, what all of the modules are available, and what Ansible can do.

Before, I tended to have to know what I was looking for and the context switches kept me getting a bit lost.

One of the side effects was few people read the docs for “command”, “shell”, and “script”… so script was lost, people missed “group_by” and didn’t understand it, and so on,
or even missed things like the template module after first finding something like “lineinfile”.

I do agree the presentation could provide multiple ways of seeing things, though I think it should be done with a clever “raw” block in Sphinx and some upgraded navigation
to allow categorization and sorting versus two pages.

Patches would be welcome.

Thank you DeHaan for the organization.

Its still a long list vertically, I would posit that some columns
might help visually identifying from that long list.

I still tend to only use an in browser search on that page,
because its an awfully long bit of sorting to get anywhere useful.

Best,
Fletcher

Patches for alternative layouts would be considered.