Again this is Spring magic, i didn't know how to get Spring to update an Array, so I replaced it, but then you must check Alfresco context-xml for each version to check if it changes - dependencies :(
<!-- adds to script-services-context.xml -->
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" depends-on="jsonConversionComponent">
<property name="targetObject" >
<ref bean="jsonConversionComponent"/>
</property>
<property name="targetMethod" value="setUserPermissions" />
<property name="arguments">
<list>
<array value-type="java.lang.String">
<!-- Standard ones -->
<value>CancelCheckOut</value>
<value>ChangePermissions</value>
<value>CreateChildren</value>
<value>Delete</value>
<value>Write</value>
<!-- customised ones -->
<value>Finalise</value>
</array>
</list>
</property>
</bean>
This will let Alfresco Share see the CRUD-permission 'Finalise' defined as 'Permission' in the Alfresco Repository Permission Model (extension). Then you can use this in your share-config-custom.xml where your actions now can be dependant on this permission
<action id="...
<permissions>
<permission allow="true">Finalise</permission>
</permissions>
...
</action>
About making custom share actions see here http://blogs.alfresco.com/wp/mikeh/2011/09/26/share-document-library-extensions-in-v4-0/ among others
No comments:
Post a Comment