Hide Forgot
One functionality that is missing and it's of vital importance is the ability to upload and manage files while executing tasks. User will expect the ability to add / view attached files via forms, and persisted / managed automatically by the platform. It would involve the following tasks. - Add support for storing / retrieving files from a secondary storage (keeping a reference to it in the process context). This storage could be a data base, the VFS repository itself or just a file. This should be provided through a CDI based component and configured at project or global level. - Create the right bindings/introspection for this type of properties. Probably it would be enough to use String bindings, to store the UUID or path to file. - Persist this types of properties in process / task engine, by delegating it to some sort of pluggable service to save/retrieve file content. - Add the field type for forms to manage this (this already exists but it's disabled due to the lack of support of this feature). This is upload/delete/modify/download content.
This is a feature for 6.1.
Pedro, This is highly critical feature for case management. I understand the implementation is quite expanded. Thanks for bringing this up. Any short term solution we can offer to user however dirty it is helpful.
We are not going to develope a solution for this issue now but it can be solved using the CustomFieldTypes we definded to fix the BZ-1013519 (https://bugzilla.redhat.com/show_bug.cgi?id=1013519). We created a sample of File input using CustomFieldType. This sample allows the upload files inside a form and save them in a folder on de FileSystem. This implementation will store the file path of the file inside the form field value, so it must be used on String properties. You can see the source here: https://github.com/droolsjbpm/jbpm-form-modeler/tree/master/jbpm-form-modeler-sample-custom-types/jbpm-form-modeler-custom-file-type This is just a example of how it CustomFieldTypes work and how you can upload files on a form, it shouldn't be interpreted as a real-world solution.
This issue should not be set on ON_QA because all ACKs are set to '-'. Also based on comments no work has been done on it. Setting back to assigned so we can track this feature request for the next release.
This feature has been added on the 6.1 version. You can create process variables of type "org.jbpm.document.Document" and the forms generated will be showing a File Input to select files from the client computer. To manage the Document storage the user should defina a MarshallingStrategy like explained here http://planet.jboss.org/post/jbpm_6_store_your_process_variables_anywhere You can configurate your project to use the marshalling strategy by editing the kie-deployment-descriptor.xml file (located on /src/main/resources/META-INF folder) like this: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <deployment-descriptor xsi:schemaLocation="http://www.jboss.org/jbpm deployment-descriptor.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <persistence-unit>org.jbpm.domain</persistence-unit> <audit-persistence-unit>org.jbpm.domain</audit-persistence-unit> <audit-mode>JPA</audit-mode> <persistence-mode>JPA</persistence-mode> <runtime-strategy>SINGLETON</runtime-strategy> <marshalling-strategies> <marshalling-strategy> <resolver>reflection</resolver> <identifier>org.jbpm.document.marshalling.DocumentMarshallingStrategy</identifier> </marshalling-strategy> </marshalling-strategies> <event-listeners/> <task-event-listeners/> <globals/> <work-item-handlers/> <environment-entries/> <configurations/> <required-roles/> </deployment-descriptor> As an example the jbpm-document module includes the org.jbpm.document.marshalling.DocumentMarshallingStrategy that can be used as a reference or on test purposes.
BPMS 6.1.0.ER4