-
Notifications
You must be signed in to change notification settings - Fork 130
Updating the Documentation
There are four classes of documentation for MisterHouse. This page defines these classes, the intended audience for each, and the process used to update that documentation. This page is a living document and will be updated frequently until the developer community reaches consensus regarding the best way to manage each of the document classes.
Below is a broad categorization of for classes of documentation available. Each of these has a unique purpose, audience, and unique content. The reason for separate classes is to:
- Separate true "developer" documentation from "user" documentation: This is to keep from over whelming new users with work in progress code discussions and modules. The current wiki is a mixture of these and it can be quite intimidating at times to understand where the user documentation stops and the developer documentation starts.
- Provide stable well controlled user documentation while supporting and encouraging community contributed documentation that may not be as accurate or current
- Provide in-application user documentation
- Make maintaining the documentation easy
This is the documentation currently at http://misterhouse.sourceforge.net (and redirected by http://misterhouse.net). This documentation is also included in the source; so you can point your browser at: http://localhost:8080/ia5/index.shtml to see it. This documentation is aimed at the new user for installation and writing the user's own code. For the most part this is not //developer// documentation. This is the projects //official// documentation and should be the most accurate / stable.
This documentation is embedded directly in the mh.ini and common code files. This documentation is accessed from the web interface when editing the MisterHouse ini file.
This is the documentation currently at http://misterhouse.wikispaces.com/. There are roughly three types of documentation here but users are free to add any documentation they like.
- User contributed documentation for user related tasks like how to enable some particular device
- User contributed corrections and special cases for the installation process. Hopefully as this type of information is collected by users, a developer will incorporated the changes in the official guides and then delete the wiki page.
- A smidgen of developer documentation
This is mostly POD comments in the code. David Norwood originally created a framework for adding this information into the core MisterHouse documentation. Other users have been adding POD to the existing files. There is a default MisterHouse trigger to generate the POD docs by running bin/update_docs. If that is running on your system you can see the docs here: http://localhost:8080/docs/objects.html, http://localhost:8080/docs/modules.html, http://localhost:8080/docs/items.html. In addition some of us have attempted to document various aspects of MisterHouse as we've discovered them. This documentation is in the wikispaces wiki and recently also in the Github wiki. Generally there isn't much of this type of documentation.
The user documentation is the most complex to maintain. This is because it is:
- Is made available both on the Internet and locally in every copy of MisterHouse
- Can only be updated by the core MisterHouse developers
- Github publishing docs Github docs and publish to SF (WIP)
The rules for maintaining this documentation is documented in Documentation Best Practices and is hard coded into the MisterHouse code.
User contributed documentation is maintained on the misterhouse.wikispaces.com wiki. Request a login on the MisterHouse mail list.
Developer documentation is currently fragmented between the Github wiki and misterhouse.wikispaces.com wiki. Anyone can request a login to update either, just ask on the MisterHouse mail list.