{"action":"created","issue":{"url":"https://api.github.com/repos/plone/plone.app.blocks/issues/27","repository_url":"https://api.github.com/repos/plone/plone.app.blocks","labels_url":"https://api.github.com/repos/plone/plone.app.blocks/issues/27/labels{/name}","comments_url":"https://api.github.com/repos/plone/plone.app.blocks/issues/27/comments","events_url":"https://api.github.com/repos/plone/plone.app.blocks/issues/27/events","html_url":"https://github.com/plone/plone.app.blocks/issues/27","id":139032602,"number":27,"title":"Why do you raise an exception in resolveResource if there's an error in a tile transformation?","user":{"login":"idgserpro","id":8203476,"avatar_url":"https://avatars.githubusercontent.com/u/8203476?v=3","gravatar_id":"","url":"https://api.github.com/users/idgserpro","html_url":"https://github.com/idgserpro","followers_url":"https://api.github.com/users/idgserpro/followers","following_url":"https://api.github.com/users/idgserpro/following{/other_user}","gists_url":"https://api.github.com/users/idgserpro/gists{/gist_id}","starred_url":"https://api.github.com/users/idgserpro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/idgserpro/subscriptions","organizations_url":"https://api.github.com/users/idgserpro/orgs","repos_url":"https://api.github.com/users/idgserpro/repos","events_url":"https://api.github.com/users/idgserpro/events{/privacy}","received_events_url":"https://api.github.com/users/idgserpro/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-03-07T17:00:22Z","updated_at":"2016-03-07T17:37:09Z","closed_at":null,"body":"In this line you raise an exception https://github.com/plone/plone.app.blocks/blob/1c2e7256c04c86aa55beebd7707f4dee92597ca2/plone/app/blocks/utils.py#L103 and because of that if one tile has an error, all of the tiles become broken.\r\n\r\nThis happens because if the first tile gets an error, all subsequent rendered tiles gets the error. Something like this:\r\n\r\n![broken](https://cloud.githubusercontent.com/assets/8203476/13113421/2387266a-d576-11e5-8947-75cb28820783.png)\r\n\r\nWouldn't it be the case to return an string error, like we had in the past with portlets?\r\n\r\n> There was an error while rendering the portlet\r\n\r\n> There was an error while rendering this tile\r\n\r\n@hvelarde this relates to collective.cover as well."},"comment":{"url":"https://api.github.com/repos/plone/plone.app.blocks/issues/comments/193363352","html_url":"https://github.com/plone/plone.app.blocks/issues/27#issuecomment-193363352","issue_url":"https://api.github.com/repos/plone/plone.app.blocks/issues/27","id":193363352,"user":{"login":"datakurre","id":160447,"avatar_url":"https://avatars.githubusercontent.com/u/160447?v=3","gravatar_id":"","url":"https://api.github.com/users/datakurre","html_url":"https://github.com/datakurre","followers_url":"https://api.github.com/users/datakurre/followers","following_url":"https://api.github.com/users/datakurre/following{/other_user}","gists_url":"https://api.github.com/users/datakurre/gists{/gist_id}","starred_url":"https://api.github.com/users/datakurre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/datakurre/subscriptions","organizations_url":"https://api.github.com/users/datakurre/orgs","repos_url":"https://api.github.com/users/datakurre/repos","events_url":"https://api.github.com/users/datakurre/events{/privacy}","received_events_url":"https://api.github.com/users/datakurre/received_events","type":"User","site_admin":false},"created_at":"2016-03-07T17:37:08Z","updated_at":"2016-03-07T17:37:08Z","body":"@idgserpro @hvelarde It's old code, and probably nobody remembers why.\r\n\r\nThe proper solution is to catch that error in plone.app.blocks.utils.renderTiles, log error and render that placeholder."}}