{"action":"created","issue":{"url":"https://api.github.com/repos/dmitryd/typo3-realurl/issues/244","repository_url":"https://api.github.com/repos/dmitryd/typo3-realurl","labels_url":"https://api.github.com/repos/dmitryd/typo3-realurl/issues/244/labels{/name}","comments_url":"https://api.github.com/repos/dmitryd/typo3-realurl/issues/244/comments","events_url":"https://api.github.com/repos/dmitryd/typo3-realurl/issues/244/events","html_url":"https://github.com/dmitryd/typo3-realurl/issues/244","id":175780678,"number":244,"title":"Update to v. 2.0.15 tt_news catmenu and pagebrowser not working any more","user":{"login":"triograf","id":22079460,"avatar_url":"https://avatars.githubusercontent.com/u/22079460?v=3","gravatar_id":"","url":"https://api.github.com/users/triograf","html_url":"https://github.com/triograf","followers_url":"https://api.github.com/users/triograf/followers","following_url":"https://api.github.com/users/triograf/following{/other_user}","gists_url":"https://api.github.com/users/triograf/gists{/gist_id}","starred_url":"https://api.github.com/users/triograf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/triograf/subscriptions","organizations_url":"https://api.github.com/users/triograf/orgs","repos_url":"https://api.github.com/users/triograf/repos","events_url":"https://api.github.com/users/triograf/events{/privacy}","received_events_url":"https://api.github.com/users/triograf/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":65,"created_at":"2016-09-08T15:12:28Z","updated_at":"2016-09-10T18:54:23Z","closed_at":"2016-09-09T10:14:58Z","body":"After updating realurl to v. 2.0.15. (TYPO3 v. 7.6.9) the category menu and the pagebrowser of the ext tt_news are not working anymore. The url changes but the content in the frontend remains the same without any change.\r\n\r\nreaulurl for tt_news is configured like this:\r\n\r\n```\r\n'postVarSets' => array(\r\n\t\t\t\t'_DEFAULT' => array(\r\n\r\n\t\t\t\t\t'artikel' => array(\r\n\t\t\t\t\t\tarray(\r\n\t\t\t\t\t\t\t'GETvar' => 'tx_ttnews[tt_news]',\r\n\t\t\t\t\t\t\t'lookUpTable' => array(\r\n\t\t\t\t\t\t\t\t'table' => 'tt_news',\r\n\t\t\t\t\t\t\t\t'id_field' => 'uid',\r\n\t\t\t\t\t\t\t\t'alias_field' => 'title',\r\n\t\t\t\t\t\t\t\t'addWhereClause' => ' AND NOT deleted',\r\n\t\t\t\t\t\t\t\t'useUniqueCache' => 1,\r\n\t\t\t\t\t\t\t\t'useUniqueCache_conf' => array(\r\n\t\t\t\t\t\t\t\t\t'strtolower' => 1,\r\n\t\t\t\t\t\t\t\t\t'spaceCharacter' => '-',\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t),\r\n\r\n\t\t\t\t\t'kategorie' => array(\r\n\t\t\t\t\t\tarray(\r\n\t\t\t\t\t\t\t'GETvar' => 'tx_ttnews[cat]',\r\n\t\t\t\t\t\t\t'lookUpTable' => array(\r\n\t\t\t\t\t\t\t\t'table' => 'tt_news_cat',\r\n\t\t\t\t\t\t\t\t'id_field' => 'uid',\r\n\t\t\t\t\t\t\t\t'alias_field' => 'title',\r\n\t\t\t\t\t\t\t\t'addWhereClause' => ' AND NOT deleted',\r\n\t\t\t\t\t\t\t\t'useUniqueCache' => 1,\r\n\t\t\t\t\t\t\t\t'useUniqueCache_conf' => array(\r\n\t\t\t\t\t\t\t\t\t'strtolower' => 1,\r\n\t\t\t\t\t\t\t\t\t'spaceCharacter' => '-',\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t),\r\n\r\n\t\t\t\t\t'browse' => array(\r\n\t\t\t\t\t\tarray(\r\n\t\t\t\t\t\t\t'GETvar' => 'tx_ttnews[pointer]',\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t),\r\n\t\t\t\t),\r\n\t\t\t),\r\n```"},"comment":{"url":"https://api.github.com/repos/dmitryd/typo3-realurl/issues/comments/246129198","html_url":"https://github.com/dmitryd/typo3-realurl/issues/244#issuecomment-246129198","issue_url":"https://api.github.com/repos/dmitryd/typo3-realurl/issues/244","id":246129198,"user":{"login":"AndreasA","id":1383094,"avatar_url":"https://avatars.githubusercontent.com/u/1383094?v=3","gravatar_id":"","url":"https://api.github.com/users/AndreasA","html_url":"https://github.com/AndreasA","followers_url":"https://api.github.com/users/AndreasA/followers","following_url":"https://api.github.com/users/AndreasA/following{/other_user}","gists_url":"https://api.github.com/users/AndreasA/gists{/gist_id}","starred_url":"https://api.github.com/users/AndreasA/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AndreasA/subscriptions","organizations_url":"https://api.github.com/users/AndreasA/orgs","repos_url":"https://api.github.com/users/AndreasA/repos","events_url":"https://api.github.com/users/AndreasA/events{/privacy}","received_events_url":"https://api.github.com/users/AndreasA/received_events","type":"User","site_admin":false},"created_at":"2016-09-10T18:54:23Z","updated_at":"2016-09-10T18:54:23Z","body":"1.) You said you had problems with people asking question why things didn't work correctly due them e.g. deleting cache tables with the current solution you are back to that \"issue\".\r\n\r\n2.) I agree that with the previous method everything was fine in regards to caches.\r\nWith the current it isn't anymore as they contain necessary information.\r\nAnd I also I agree that I would prefer to generate the correct cHash upon decoding always but \r\ndue to helhum we know that creates a possible DoS attack so there needs to be a better solution.\r\nWhich is why I still think the solution idea from helhum has merrit.\r\n\r\nIt only generates a hash if realurl is allowed to generate the cHash on its own during decode, nothing more.\r\nAlso: Nothing prevents you from cleaning up that table the same way you clean up the current urlcache / pathcache.\r\nFor instance you can store a page id with it and use that to cleanup the table if a page is deleted.\r\nYou could store further meta data in a separate table like which records are used (and which parameters to remove the values if the parameters don't exist in realurl configuration anymore) etc. to clean it by DataHandler hook or scheduler task (as in the backend performance isn't that big an issue)\r\n\r\nIf one goes with the 256 bytes due to overhead that helhum mentioned you would need over 4 million entries to reach one gigabyte.\r\nIf you achieve that many you will run into the same problem by adding the cHash to the current encode/decode cache,.\r\n\r\n3.) I checked the code more and:\r\nSo you are taking care of various page cache clearing by using clearCachePostProc and some via DataHandler hook that checks for unique aliases.\r\nHowever, that also means that cHash information is removed upon cache clearing due to e.g. set clearCacheCmd \r\nOr you clear the urlcache for a whole page id, if any language record was deleted which results in cHash values being lost of other languages too.\r\nAlso there can be other parameters that are not stored in unique aliases.\r\n\r\nThe issue now is just that we are storing necessary data cHash into tables that are not supposed to be necessary (cache)"}}
{"actor":{"display_login":"AndreasA"}}