cancel
Showing results for 
Search instead for 
Did you mean: 

Activiti Explorer & upload/download Attachement

houstoniasian
Champ in-the-making
Champ in-the-making
Is it possible to create a bpm file to represent a process in which we can upload/download attachment in Activiti Explorer?
For example, in my bpm file, I have:

<activiti:formProperty id="textField" name="Input"   type="string" />
Activiti Explorer will display the above tag as a text field in the form for user to input.

How can I make Activiti Explorer let users upload/download attachment by modifying my bpm file?

Thank you,

Tan
1 REPLY 1

frederikherema1
Star Contributor
Star Contributor
You can add custom form-types to the explorer and the activiti-engine. This allows you to create any kind of control you want to display/fill in form-properties. Look in the codebase at UserFormType and org.activiti.explorer.ui.form.UserFormPropertyRenderer for an example. This call all be plugged in in the engine configuration (activiti-standalone-context.xml):


<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
   <property name="dataSource" ref="dataSource" />
   <property name="transactionManager" ref="transactionManager" />
   <property name="databaseSchemaUpdate" value="true" />
   <property name="jobExecutorActivate" value="true" />
    <property name="customFormTypes">
      <list>
        <bean class="org.activiti.explorer.form.UserFormType"/>
        <bean class="org.activiti.explorer.form.ProcessDefinitionFormType"/>  
      </list>
    </property>
  </bean>

and explorer configuration (activiti-ui-context.xml):


<!– Custom form property renderers can be plugged in here –>
  <bean id="formPropertyRendererManager" class="org.activiti.explorer.ui.form.FormPropertyRendererManager" lazy-init="true">
    <!– Default renderer –>
    <property name="noTypePropertyRenderer">
      <bean class="org.activiti.explorer.ui.form.StringFormPropertyRenderer" />
    </property>
    <!– Renderers by property type –>
    <property name="propertyRenderers">
      <list>
        <bean class="org.activiti.explorer.ui.form.StringFormPropertyRenderer" />
        <bean class="org.activiti.explorer.ui.form.EnumFormPropertyRenderer" />
        <bean class="org.activiti.explorer.ui.form.LongFormPropertyRenderer" />
        <bean class="org.activiti.explorer.ui.form.DateFormPropertyRenderer" />
        <bean class="org.activiti.explorer.ui.form.UserFormPropertyRenderer" />
        <bean class="org.activiti.explorer.ui.form.BooleanFormPropertyRenderer" />
        <bean class="org.activiti.explorer.ui.form.ProcessDefinitionFormPropertyRenderer" />
      </list>
    </property>
  </bean>