Añadir actions al aplicar una regla

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
toke
Member II

Añadir actions al aplicar una regla

Muy buenas …

estoy intentando añadir un action a la hora de crear una regla, es decir, cuando creamos una regla, en la segunda opción nos sale una combo en la cual podemos elegir una acción. Pues bien, yo quisiera crear o añadir una acción la cual llamase a un método que tengo en una clase.
Me he leido el ejemplo que viene en la ruta http://wiki.alfresco.com/wiki/Custom_Action_UI pero yo no necesito ningun jsp, simplemente quiero meter en la combo mi accion y que se ejecute.

Gracias, un saludo
1 Reply
cybermakoki
Member II

Re: Añadir actions al aplicar una regla

Hola toke!

Para añadir un action en la combo que comentas, te tienes que crear una clase que herede de ActionExecuterAbstractBase, por ejemplo:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

public class MyActionExecuter extends ActionExecuterAbstractBase
{
    /** Runtime NodeService with no permissions protection */
    private NodeService nodeService;
   
   
    /**
     * @param nodeService   The Runtime NodeService to set.
     */
    public void setNodeService(NodeService nodeService)
    {
        this.nodeService = nodeService;
    }

    /**
     * @see org.alfresco.repo.action.executer.ActionExecuterAbstractBase#executeImpl(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
     */
    protected void executeImpl(Action action, NodeRef actionedUponNodeRef)
    {
        // add the cm:countable aspect as required
     
      ……….
       
    }

    /**
     * @see org.alfresco.repo.action.ParameterizedItemAbstractBase#addParameterDefinitions(java.util.List)
     */
    protected void addParameterDefinitions(List<ParameterDefinition> paramList)
    {
        // none required
    }
}

Después tienes que definir el action en el tu context.xml que está en la carpeta extension de la siguiente manera:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>
   
    <!– Registration of new models –>   
    <bean id="myModel.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <property name="models">
            <list>
                <value>alfresco/extension/MyModel.xml</value>
            </list>
        </property>
      <property name="labels">
            <list>
                <value>alfresco/extension/MyModel</value>
            </list>
        </property>
      
    </bean>
     
      
    <bean id="actionExecuter" class="executer.MyActionExecuter" parent="action-executer">
        <property name="nodeService">
            <ref bean="nodeService" />  <!– runtime nodeService –>
        </property>
    </bean>  
</beans>

Los textos que queires que salgan los tienes que definir en el action-config_es_ES.properties:

actionExecuter.title=Recuperar nombre de cliente
actionExecuter.description=Recuperar nombre de cliente



Espero haberte ayudado!!