You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Introduction

Generate Zip Process Tool plugin allows users to zip all files residing in a file upload form field of the selected form. The plugin also offers the option to password-protect the generated zip file. 

You can check the source code: https://github.com/jogetoss/generate-zip-file 

https://www.7-zip.org/download.html

You can download the plugin here:
generate-zip-file-8.0-SNAPSHOT.jar

Sample Output

In the following outputs, all the files in the file upload field are compiled into a zip file. 

No password zip generation

Figure 1: No password

Password-protected zip generation

Figure 2: Password-protected

How to use the plugin

The plugin has numerous use cases, this article will explain how to use the plugin by building an example app.

Step 1

Create a form, drag a single text field, and file upload form element into it. Configure each form element as shown below:

Field Label Field ID
Item Nameitem_name
File Upload file_upload
Zip Uploadzip_file_upload

Figure 3: Form layout

Tick the "Enable Multiple Files Upload" option for the File Upload form element. This will allow multiple files to be uploaded.

Figure 4: Tick "Enable Multiple Files Upload"

Once completed, generate a CRUD through the "Generate App" option

Step 2

Go to "settings" > "advanced", and scroll down to the "Post Form Submission Processing" section. In the Post Processing Tool field, select "Generate Zip Tool". Change the "Run Tool on" from "Data Creation" to "Both data creation and update". This configuration will run the plugin upon new record creation or update. 

Figure 5: Configure Post Form Submission Processing

Step 3

Configure the Generate Zip Tool plugin

From

Figure 6: Plugin "From" properties configuration

LabelField
Select Form to obtain file

Select the form created in step 1

File Upload Field ID of the file

Insert the ID of the file upload form element

Record ID 

Record ID uses the hash variable "#form.generated_zip_sample.id#" This will point to the record ID in the selected record row that executes the process tool plugin. In this example, generated_zip_sample is the table name. You may replace the table name in the hash variable with yours.

To

Figure 7: Plugin "To" properties configuration

Label Field
Select Form to Store ZipSelect the form created in step 1
Target Form Field ID to store Zip File

Insert the ID of the zip file upload form element

Target Record ID

Record ID uses the hash variable "#form.generated_zip_sample.id#" This will point to the record ID in the selected record row that executes the process tool plugin. In this example, generated_zip_sample is the table name. You may replace the table name in the hash variable with yours.

Zip File NameThe Zip file name is "Zip File #data.mm ss a#" in this example. It will display the time generated and ensure that the Zip file name will be dynamic. 
Zip Password(optional)Insert any password. The password used in this example is "test".

Step 4

Test the app, upon "new record creation" or "record update". The plugin will generate a Zip File in the configured File Upload form element as shown below:

No password zip generation

Figure 8: No password

Password-protected zip generation

Figure 9: Password-protected

Generate Zip Plugin Properties

From

Figure 10: Plugin "From" properties

FieldDescription
Select Form to obtain file Select the form to obtain the desired files
Form Field ID of the file

The form field ID of the file upload form element contains the files you wish to zip.

It must be a File Upload form element otherwise, it wouldn't work.


Record ID The record ID that stored the files

To

Figure 11: Plugin "To" properties

FieldDescription
Select Form to Store ZipSelect the form to store the generated zip file
Target Form Field ID to store Zip FileForm Upload field in the selected form to store the generated Zip File
Target Record IDThe record ID to store the zip files
Zip File NameGenerated zip file name
Zip Password (optional)

Zip password

Inputting a password to this field will enable the plugin to generate a password-protect zip.


Sample App


  • No labels