Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note that all files that are selected will be handled as a bundle. That means that if at least one file can not be uploaded (e.g. because it has not the correct extension or because it is larger than specified) the entire set of files will not be uploaded.

Parameters

NameDescriptionDirectionTypeRequired
ConnectionSpecify the name of the connection (See How to setup a connection)InputString
True
Yes
FileExtensionOnly file extensions that are specified can be uploaded. When none is specified, all file types are allowed.
File extensions should be without a dot, e.g. txt.
InputExpression
False
No
MaxFileSizeOnly files smaller than the specified file size can be uploaded. This integer should be in bytes, e.g. 1048576.InputExpression
False
No
PersistenceThe persistence parameter indicates whether the system should clean up files at the end of the session/request.InputDomain
True
Yes
ModeIndicate the mode: 'single file' (one file at a time) or 'multiple file' (multiple files in one go) upload.InputDomain
MaxFileAmount

Provide how many files can be uploaded to this container. If -1 is provided there will be no limit. 

InputExpressionYes
True
UpdateFileIDSpecify the attribute containing the File ID when using the upload container for an update action. This is only relevant when using a single file upload.InputAttribute
False
No
CaseID

Specify the CaseId where the uploaded files belong to.

When using the Process-Engine the value of this field is set as process_id in the metadata

When using the Case-Engine, this field must be omitted. It will automatically be filled with the caseId during task execution.

InputExpression
No
RelationToFileInstance

An instance of the entity specified in the FileID parameter will be created with the details of the uploaded file, at least containing the FileID and optionally

containing the other parameters if specified. This parameter specifies in which relation this instance will be created. This can be useful for reasoning about

files just uploaded, as well as validations which you can attach to the relation.

Note that the relation should point to the same entity as the FileID. Also, when you allow uploading multiple files, the relation should be multivalued as well

as for every file an instance is stored in the relation.

InputRelationNo
False
FileIDThe returned file id should be put in the specified attribute.OutputAttribute
True
Yes
FileName

The returned file name should be put in the specified attribute.

The entity of the attribute should be same as that of the FileID parameter.

OutputAttribute
False
No
FileType

The returned file type should be put in the specified attribute.

The entity of the attribute should be same as that of the FileID parameter.

OutputAttribute
False
No
FileSize

The returned file sizeshould be put in the specified attribute.

The entity of the attribute should be same as that of the FileID parameter.

OutputAttribute
False
No
FileCreatedBy

The returned user that created the file should be put in the specified attribute.

The entity of the attribute should be same as that of the FileID parameter.

OutputAttribute
False
No
FileCreationDate

The returned file creation date should be put in the specified attribute.

The entity of the attribute should be same as that of the FileID parameter.

OutputAttribute
False
No
AuthorizedRolesSelect roles that are authorized for this documentInputRole(s)
False
No
RequiredWhen specified and evaluates to TRUE, the container validates if a file has been successfully uploaded before flowing to the next page.InputExpression
False
No


Event

This container can contain an event: FileUploaded. With this event it is possible to perform a flow action after the upload of each file (only applicable when the set of files is ok). Note that for multiple files a repeat condition has to be stated which should be put on a sub-flow.

The Unauthorized exit is triggered when updating a file for which the user does not have one of the needed roles.

Warning
titlePreconditions

Modeling a precondition on the AQ_File_Upload container which bases its condition on the Output parameters, results into that the events of the containers will not be executed.

Validation

Files that are uploaded through the file upload container are validated against the following checks:

  • FileSize is validated against the MaxFileSize, which can be set as a parameter of the container.
  • File extension is validated against the allowed extensions, which can be set as a parameter of the container.
  • File names can only consist of the following allowed specific set of characters and digits:
    • a-z lowercase and uppercase and with or without diacritics 
    • digits zero until nine
    • special characters _!@#$€%^&,.-+`~"-[]() and space 
  • File ContentType is validated against the allowed extensions.
  • The amount of files is validated against the MaxFileAmount, which can be set as a parameter to the container.

Maximum file size

The maximum file size that can be uploaded is determined by a number of factors, of which not every factor is in control of Blueriq. 

  1. MaxFileSize on the AQ_File_Upload container
  2. the blueriq.fileupload.maxuploadsize property (see Miscellaneous Properties)
  3. the network infrastructure
  4. the (application) server settings

...

Note that in this scenario if you upload 3 files in one go which are each a little less than 10 MB, your upload will still get aborted because it exceeds the blueriq.fileupload.maxuploadsize parameter.

Validations

The AQ_File_Upload container contains the Required parameter. If the parameter evaluates to TRUE the container will validate if a file has been successfully uploaded to that container. When no files have been successfully uploaded the container will display a validation error.

Note that with the RelationToFileInstance  parameter, you can can add validations to the relation attribute. This is a more powerful mechanism than the Required  parameter, as it allows to express requiredness, but also more detailed validations such as "at least one document of type X needs to be uploaded", or "if a document of type Y is uploaded than you also need to upload a document of type Z", etc. etc. Another benefit is that you can customize the validation message. So in general the RelationToFileInstance  parameter in combination with validations is preferred over the Required  parameter.

Messages

Labels, descriptions, validations (such as "File is too large"), and status messages can be changed in the messages.properties files. An example can be found here: Reference Guide: Properties.

Note on persistence

Include Page
Note on Persistence
Note on Persistence

Content by Label
showLabelsfalse
showSpacefalse
sortcreation
cqllabel = "aq_file_upload"
labelsaq_file_upload