# (1.2) Categorized modules directory, organized modules documentation

**URL:** <https://forum.ansible.com/t/1-2-categorized-modules-directory-organized-modules-documentation/12730>\
**Category:** Ansible Project\
**Created:** [April 28, 2013, 7:32pm UTC](https://forum.ansible.com/t/1-2-categorized-modules-directory-organized-modules-documentation/12730 "2013-04-28T19:32:38Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Michael\_DeHaan2](https://avatars.discourse-cdn.com/v4/letter/m/da6949/32.png) [@Michael\_DeHaan2](https://forum.ansible.com/u/Michael_DeHaan2)\
**Post date:** [April 28, 2013, 7:32pm UTC](https://forum.ansible.com/t/1-2-categorized-modules-directory-organized-modules-documentation/12730/1 "2013-04-28T19:32:38Z")

</div>

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](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!)

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [April 28, 2013, 7:55pm UTC](https://forum.ansible.com/t/1-2-categorized-modules-directory-organized-modules-documentation/12730/2 "2013-04-28T19:55:36Z")

</div>

Documentation is now sorted at:

[http://ansible.cc/docs/modules.html](http://ansible.cc/docs/modules.html)

---

<div class="post-metadata">

**Author:** ![jpmens1](https://avatars.discourse-cdn.com/v4/letter/j/e9c0ed/32.png) [@jpmens1](https://forum.ansible.com/u/jpmens1)\
**Post date:** [April 30, 2013, 7:21am UTC](https://forum.ansible.com/t/1-2-categorized-modules-directory-organized-modules-documentation/12730/3 "2013-04-30T07:21:22Z")

</div>

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,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-JP

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [April 30, 2013, 12:26pm UTC](https://forum.ansible.com/t/1-2-categorized-modules-directory-organized-modules-documentation/12730/4 "2013-04-30T12:26:58Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![fdavis](https://avatars.discourse-cdn.com/v4/letter/f/a698b9/32.png) [@fdavis](https://forum.ansible.com/u/fdavis)\
**Post date:** [May 2, 2013, 4:22am UTC](https://forum.ansible.com/t/1-2-categorized-modules-directory-organized-modules-documentation/12730/5 "2013-05-02T04:22:46Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan2](https://avatars.discourse-cdn.com/v4/letter/m/da6949/32.png) [@Michael\_DeHaan2](https://forum.ansible.com/u/Michael_DeHaan2)\
**Post date:** [May 2, 2013, 12:02pm UTC](https://forum.ansible.com/t/1-2-categorized-modules-directory-organized-modules-documentation/12730/6 "2013-05-02T12:02:12Z")

</div>

Patches for alternative layouts would be considered.
