)]}'
{"specs/mitaka/approved/vendor-user-management-api.rst":[{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"0c22eb7c41aae477ca4b7d9a3f3a89226b660f4f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5a5ae5dd_28ae28e6","updated":"2016-02-08 11:32:19.000000000","message":"where will be described method to find user by name/email for addition?","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10526,"name":"Catherine Diep","email":"cdiep@us.ibm.com","username":"cdiep"},"change_message_id":"540d2c9e1d32e58314bfc2307290656b2633cfe5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5a5ae5dd_f2454c6e","in_reply_to":"5a5ae5dd_28ae28e6","updated":"2016-02-08 17:35:45.000000000","message":"The blueprint \u0026 spec do not go to the details of what public user identity should be used.  We can get guidance from DefCore on this.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":9312,"name":"Alexandre Levine","email":"alexandrelevine@gmail.com","username":"alevine"},"change_message_id":"cdda1273d749ebf773074f540bf5eb9253b3618e","unresolved":false,"context_lines":[{"line_number":17,"context_line":"needed to manage the users in a vendor.  "},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Proposed change"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Add new REST APIs to support the following:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_502f863e","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":15},"updated":"2016-02-08 14:17:25.000000000","message":"I think it makes sense to \u0027show\u0027 or \u0027get\u0027 user by ID as well.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":9312,"name":"Alexandre Levine","email":"alexandrelevine@gmail.com","username":"alevine"},"change_message_id":"d8d0200aa6024734709a1d1fef9b2225c824a8cc","unresolved":false,"context_lines":[{"line_number":17,"context_line":"needed to manage the users in a vendor.  "},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Proposed change"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Add new REST APIs to support the following:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_7eb84c2a","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":15},"in_reply_to":"5a5ae5dd_03df813a","updated":"2016-02-08 16:05:05.000000000","message":"Andrey is right. We don\u0027t need it.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":9312,"name":"Alexandre Levine","email":"alexandrelevine@gmail.com","username":"alevine"},"change_message_id":"d8d0200aa6024734709a1d1fef9b2225c824a8cc","unresolved":false,"context_lines":[{"line_number":17,"context_line":"needed to manage the users in a vendor.  "},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Proposed change"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Add new REST APIs to support the following:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_bee0042a","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":15},"in_reply_to":"5a5ae5dd_502f863e","updated":"2016-02-08 16:05:05.000000000","message":"Done","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"b9a771dcb788e5e5a96b84244ff2b213eacea3f7","unresolved":false,"context_lines":[{"line_number":17,"context_line":"needed to manage the users in a vendor.  "},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Proposed change"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Add new REST APIs to support the following:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_9b1c3f6b","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":15},"in_reply_to":"5a5ae5dd_502f863e","updated":"2016-02-08 14:26:14.000000000","message":"Will we use it in this functionality?","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":9312,"name":"Alexandre Levine","email":"alexandrelevine@gmail.com","username":"alevine"},"change_message_id":"d8d0200aa6024734709a1d1fef9b2225c824a8cc","unresolved":false,"context_lines":[{"line_number":17,"context_line":"needed to manage the users in a vendor.  "},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Proposed change"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Add new REST APIs to support the following:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_be99e4c5","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":15},"in_reply_to":"5a5ae5dd_9b1c3f6b","updated":"2016-02-08 16:05:05.000000000","message":"Done","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":9312,"name":"Alexandre Levine","email":"alexandrelevine@gmail.com","username":"alevine"},"change_message_id":"826cfcdfe1657d007d0d68805ff3cb86be0d815e","unresolved":false,"context_lines":[{"line_number":17,"context_line":"needed to manage the users in a vendor.  "},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Proposed change"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Add new REST APIs to support the following:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_03df813a","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":15},"in_reply_to":"5a5ae5dd_9b1c3f6b","updated":"2016-02-08 15:56:23.000000000","message":"If I need to get user\u0027s info by id how else would I do it? I guess get request with users/id will do.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"0c22eb7c41aae477ca4b7d9a3f3a89226b660f4f","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* List users in vendor"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"  Only foundation admins or admins in this vendor can request to get a list of"},{"line_number":28,"context_line":"  the users belong to this vendor."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"* Add user to vendor"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_adcd4a32","line":27,"range":{"start_line":27,"start_character":7,"end_line":27,"end_character":24},"updated":"2016-02-08 11:32:19.000000000","message":"do we really need foundation admins here?","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":9312,"name":"Alexandre Levine","email":"alexandrelevine@gmail.com","username":"alevine"},"change_message_id":"826cfcdfe1657d007d0d68805ff3cb86be0d815e","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* List users in vendor"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"  Only foundation admins or admins in this vendor can request to get a list of"},{"line_number":28,"context_line":"  the users belong to this vendor."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"* Add user to vendor"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_c3cc098b","line":27,"range":{"start_line":27,"start_character":7,"end_line":27,"end_character":24},"in_reply_to":"5a5ae5dd_5b02470b","updated":"2016-02-08 15:56:23.000000000","message":"Yes we do. Foundation admins should have access to everything. We won\u0027t show it if we don\u0027t want to but that\u0027s a different story.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":9312,"name":"Alexandre Levine","email":"alexandrelevine@gmail.com","username":"alevine"},"change_message_id":"cdda1273d749ebf773074f540bf5eb9253b3618e","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* List users in vendor"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"  Only foundation admins or admins in this vendor can request to get a list of"},{"line_number":28,"context_line":"  the users belong to this vendor."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"* Add user to vendor"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_f0c23284","line":27,"range":{"start_line":27,"start_character":7,"end_line":27,"end_character":24},"in_reply_to":"5a5ae5dd_adcd4a32","updated":"2016-02-08 14:17:25.000000000","message":"I rather agree. The statements are true but rather redundant - foundation admins have all rights, so they can see and do everything by default","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"b9a771dcb788e5e5a96b84244ff2b213eacea3f7","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* List users in vendor"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"  Only foundation admins or admins in this vendor can request to get a list of"},{"line_number":28,"context_line":"  the users belong to this vendor."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"* Add user to vendor"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_5b02470b","line":27,"range":{"start_line":27,"start_character":7,"end_line":27,"end_character":24},"in_reply_to":"5a5ae5dd_f0c23284","updated":"2016-02-08 14:26:14.000000000","message":"I mean - do we need management of private vendors by foundation admins?","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"07420fe1c679a1a42599886512bb4b8e7e42fb84","unresolved":false,"context_lines":[{"line_number":27,"context_line":"  Only foundation admins or admins in this vendor can request to get a list of"},{"line_number":28,"context_line":"  the users belong to this vendor."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"* Add user to vendor"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  Only foundation admins or admins in this vendor can add a user to a vendor."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a57f1b5_3425d1aa","line":30,"updated":"2016-02-10 13:18:02.000000000","message":"one more thought - only official vendors and foundation groups can be modified.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"0c22eb7c41aae477ca4b7d9a3f3a89226b660f4f","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"* Add user to vendor"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  Only foundation admins or admins in this vendor can add a user to a vendor."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"* Remove user from vendor"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_2ddabae8","line":32,"range":{"start_line":32,"start_character":7,"end_line":32,"end_character":24},"updated":"2016-02-08 11:32:19.000000000","message":"and here?","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"0c22eb7c41aae477ca4b7d9a3f3a89226b660f4f","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"* Remove user from vendor"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  Only foundation admins or admins in this vendor can remove a user from a"},{"line_number":37,"context_line":"  vendor.  In addition, a user can remove himself/herself from a vendor."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_8df16e6d","line":36,"range":{"start_line":36,"start_character":7,"end_line":36,"end_character":24},"updated":"2016-02-08 11:32:19.000000000","message":"and here?","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"0c22eb7c41aae477ca4b7d9a3f3a89226b660f4f","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"  * Bad Request (400)"},{"line_number":73,"context_line":"  * Unauthorized (401)"},{"line_number":74,"context_line":"  * Not found (404)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"* Request parameters:"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_8dbf2e60","line":74,"range":{"start_line":74,"start_character":4,"end_line":74,"end_character":19},"updated":"2016-02-08 11:32:19.000000000","message":"in what case we can return 404?","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"71ed54aa8b3b8a8d59d1815e464a2be1c3893de0","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"  * Bad Request (400)"},{"line_number":73,"context_line":"  * Unauthorized (401)"},{"line_number":74,"context_line":"  * Not found (404)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"* Request parameters:"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_9a2aaf2b","line":74,"range":{"start_line":74,"start_character":4,"end_line":74,"end_character":19},"in_reply_to":"5a5ae5dd_1207c882","updated":"2016-02-09 16:16:57.000000000","message":"Done","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10526,"name":"Catherine Diep","email":"cdiep@us.ibm.com","username":"cdiep"},"change_message_id":"540d2c9e1d32e58314bfc2307290656b2633cfe5","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"  * Bad Request (400)"},{"line_number":73,"context_line":"  * Unauthorized (401)"},{"line_number":74,"context_line":"  * Not found (404)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"* Request parameters:"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_1207c882","line":74,"range":{"start_line":74,"start_character":4,"end_line":74,"end_character":19},"in_reply_to":"5a5ae5dd_8dbf2e60","updated":"2016-02-08 17:35:45.000000000","message":"One of the case that Not found (404)can be used is when RefStack can not find the vendor_id.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"0c22eb7c41aae477ca4b7d9a3f3a89226b660f4f","unresolved":false,"context_lines":[{"line_number":97,"context_line":"      \"user\": {"},{"line_number":98,"context_line":"         \"name\" : \"Jane Roe\","},{"line_number":99,"context_line":"         \"email\" : \"jane_roe@compay2\""},{"line_number":100,"context_line":"      },"},{"line_number":101,"context_line":"       ......"},{"line_number":102,"context_line":"   }"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_ed526234","line":100,"updated":"2016-02-08 11:32:19.000000000","message":"openid must be here too.\nwe need it to pass it to delete method. \nbecause only openid identifies user.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":9626,"name":"Paul Van Eck","email":"pvaneck@us.ibm.com","username":"pvaneck"},"change_message_id":"0d4a445323b71039a74ea5820f174576f1158a55","unresolved":false,"context_lines":[{"line_number":97,"context_line":"      \"user\": {"},{"line_number":98,"context_line":"         \"name\" : \"Jane Roe\","},{"line_number":99,"context_line":"         \"email\" : \"jane_roe@compay2\""},{"line_number":100,"context_line":"      },"},{"line_number":101,"context_line":"       ......"},{"line_number":102,"context_line":"   }"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a57f1b5_521e4c64","line":100,"in_reply_to":"3a57f1b5_91c5c95c","updated":"2016-02-10 18:16:01.000000000","message":"I think as long we don\u0027t require users to explicitly type in someone\u0027s openstackid, it is fine. As such, I do like having that search textbox where users can input names or emails so that we can actually get and store the openid in our associations.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"cccb11b64d3b0bb4b0d1e9555562f82c210403d7","unresolved":false,"context_lines":[{"line_number":97,"context_line":"      \"user\": {"},{"line_number":98,"context_line":"         \"name\" : \"Jane Roe\","},{"line_number":99,"context_line":"         \"email\" : \"jane_roe@compay2\""},{"line_number":100,"context_line":"      },"},{"line_number":101,"context_line":"       ......"},{"line_number":102,"context_line":"   }"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a57f1b5_91c5c95c","line":100,"in_reply_to":"3a57f1b5_c55706c9","updated":"2016-02-10 06:02:09.000000000","message":"Sean\u0027s link is correct but Sean doesn\u0027t open any information.\nIncorrect link will show \u0027OpenstackId Idp 404\u0027.\n\nI wrote about \u0027find_users\u0027 function in rest api -\nLike gerrit system I made search textbox - search by start of fullname or email. and function returns list of found users with their openID.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10526,"name":"Catherine Diep","email":"cdiep@us.ibm.com","username":"cdiep"},"change_message_id":"4995c6cd9527b30b2555e5b45f3d5167394a3dea","unresolved":false,"context_lines":[{"line_number":97,"context_line":"      \"user\": {"},{"line_number":98,"context_line":"         \"name\" : \"Jane Roe\","},{"line_number":99,"context_line":"         \"email\" : \"jane_roe@compay2\""},{"line_number":100,"context_line":"      },"},{"line_number":101,"context_line":"       ......"},{"line_number":102,"context_line":"   }"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a57f1b5_c55706c9","line":100,"in_reply_to":"5a5ae5dd_3a25bbc1","updated":"2016-02-10 00:45:46.000000000","message":"I can see your page (displaying your name) but I can not see Sean\u0027s page.  I think Sean\u0027s link is not correct.  Can you guess what my OpenID is?\n\nI still do not see how we can get the OpenID.  Only the owner know what the OpenID is.\n\nBy using a combination of email\u0026name or just email, RefStack can check the user table and get the OpenID.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"71ed54aa8b3b8a8d59d1815e464a2be1c3893de0","unresolved":false,"context_lines":[{"line_number":97,"context_line":"      \"user\": {"},{"line_number":98,"context_line":"         \"name\" : \"Jane Roe\","},{"line_number":99,"context_line":"         \"email\" : \"jane_roe@compay2\""},{"line_number":100,"context_line":"      },"},{"line_number":101,"context_line":"       ......"},{"line_number":102,"context_line":"   }"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_3a25bbc1","line":100,"in_reply_to":"5a5ae5dd_b21ef409","updated":"2016-02-09 16:16:57.000000000","message":"I think that it is a public information. because it\u0027s \u0027open id\u0027.\nFor example you can see my page\nhttps://openstackid.org/andrey.pavlov.1\nor page of any another user -\nhttps://openstackid.org/sean.dague\n\nbut in any case - all these functions will return information only for vendors\u0027 admins. and user must be logged in in this case.\n\nbut I think that OpenID is a open information.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10526,"name":"Catherine Diep","email":"cdiep@us.ibm.com","username":"cdiep"},"change_message_id":"540d2c9e1d32e58314bfc2307290656b2633cfe5","unresolved":false,"context_lines":[{"line_number":97,"context_line":"      \"user\": {"},{"line_number":98,"context_line":"         \"name\" : \"Jane Roe\","},{"line_number":99,"context_line":"         \"email\" : \"jane_roe@compay2\""},{"line_number":100,"context_line":"      },"},{"line_number":101,"context_line":"       ......"},{"line_number":102,"context_line":"   }"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_b21ef409","line":100,"in_reply_to":"5a5ae5dd_ed526234","updated":"2016-02-08 17:35:45.000000000","message":"My concern is whether OpenID is a public ID that anyone can get to? Or would it be an ID (URL) that can only be obtained after a user log-in?","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"0c22eb7c41aae477ca4b7d9a3f3a89226b660f4f","unresolved":false,"context_lines":[{"line_number":125,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to add user.            |"},{"line_number":126,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"* JSON schema definition for the body data:"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"  .. parsed-literal::"},{"line_number":131,"context_line":"   {"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_c833d4f4","line":128,"updated":"2016-02-08 11:32:19.000000000","message":"name and email don\u0027t identify user - only openid can do it.\n\nSo I suggest to pass vendor_id and openid in request parameters. (it\u0027s simplier than in body)","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10526,"name":"Catherine Diep","email":"cdiep@us.ibm.com","username":"cdiep"},"change_message_id":"540d2c9e1d32e58314bfc2307290656b2633cfe5","unresolved":false,"context_lines":[{"line_number":125,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to add user.            |"},{"line_number":126,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"* JSON schema definition for the body data:"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"  .. parsed-literal::"},{"line_number":131,"context_line":"   {"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_1277c8a0","line":128,"in_reply_to":"5a5ae5dd_70bc02bb","updated":"2016-02-08 17:35:45.000000000","message":"My concern is I am not sure a third person can get the OpenStack OpenID of a user.  \n\nBy providing the combination of name and email, RefStack can get the OpenID from the RefStack user table.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":9312,"name":"Alexandre Levine","email":"alexandrelevine@gmail.com","username":"alevine"},"change_message_id":"cdda1273d749ebf773074f540bf5eb9253b3618e","unresolved":false,"context_lines":[{"line_number":125,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to add user.            |"},{"line_number":126,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"* JSON schema definition for the body data:"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"  .. parsed-literal::"},{"line_number":131,"context_line":"   {"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_70bc02bb","line":128,"in_reply_to":"5a5ae5dd_c833d4f4","updated":"2016-02-08 14:17:25.000000000","message":"I agree. User should be addressed by ID everywhere, except for filter in list or find operation if we decide to implement it.","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"0c22eb7c41aae477ca4b7d9a3f3a89226b660f4f","unresolved":false,"context_lines":[{"line_number":163,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to remove user.         |"},{"line_number":164,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"* JSON schema definition for the body data:"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"  .. parsed-literal::"},{"line_number":169,"context_line":"   {"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a5ae5dd_28406833","line":166,"updated":"2016-02-08 11:32:19.000000000","message":"same as for addition","commit_id":"c590ac536fa7645e2d4c7d22a1c5ea351191dfcc"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"3688aac52c81ac66174f9c015ccf0919f3e389d7","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":81,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to retrieve user list.  |"},{"line_number":82,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":83,"context_line":"  | name          | query | xsd:string   | Filter the response by user name. |"},{"line_number":84,"context_line":"  | (optional)    |       |              |                                   |"},{"line_number":85,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_13551a1c","line":83,"range":{"start_line":83,"start_character":4,"end_line":83,"end_character":8},"updated":"2016-02-11 08:23:56.000000000","message":"is name needed here?\nI mean how it should work?\nfilters by exact string with case sensitive? or case insensitive? only by fullname? or by email too?\n\nand if we will return only one user by vendor and name - it will be same as \u0027find_user\u0027 in user contoller - without vendor_id. because vendor_id is redundant for searching for user.","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10526,"name":"Catherine Diep","email":"cdiep@us.ibm.com","username":"cdiep"},"change_message_id":"4e2e29c5f0f5d8801e715993372f3f704c04e5bc","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":81,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to retrieve user list.  |"},{"line_number":82,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":83,"context_line":"  | name          | query | xsd:string   | Filter the response by user name. |"},{"line_number":84,"context_line":"  | (optional)    |       |              |                                   |"},{"line_number":85,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_a32db4a9","line":83,"range":{"start_line":83,"start_character":4,"end_line":83,"end_character":8},"in_reply_to":"3a57f1b5_13551a1c","updated":"2016-02-11 22:11:57.000000000","message":"I think it would be a very nice feature to have ...\n\nThis should work like what it does when you search for user(s) in https://www.openstack.org/community/members/.  Please take a look at the search feature at this site.\n\nThe search is not case sensitive, will match any names (first, last, middle, ..).  And it is for the name field only not email.","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"e91cb3d9b7bc27a42f2c69a07047867f1db88367","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":81,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to retrieve user list.  |"},{"line_number":82,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":83,"context_line":"  | name          | query | xsd:string   | Filter the response by user name. |"},{"line_number":84,"context_line":"  | (optional)    |       |              |                                   |"},{"line_number":85,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_5f8257c9","line":83,"range":{"start_line":83,"start_character":4,"end_line":83,"end_character":8},"in_reply_to":"3a57f1b5_360b0790","updated":"2016-02-12 18:08:34.000000000","message":"This search (in openstack.org) is used for search through all users. But here it is a search through users in vendor\u0027s group only.\n\nI agree that we need REST method for search through all users by name/email - I mentioned method \u0027find_users\u0027 in first patch.\nAnd I agree that full search is useful.","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10526,"name":"Catherine Diep","email":"cdiep@us.ibm.com","username":"cdiep"},"change_message_id":"0bd4321fbdc65f141250bd5406ab1cf978f6b563","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":81,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to retrieve user list.  |"},{"line_number":82,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":83,"context_line":"  | name          | query | xsd:string   | Filter the response by user name. |"},{"line_number":84,"context_line":"  | (optional)    |       |              |                                   |"},{"line_number":85,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_360b0790","line":83,"range":{"start_line":83,"start_character":4,"end_line":83,"end_character":8},"in_reply_to":"3a57f1b5_37448548","updated":"2016-02-12 17:34:07.000000000","message":"What I meant is the search will be done on the fullname field, but the search entry can be any string (full name, only first name or last name, even partial name ..)\n\nDo you think the search as implemented in https://www.openstack.org/community/members not useful?","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"035e76311e28dd9ce6cc2e2893873fc15bdf1fc6","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":81,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to retrieve user list.  |"},{"line_number":82,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":83,"context_line":"  | name          | query | xsd:string   | Filter the response by user name. |"},{"line_number":84,"context_line":"  | (optional)    |       |              |                                   |"},{"line_number":85,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_37448548","line":83,"range":{"start_line":83,"start_character":4,"end_line":83,"end_character":8},"in_reply_to":"3a57f1b5_a32db4a9","updated":"2016-02-12 06:34:44.000000000","message":"it will be not so useful as I think.\nand we have only one field - fullname...","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10526,"name":"Catherine Diep","email":"cdiep@us.ibm.com","username":"cdiep"},"change_message_id":"4e2e29c5f0f5d8801e715993372f3f704c04e5bc","unresolved":false,"context_lines":[{"line_number":98,"context_line":"      \"user\": {"},{"line_number":99,"context_line":"         \"name\" : \"Jane Roe\","},{"line_number":100,"context_line":"         \"email\" : \"jane_roe@compay2\","},{"line_number":101,"context_line":"         \"openid\" : \"https://openstackid.org/jane.roe\""},{"line_number":102,"context_line":"      },"},{"line_number":103,"context_line":"       ......"},{"line_number":104,"context_line":"   }"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_ae491b62","line":101,"range":{"start_line":101,"start_character":2,"end_line":101,"end_character":54},"updated":"2016-02-11 22:11:57.000000000","message":"I am still not convinced that this OpenID is public information and can be fetched by anyone (except for one\u0027s own OpenID). Of course, you can sometime guess what it is.  Therefore I do not think that it should be displayed here.  I know we have discussed about this.  But, I really think we should be very careful with user information.  The only reason why RefStack has such data is because the user had logged into RefStack previously.","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"e91cb3d9b7bc27a42f2c69a07047867f1db88367","unresolved":false,"context_lines":[{"line_number":98,"context_line":"      \"user\": {"},{"line_number":99,"context_line":"         \"name\" : \"Jane Roe\","},{"line_number":100,"context_line":"         \"email\" : \"jane_roe@compay2\","},{"line_number":101,"context_line":"         \"openid\" : \"https://openstackid.org/jane.roe\""},{"line_number":102,"context_line":"      },"},{"line_number":103,"context_line":"       ......"},{"line_number":104,"context_line":"   }"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_6208da28","line":101,"range":{"start_line":101,"start_character":2,"end_line":101,"end_character":54},"in_reply_to":"3a57f1b5_5c402507","updated":"2016-02-12 18:08:34.000000000","message":"but I don\u0027t see any objections in this phrase. :)","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10526,"name":"Catherine Diep","email":"cdiep@us.ibm.com","username":"cdiep"},"change_message_id":"fff92f4a9d7e658ad57fa1805ea997a24a248d59","unresolved":false,"context_lines":[{"line_number":98,"context_line":"      \"user\": {"},{"line_number":99,"context_line":"         \"name\" : \"Jane Roe\","},{"line_number":100,"context_line":"         \"email\" : \"jane_roe@compay2\","},{"line_number":101,"context_line":"         \"openid\" : \"https://openstackid.org/jane.roe\""},{"line_number":102,"context_line":"      },"},{"line_number":103,"context_line":"       ......"},{"line_number":104,"context_line":"   }"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_850ba023","line":101,"range":{"start_line":101,"start_character":2,"end_line":101,"end_character":54},"in_reply_to":"3a57f1b5_6208da28","updated":"2016-02-12 18:26:28.000000000","message":"That means that the link is only provided after authenticating ... so is it public or private data?","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"4a9d1fcfbddfd4038483faceb3a5b80830563cd1","unresolved":false,"context_lines":[{"line_number":98,"context_line":"      \"user\": {"},{"line_number":99,"context_line":"         \"name\" : \"Jane Roe\","},{"line_number":100,"context_line":"         \"email\" : \"jane_roe@compay2\","},{"line_number":101,"context_line":"         \"openid\" : \"https://openstackid.org/jane.roe\""},{"line_number":102,"context_line":"      },"},{"line_number":103,"context_line":"       ......"},{"line_number":104,"context_line":"   }"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_45d048f6","line":101,"range":{"start_line":101,"start_character":2,"end_line":101,"end_character":54},"in_reply_to":"3a57f1b5_850ba023","updated":"2016-02-12 18:37:16.000000000","message":"yes. claimed_id exists only for authenticated users. and next phrase says to us that it may be used as a user-visible identifier. And I can conclude that this claimed_id is a public information.","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"035e76311e28dd9ce6cc2e2893873fc15bdf1fc6","unresolved":false,"context_lines":[{"line_number":98,"context_line":"      \"user\": {"},{"line_number":99,"context_line":"         \"name\" : \"Jane Roe\","},{"line_number":100,"context_line":"         \"email\" : \"jane_roe@compay2\","},{"line_number":101,"context_line":"         \"openid\" : \"https://openstackid.org/jane.roe\""},{"line_number":102,"context_line":"      },"},{"line_number":103,"context_line":"       ......"},{"line_number":104,"context_line":"   }"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_d7541100","line":101,"range":{"start_line":101,"start_character":2,"end_line":101,"end_character":54},"in_reply_to":"3a57f1b5_ae491b62","updated":"2016-02-12 06:34:44.000000000","message":"The Claimed Identifier MAY be used as a user-visible Identifier.\n\nfrom\nhttps://openid.net/specs/openid-authentication-2_0.html#identifying","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10526,"name":"Catherine Diep","email":"cdiep@us.ibm.com","username":"cdiep"},"change_message_id":"0bd4321fbdc65f141250bd5406ab1cf978f6b563","unresolved":false,"context_lines":[{"line_number":98,"context_line":"      \"user\": {"},{"line_number":99,"context_line":"         \"name\" : \"Jane Roe\","},{"line_number":100,"context_line":"         \"email\" : \"jane_roe@compay2\","},{"line_number":101,"context_line":"         \"openid\" : \"https://openstackid.org/jane.roe\""},{"line_number":102,"context_line":"      },"},{"line_number":103,"context_line":"       ......"},{"line_number":104,"context_line":"   }"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_5c402507","line":101,"range":{"start_line":101,"start_character":2,"end_line":101,"end_character":54},"in_reply_to":"3a57f1b5_d7541100","updated":"2016-02-12 17:34:07.000000000","message":"Sure, I agreed \n\n\"the Claimed Identifier May be used as a user-visible Identifier\". \n\nThe key is the sentence before that :\n\nThe Claimed Identifier in a SUCCESSFUL AUTHENTICATION response .....","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"3688aac52c81ac66174f9c015ccf0919f3e389d7","unresolved":false,"context_lines":[{"line_number":126,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":127,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to add user.            |"},{"line_number":128,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":129,"context_line":"  | user_openid   | URI   | csapi:UUID   | User\u0027s OpenStack OpenID           |"},{"line_number":130,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"* JSON schema definition for the body data: N/A"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_36c6049b","line":129,"range":{"start_line":129,"start_character":28,"end_line":129,"end_character":38},"updated":"2016-02-11 08:23:56.000000000","message":"xsd:string","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"b05871e7c472059f6744f0a7272398e59563c7d5","unresolved":false,"context_lines":[{"line_number":126,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":127,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to add user.            |"},{"line_number":128,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":129,"context_line":"  | user_openid   | URI   | csapi:UUID   | User\u0027s OpenStack OpenID           |"},{"line_number":130,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"* JSON schema definition for the body data: N/A"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_852772b5","line":129,"range":{"start_line":129,"start_character":28,"end_line":129,"end_character":38},"in_reply_to":"3a57f1b5_36c6049b","updated":"2016-02-11 13:00:32.000000000","message":"there is another problem here - openID with slashes can not be sent in URI and parsed by pecan.\n\nso we have several options -\n1) encode openid to base64 and send it in URI.\n2) move openid to query where it can be escaped\n3) move it to body\n\nI prefer first variant.","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10526,"name":"Catherine Diep","email":"cdiep@us.ibm.com","username":"cdiep"},"change_message_id":"4e2e29c5f0f5d8801e715993372f3f704c04e5bc","unresolved":false,"context_lines":[{"line_number":126,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":127,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to add user.            |"},{"line_number":128,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":129,"context_line":"  | user_openid   | URI   | csapi:UUID   | User\u0027s OpenStack OpenID           |"},{"line_number":130,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"* JSON schema definition for the body data: N/A"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_e0fe37ad","line":129,"range":{"start_line":129,"start_character":28,"end_line":129,"end_character":38},"in_reply_to":"3a57f1b5_852772b5","updated":"2016-02-11 22:11:57.000000000","message":"option 1 looks good to me too.","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"3688aac52c81ac66174f9c015ccf0919f3e389d7","unresolved":false,"context_lines":[{"line_number":157,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":158,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to remove user.         |"},{"line_number":159,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":160,"context_line":"  | user_openid   | URI   | csapi:UUID   | User\u0027s OpenStack OpenID           |"},{"line_number":161,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"* JSON schema definition for the body data: N/A"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_d63bf09a","line":160,"range":{"start_line":160,"start_character":28,"end_line":160,"end_character":38},"updated":"2016-02-11 08:23:56.000000000","message":"xsd:string","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10526,"name":"Catherine Diep","email":"cdiep@us.ibm.com","username":"cdiep"},"change_message_id":"4e2e29c5f0f5d8801e715993372f3f704c04e5bc","unresolved":false,"context_lines":[{"line_number":157,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":158,"context_line":"  | vendor_id     | URI   | csapi:UUID   | Vendor ID to remove user.         |"},{"line_number":159,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":160,"context_line":"  | user_openid   | URI   | csapi:UUID   | User\u0027s OpenStack OpenID           |"},{"line_number":161,"context_line":"  +---------------+-------+--------------+-----------------------------------+"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"* JSON schema definition for the body data: N/A"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_6029e736","line":160,"range":{"start_line":160,"start_character":28,"end_line":160,"end_character":38},"in_reply_to":"3a57f1b5_d63bf09a","updated":"2016-02-11 22:11:57.000000000","message":"Oops!  Thanks!","commit_id":"a17cd500f68fda01f8bec6f3e56eb617b710d5d1"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"77c43f6f7740612dd2b8ad7f87b8a4a07b4899e0","unresolved":false,"context_lines":[{"line_number":98,"context_line":"   {"},{"line_number":99,"context_line":"      \"users\": ["},{"line_number":100,"context_line":"         {"},{"line_number":101,"context_line":"            \"name\" : \"John Doe\","},{"line_number":102,"context_line":"            \"email\" : \"john_doe@compay1\","},{"line_number":103,"context_line":"            \"openid\" : \"https://openstackid.org/john.doe\""},{"line_number":104,"context_line":"         },"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bae84128_886849f7","line":101,"range":{"start_line":101,"start_character":13,"end_line":101,"end_character":17},"updated":"2016-02-20 07:24:48.000000000","message":"maybe \u0027fullname\u0027 as we have in DB?\n(not to confuse developers)","commit_id":"707fa9af3c89eb4c672cdc81bc3bf6a16d5041a0"},{"author":{"_account_id":10526,"name":"Catherine Diep","email":"cdiep@us.ibm.com","username":"cdiep"},"change_message_id":"98cd9474b91758b3637791175394c95f6540c9ce","unresolved":false,"context_lines":[{"line_number":98,"context_line":"   {"},{"line_number":99,"context_line":"      \"users\": ["},{"line_number":100,"context_line":"         {"},{"line_number":101,"context_line":"            \"name\" : \"John Doe\","},{"line_number":102,"context_line":"            \"email\" : \"john_doe@compay1\","},{"line_number":103,"context_line":"            \"openid\" : \"https://openstackid.org/john.doe\""},{"line_number":104,"context_line":"         },"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bae84128_25ff7f68","line":101,"range":{"start_line":101,"start_character":13,"end_line":101,"end_character":17},"in_reply_to":"bae84128_886849f7","updated":"2016-02-22 06:15:06.000000000","message":"Done.","commit_id":"707fa9af3c89eb4c672cdc81bc3bf6a16d5041a0"}]}
