)]}'
{"doc/source/extension_development.rst":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2e320e43980ddc05ca252e36b0478acb2b86d01c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  structure convention::"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"      keystone/contrib/"},{"line_number":33,"context_line":"      └── my_extension"},{"line_number":34,"context_line":"          ├── backends (optional)"},{"line_number":35,"context_line":"          │   ├── __init__.py (mandatory)"},{"line_number":36,"context_line":"          │   └── sql.py (optional)"}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAAUH%2F%2FPWU%3D","line":33,"updated":"2014-01-16 01:16:20.000000000","message":"I don\u0027t even have these button on my keyboard.","commit_id":"b6e163168313989393c5ed64c409be9d870881b0"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"a88ac83d3fa404372be0db745895722626a46b32","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  structure convention::"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"      keystone/contrib/"},{"line_number":33,"context_line":"      └── my_extension"},{"line_number":34,"context_line":"          ├── backends (optional)"},{"line_number":35,"context_line":"          │   ├── __init__.py (mandatory)"},{"line_number":36,"context_line":"          │   └── sql.py (optional)"}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAAUH%2F%2B%2FQ8%3D","line":33,"in_reply_to":"AAAAUH%2F%2FPWU%3D","updated":"2014-01-20 01:43:32.000000000","message":"Elite ascii stuffs!","commit_id":"b6e163168313989393c5ed64c409be9d870881b0"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"a88ac83d3fa404372be0db745895722626a46b32","unresolved":false,"context_lines":[{"line_number":42,"context_line":"          │       ├── 001_create_tables.py (mandatory)"},{"line_number":43,"context_line":"          │       └── __init__.py (mandatory)"},{"line_number":44,"context_line":"          ├── __init__.py (mandatory)"},{"line_number":45,"context_line":"          ├── configuration.rst (mandatory)"},{"line_number":46,"context_line":"          ├── core.py (mandatory)"},{"line_number":47,"context_line":"          ├── controllers.py (mandatory for API Extension)"},{"line_number":48,"context_line":"          └── routers.py (mandatory for API Extension)"}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAAUH%2F%2B%2FQw%3D","line":45,"updated":"2014-01-20 01:43:32.000000000","message":"My comment from previous patchset in the chain abourt configuration.rst applies here more so (I didn\u0027t -1 the other patch).  Basically, configuration.rst should go in the doc directory and be linked into the main configuration doc, i don\u0027t think they get built if in contrib directory.","commit_id":"b6e163168313989393c5ed64c409be9d870881b0"}]}
