Affects Version/s: 6.1.20 EE GA2, 6.1.X EE, 6.2.0 CE RC1
Environment:Tomcat 7.0 + MySQL 5. Portal 6.1.x EE GIT ID: fda38d15a1ba10ca0a2d1c1f983b6a3b97c9ba5e.
Tomcat 7.0 + MySQL 5. Portal 6.2.x GIT ID: 242b87ea3b427823762e45a180c02aaa68b42bbb.
Backported to Branch:Committed
Asset publisher does not recognise global scope add web content permission.
As an admin, I want to let all normal users (Role=User) add draft announcements to the intranet homepage. I want these to be managed through a workflow so they are approved by admins before they get published. I want unauthenticated and authenticated (all) users to see the published announcements on the homepage.
How it's implemented:
An asset publisher on the homepage has been configured to add web content of structure "announcement" to the global scope. Why - because all the other features that should do this don't work (see notes below).
This is a 'stack of hacks' because of some key shortcomings in other areas:
- Announcement Portlet has no workflow out of the box (it's very rare that anyone would want to let users create announcements with no workflow). It's also old school thinking that admins will be the only ones making announcements as they often don't have time or aren't part of the relevant team to review announcement content.
- Even if the announcements portlet did have a workflow you can't give permission for a user to make an announcement to guests (the "General" scope in the announcement portlet is unpermissionable - only admins can access this scope) - another bug.
- Web content sub-types and structures don't have separate workflows. It's all or nothing. In this scenario we don't want general users to be able to add web content everywhere. Just to announcements so therefor we have no choice but to use global so we can have two separate web content workflows (one on and one off).
Steps to reproduce:
- Fire up a vanilla bundle
- Add a new web content structure and template to the global community
- Setup an asset publisher to publish web content to that structure under the global scope (see screenshot 1)
- Add the permission to the User role (screenshot 2)
- Login as a normal user - add button is missing when it should be visible (screenshot 3)
The only way to get the button to appear (screenshot 5) is to add the wrong community permissions (screenshot 4). This is useless because as soon as the user clicks the button it fails since it's the wrong permission (screenshot 6) - the global permission should activate the button if that's where the asset publisher is creating the content (screenshot 5).
NOTE: You must add view permission on the structure and the template for role User