{"action":"opened","issue":{"url":"https://api.github.com/repos/magento/community-features/issues/91","repository_url":"https://api.github.com/repos/magento/community-features","labels_url":"https://api.github.com/repos/magento/community-features/issues/91/labels{/name}","comments_url":"https://api.github.com/repos/magento/community-features/issues/91/comments","events_url":"https://api.github.com/repos/magento/community-features/issues/91/events","html_url":"https://github.com/magento/community-features/issues/91","id":363669726,"node_id":"MDU6SXNzdWUzNjM2Njk3MjY=","number":91,"title":"SitemapItem implements dto pattern inconsistent with the rest of the framework. ","user":{"login":"deefco","id":3123347,"node_id":"MDQ6VXNlcjMxMjMzNDc=","avatar_url":"https://avatars2.githubusercontent.com/u/3123347?v=4","gravatar_id":"","url":"https://api.github.com/users/deefco","html_url":"https://github.com/deefco","followers_url":"https://api.github.com/users/deefco/followers","following_url":"https://api.github.com/users/deefco/following{/other_user}","gists_url":"https://api.github.com/users/deefco/gists{/gist_id}","starred_url":"https://api.github.com/users/deefco/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deefco/subscriptions","organizations_url":"https://api.github.com/users/deefco/orgs","repos_url":"https://api.github.com/users/deefco/repos","events_url":"https://api.github.com/users/deefco/events{/privacy}","received_events_url":"https://api.github.com/users/deefco/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-09-25T16:42:53Z","updated_at":"2018-09-25T16:42:53Z","closed_at":null,"author_association":"NONE","body":"<!---\r\nPlease review our guidelines before adding a new issue: https://github.com/magento/magento2/wiki/Issue-reporting-guidelines\r\n-->\r\n\r\n### Summary\r\n<!--- Describe the issue you are experiencing. Include general information, error messages, environments, and so on. -->\r\nIn Magento 2.3 Sitemap has been split into Sitemap and SitemapItem, so we can use ItemProviders to compose sitemaps. The way SitemapItem has been implemented is kind of weird though, it is a pure DTO. Yet is doesn't extend DataObject or any of it's child classes, all data is passed through the constructor and saved in class properties.\r\n\r\nThe issue with this is that ItemProviders now simply use new SitemapItem() calls meaning it is very hard to extend SitemapItems with more data in a clean way.\r\n\r\n### Proposed solution\r\n\r\nMake SitemapItem extend DataObject (or any of it's children), replace class properties with $data and interface all constants used."}}
{"actor":{"display_login":"deefco"}}