{"action":"created","issue":{"url":"https://api.github.com/repos/dunglas/DunglasApiBundle/issues/420","repository_url":"https://api.github.com/repos/dunglas/DunglasApiBundle","labels_url":"https://api.github.com/repos/dunglas/DunglasApiBundle/issues/420/labels{/name}","comments_url":"https://api.github.com/repos/dunglas/DunglasApiBundle/issues/420/comments","events_url":"https://api.github.com/repos/dunglas/DunglasApiBundle/issues/420/events","html_url":"https://github.com/dunglas/DunglasApiBundle/issues/420","id":135343459,"number":420,"title":"[RFC] v2 metadata - confusing naming of interfaces and classes","user":{"login":"teohhanhui","id":548843,"avatar_url":"https://avatars.githubusercontent.com/u/548843?v=3","gravatar_id":"","url":"https://api.github.com/users/teohhanhui","html_url":"https://github.com/teohhanhui","followers_url":"https://api.github.com/users/teohhanhui/followers","following_url":"https://api.github.com/users/teohhanhui/following{/other_user}","gists_url":"https://api.github.com/users/teohhanhui/gists{/gist_id}","starred_url":"https://api.github.com/users/teohhanhui/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teohhanhui/subscriptions","organizations_url":"https://api.github.com/users/teohhanhui/orgs","repos_url":"https://api.github.com/users/teohhanhui/repos","events_url":"https://api.github.com/users/teohhanhui/events{/privacy}","received_events_url":"https://api.github.com/users/teohhanhui/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2016-02-22T07:48:00Z","updated_at":"2016-03-03T10:18:31Z","closed_at":null,"body":"The new names do not convey the correct semantics (a case of over-correcting for succinctness?) and are therefore highly confusing.\r\n\r\nI propose the following changes:\r\n\r\n| Current                                                           | Proposed                                      |\r\n|-------------------------------------------------------------------|-----------------------------------------------|\r\n| ...\\Metadata\\Property\\CollectionMetadata                          | PropertyCollectionMetadata                    |\r\n| ...\\Metadata\\Property\\Factory\\CollectionMetadataFactoryInterface  | PropertyCollectionMetadataFactoryInterface    |\r\n| ...\\Metadata\\Property\\Factory\\ItemMetadataFactoryInterface        | PropertyMetadataFactoryInterface              |\r\n| ...\\Metadata\\Property\\ItemMetadata                                | PropertyMetadata                              |\r\n| ...\\Metadata\\Resource\\CollectionMetadata                          | ResourceCollectionMetadata                    |\r\n| ...\\Metadata\\Resource\\Factory\\CollectionMetadataFactoryInterface  | ResourceCollectionMetadataFactoryInterface    |\r\n| ...\\Metadata\\Resource\\Factory\\ItemMetadataFactoryInterface        | ResourceMetadataFactoryInterface              |\r\n| ...\\Metadata\\Resource\\ItemMetadata                                | ResourceMetadata                              |\r\n\r\n(and relevant changes of the same fashion elsewhere)\r\n\r\nAdditional proposal for naming implementation classes:\r\n\r\n| Current                                                               | Proposed                                      |\r\n|-----------------------------------------------------------------------|-----------------------------------------------|\r\n| ...\\Metadata\\Property\\Factory\\CollectionMetadataAnnotationFactory     | AnnotationPropertyCollectionMetadataFactory   |\r\n| ...\\Metadata\\Property\\Factory\\ItemMetadataAnnotationFactory           | AnnotationPropertyMetadataFactory             |\r\n| ...\\Metadata\\Property\\Factory\\ItemMetadataSerializerFactory           | SerializerPropertyMetadataFactory             |\r\n| ...\\Metadata\\Resource\\Factory\\CollectionMetadataAnnotationFactory     | AnnotationResourceCollectionMetadataFactory   |\r\n| ...\\Metadata\\Resource\\Factory\\ItemMetadataAnnotationFactory           | AnnotationResourceMetadataFactory             |\r\n| ...\\Metadata\\Resource\\Factory\\ItemMetadataOperationFactory            | OperationResourceMetadataFactory              |\r\n| ...\\Metadata\\Resource\\Factory\\ItemMetadataPhpDocFactory               | PhpDocResourceMetadataFactory                 |\r\n| ...\\Metadata\\Resource\\Factory\\ItemMetadataShortNameFactory            | ShortNameResourceMetadataFactory              |"},"comment":{"url":"https://api.github.com/repos/dunglas/DunglasApiBundle/issues/comments/191694267","html_url":"https://github.com/dunglas/DunglasApiBundle/issues/420#issuecomment-191694267","issue_url":"https://api.github.com/repos/dunglas/DunglasApiBundle/issues/420","id":191694267,"user":{"login":"teohhanhui","id":548843,"avatar_url":"https://avatars.githubusercontent.com/u/548843?v=3","gravatar_id":"","url":"https://api.github.com/users/teohhanhui","html_url":"https://github.com/teohhanhui","followers_url":"https://api.github.com/users/teohhanhui/followers","following_url":"https://api.github.com/users/teohhanhui/following{/other_user}","gists_url":"https://api.github.com/users/teohhanhui/gists{/gist_id}","starred_url":"https://api.github.com/users/teohhanhui/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teohhanhui/subscriptions","organizations_url":"https://api.github.com/users/teohhanhui/orgs","repos_url":"https://api.github.com/users/teohhanhui/repos","events_url":"https://api.github.com/users/teohhanhui/events{/privacy}","received_events_url":"https://api.github.com/users/teohhanhui/received_events","type":"User","site_admin":false},"created_at":"2016-03-03T10:18:31Z","updated_at":"2016-03-03T10:18:31Z","body":"There's still this discrepancy that bugs me with the new naming system...\r\n\r\n| Hydra                 | ApiPlatform           |\r\n|-----------------------|-----------------------|\r\n| Collection            | Resource              |\r\n| different Collections | ResourceCollection    |\r\n| resource              | item                  |"}}