)]}'
{"guidelines/extensions.rst":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"3dcf556d4923545fbc5cfc90809fff36ae76c5c0","unresolved":false,"context_lines":[{"line_number":12,"context_line":"--------"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"API extensions, used to add custom functionality to single deployments of"},{"line_number":15,"context_line":"OpenStack, are not recommended for user-facing OpenStack APIs. If they are used"},{"line_number":16,"context_line":"they break interoperability between deployments."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"If a deployment requires custom behaviors over an HTTP API it should be"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f436f4f_620ebbe6","line":15,"range":{"start_line":15,"start_character":31,"end_line":15,"end_character":61},"updated":"2017-08-08 12:04:03.000000000","message":"I would drop these words. They are not recommended, period. And change the next sentence to be more subjunctive: \"If they were to be used, they would break...\"","commit_id":"bc8316cd588de4c57302e162ad128c55ece9525d"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"d2e192ea237eac8bae7a0a895753664671d5c124","unresolved":false,"context_lines":[{"line_number":12,"context_line":"--------"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"API extensions, used to add custom functionality to single deployments of"},{"line_number":15,"context_line":"OpenStack, are not recommended for user-facing OpenStack APIs. If they are used"},{"line_number":16,"context_line":"they break interoperability between deployments."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"If a deployment requires custom behaviors over an HTTP API it should be"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f436f4f_620d9b8f","line":15,"in_reply_to":"9f436f4f_620ebbe6","updated":"2017-08-08 12:15:47.000000000","message":"Done","commit_id":"bc8316cd588de4c57302e162ad128c55ece9525d"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"3dcf556d4923545fbc5cfc90809fff36ae76c5c0","unresolved":false,"context_lines":[{"line_number":16,"context_line":"they break interoperability between deployments."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"If a deployment requires custom behaviors over an HTTP API it should be"},{"line_number":19,"context_line":"implemented in a service separate from the existing OpenStack services."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Those projects that support different functionality based on the presence"},{"line_number":22,"context_line":"of drivers should strive to contain those differences to the values (not keys)"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f436f4f_6227db66","line":19,"updated":"2017-08-08 12:04:03.000000000","message":"I like that clear statement. Now how do we point them in a helpful direction in case they might want to do that?","commit_id":"bc8316cd588de4c57302e162ad128c55ece9525d"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"49f43321fa53438812ae4e88945093376c983d92","unresolved":false,"context_lines":[{"line_number":16,"context_line":"they break interoperability between deployments."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"If a deployment requires custom behaviors over an HTTP API it should be"},{"line_number":19,"context_line":"implemented in a service separate from the existing OpenStack services."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Those projects that support different functionality based on the presence"},{"line_number":22,"context_line":"of drivers should strive to contain those differences to the values (not keys)"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f436f4f_bfdc8c74","line":19,"in_reply_to":"9f436f4f_42605733","updated":"2017-08-09 17:55:33.000000000","message":"\"Here\u0027s how HTTP works\" or \"Writing your first Web App\".\n\n:)\n\nNo, I meant a pointer to adding to the service catalog.","commit_id":"bc8316cd588de4c57302e162ad128c55ece9525d"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"d2e192ea237eac8bae7a0a895753664671d5c124","unresolved":false,"context_lines":[{"line_number":16,"context_line":"they break interoperability between deployments."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"If a deployment requires custom behaviors over an HTTP API it should be"},{"line_number":19,"context_line":"implemented in a service separate from the existing OpenStack services."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Those projects that support different functionality based on the presence"},{"line_number":22,"context_line":"of drivers should strive to contain those differences to the values (not keys)"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f436f4f_42605733","line":19,"in_reply_to":"9f436f4f_6227db66","updated":"2017-08-08 12:15:47.000000000","message":"Is that something we want to do here? \"Go write a web service, using your tools of choice, have fun.\"\n\nOr are you thinking more in terms of \"adding a custom service to the openstack service catalog\" not \"how to write an http api\"?","commit_id":"bc8316cd588de4c57302e162ad128c55ece9525d"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"3dcf556d4923545fbc5cfc90809fff36ae76c5c0","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Those projects that support different functionality based on the presence"},{"line_number":22,"context_line":"of drivers should strive to contain those differences to the values (not keys)"},{"line_number":23,"context_line":"in representation objects. Having different URLs in a service, based on"},{"line_number":24,"context_line":"different drivers, would be bad for interoperability."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f436f4f_e21aab15","line":24,"range":{"start_line":24,"start_character":19,"end_line":24,"end_character":35},"updated":"2017-08-08 12:04:03.000000000","message":"breaks","commit_id":"bc8316cd588de4c57302e162ad128c55ece9525d"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"d2e192ea237eac8bae7a0a895753664671d5c124","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Those projects that support different functionality based on the presence"},{"line_number":22,"context_line":"of drivers should strive to contain those differences to the values (not keys)"},{"line_number":23,"context_line":"in representation objects. Having different URLs in a service, based on"},{"line_number":24,"context_line":"different drivers, would be bad for interoperability."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f436f4f_c21d67be","line":24,"in_reply_to":"9f436f4f_e21aab15","updated":"2017-08-08 12:15:47.000000000","message":"Done","commit_id":"bc8316cd588de4c57302e162ad128c55ece9525d"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"9f6debb27f672d4811ee99bd822304fcbed3c8b2","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Guidance"},{"line_number":12,"context_line":"--------"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"API extensions, used to add custom functionality to single deployments of"},{"line_number":15,"context_line":"OpenStack, are not recommended. If they were to be used, they would break"},{"line_number":16,"context_line":"interoperability between deployments."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"If a deployment requires custom behaviors over an HTTP API it should be"},{"line_number":19,"context_line":"implemented in a service separate from the existing OpenStack services."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f436f4f_8567884d","line":16,"range":{"start_line":14,"start_character":0,"end_line":16,"end_character":37},"updated":"2017-08-16 21:37:49.000000000","message":"API extensions are sometimes used to add custom functionality to single deployments of OpenStack. They are not recommended, because if when they are used, they break interoperability between that cloud and other OpenStack deployments.","commit_id":"7749705d162e04c0899df6d3e960f345a4d3a07d"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"857d498f7be71cfd4c4c90ba7914e60f8da5ddbb","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Guidance"},{"line_number":12,"context_line":"--------"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"API extensions, used to add custom functionality to single deployments of"},{"line_number":15,"context_line":"OpenStack, are not recommended. If they were to be used, they would break"},{"line_number":16,"context_line":"interoperability between deployments."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"If a deployment requires custom behaviors over an HTTP API it should be"},{"line_number":19,"context_line":"implemented in a service separate from the existing OpenStack services."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f436f4f_640810d9","line":16,"range":{"start_line":14,"start_character":0,"end_line":16,"end_character":37},"in_reply_to":"9f436f4f_8567884d","updated":"2017-08-17 16:40:48.000000000","message":"i think this is a little clearer way to restate the original, i like this direction.","commit_id":"7749705d162e04c0899df6d3e960f345a4d3a07d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0ef241de4360b2e78663b623565014bba34f495c","unresolved":false,"context_lines":[{"line_number":14,"context_line":"API extensions are sometimes used to add custom functionality to single"},{"line_number":15,"context_line":"deployments of OpenStack. They are not recommended, because when they are"},{"line_number":16,"context_line":"used, they break interoperability between that cloud and other OpenStack"},{"line_number":17,"context_line":"deployments."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"If a deployment requires custom behaviors over an HTTP API it should be"},{"line_number":20,"context_line":"implemented in a service separate from the existing OpenStack services."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f287b81_71a70ebe","line":17,"updated":"2017-09-07 17:10:25.000000000","message":"I agree with the direction in general, but honestly I think we cannot define this without defining means \"API extensions\".\n\nIn my understanding, \"API extensions\" in this context is used as a meaning that allows out-of-tree or third-party to extend some service in their own way. \"capabilities\" defines what set of features defined in some API. IMHO It is better to clarify the differences.","commit_id":"090ee277c20feab6b63506251dc939a57e9920e9"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5aaadd7e508b588ca7807aa714ec8cfcd3da0fc0","unresolved":false,"context_lines":[{"line_number":14,"context_line":"API extensions are sometimes used to add custom functionality to single"},{"line_number":15,"context_line":"deployments of OpenStack. They are not recommended, because when they are"},{"line_number":16,"context_line":"used, they break interoperability between that cloud and other OpenStack"},{"line_number":17,"context_line":"deployments."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"If a deployment requires custom behaviors over an HTTP API it should be"},{"line_number":20,"context_line":"implemented in a service separate from the existing OpenStack services."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f287b81_710a6e79","line":17,"in_reply_to":"7f287b81_71a70ebe","updated":"2017-09-07 17:12:33.000000000","message":"\u003e I agree with the direction in general, but honestly I think we cannot define this without defining means \"API extensions\".\n\n(during editing, I post an incomplete sentence)\n\nwhat I would like to write is:\n\n\u003e I think we cannot define this without defining what \"API extensions\" means.","commit_id":"090ee277c20feab6b63506251dc939a57e9920e9"}]}
