User limited items hide/show with CSS ===================================== A small, but potentially useful, feature has been added to trunk. It works around the fact that ViewCache is role based and not user based. A good example of an old feature where it could be used are eZ publish based forums: when users have the content/edit/owner(self) policy, they must be offered a link to edit their own posts. But since forums are cached using ViewCache, each page is shared among all users, and if you use a content/edit policy check for each link, you will end up with a user specific cache used by several users. This can be worked around: - using AJAX, but with a high performances cost - by showing the links to all users, with a usability loss - or by disabling ViewCache This feature provides another workaround, that will in most cases offer the expected user experience, with no security or performance added costs. The page_head_displaystyles.tpl template ---------------------------------------- This template defines two styles: * .limitdisplay-user This class will completely hide any item it is applied to * .limitdisplay-user- This class will show items that match the currently logged in user ID This template is part of standard, and is included from standard, webin and flow pagelayout.tpl. Using it -------- When a link/button should only be shown to its "owner" (the edit/owner(self)) example above, just apply two classes to it:: class="limitdisplay-user limitdisplay-user-{$current_user.contentobject_id}" The first class will hide these for everybody, while the second one will make the item visible for its owner. If styles aren't applied due to a specific user agent, etc, the items will be visible for anyone, but server side security checks will still ensure full security for your data.