. Fix to Guest user bootstrap to allow all non-admin users READ access to the Guest user Person

- this allows users to Invite the Guest user into a Space - requried for the RSS Feed to work
. Created a Patch for above change for existing systems

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3582 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2006-08-23 11:01:52 +00:00
parent e9398f8e69
commit e27aadcdd4
5 changed files with 92 additions and 2 deletions

View File

@@ -27,7 +27,7 @@
</cm:person>
<!-- Guest needs to read their own person information -->
<cm:person view:childName="cm:person">
<view:acl view:inherit="false">
<view:acl>
<view:ace view:access="ALLOWED">
<view:authority>guest</view:authority>
<view:permission>Read</view:permission>

View File

@@ -85,3 +85,6 @@ patch.rssTemplatesFolder.result.created=The RSS Templates folder was successfull
patch.uifacetsAspectRemovalPatch.description=Removes the incorrectly applied uifacets aspect from presentation template files.
patch.uifacetsAspectRemovalPatch.updated=Successfully removed the uifacets aspect from {0} presentation template files.
patch.guestPersonPermission2.description=Change Guest Person permission to visible by all users as 'Consumer'.
patch.guestPersonPermission2.result=Updated Guest Person permission to visible by all users as 'Consumer'.

View File

@@ -425,4 +425,19 @@
</property>
</bean>
<bean id="patch.guestPersonPermission2" class="org.alfresco.repo.admin.patch.impl.GuestPersonPermissionPatch2" parent="basePatch" >
<property name="id"><value>patch.guestPersonPermission2</value></property>
<property name="description"><value>patch.guestPersonPermission2.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>18</value></property>
<property name="targetSchema"><value>19</value></property>
<!-- helper beans for execution -->
<property name="permissionService">
<ref bean="permissionService"/>
</property>
<property name="personService">
<ref bean="personService"/>
</property>
</bean>
</beans>

View File

@@ -19,4 +19,4 @@ version.build=@build-number@
# Schema number
version.schema=18
version.schema=19

View File

@@ -0,0 +1,72 @@
/*
* Copyright (C) 2005 Alfresco, Inc.
*
* Licensed under the Mozilla Public License version 1.1
* with a permitted attribution clause. You may obtain a
* copy of the License at
*
* http://www.alfresco.org/legal/license.txt
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific
* language governing permissions and limitations under the
* License.
*/
package org.alfresco.repo.admin.patch.impl;
import org.alfresco.i18n.I18NUtil;
import org.alfresco.repo.admin.patch.AbstractPatch;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.service.cmr.security.PersonService;
/**
* Change Guest Person permission to make visible to all users as 'Consumer'.
*
* This allows users other than admin to select the Guest user for Invite to a Space.
*/
public class GuestPersonPermissionPatch2 extends AbstractPatch
{
private static final String MSG_SUCCESS = "patch.guestPersonPermission2.result";
private PersonService personService;
private PermissionService permissionService;
private String guestId = "guest";
public GuestPersonPermissionPatch2()
{
super();
}
public void setGuestId(String guestId)
{
this.guestId = guestId;
}
public void setPermissionService(PermissionService permissionService)
{
this.permissionService = permissionService;
}
public void setPersonService(PersonService personService)
{
this.personService = personService;
}
@Override
protected String applyInternal() throws Exception
{
if (personService.personExists(guestId))
{
NodeRef personRef = personService.getPerson(guestId);
permissionService.setInheritParentPermissions(personRef, true);
}
return I18NUtil.getMessage(MSG_SUCCESS);
}
}