Introducing "File download services" application with Domino Volt

I introduced my Domino Volt application by tech-tech night school.
I will explain the detail of "File download services".


"File download services" application is to send the URL of a document with a file attached to another person and they have download file from there.
This application is used you cannot attach the file to email or when you don't want anyone else to see it.

This application has some functions below.
* It can attach the file.
* you can set the receipent's email address.
* you can set the password to download the file.
* you can set the expired date to download.

2.Description of the completed application

First of all, I will explain the application content with the image.
(1)The following image is when application started.
Startup screen
In "Title", enter a descripition of the file.
In "Filed to send", attach the file to be download.
In "Destination email address", enter the email address to send the file.
In "Password", enter the password to download the file. Since you cannot see the value of password, you have to enter twice.

(2)After entering, click the [Save & Send] button.
Input contents

When saved successfully, the follwoing screen will be displayed.
Then close this screen.

Saved successfully

(3)You check the mail of destination address.
If you received two mails it is operating normally.
One is an email with written the download URL.
The other one is an email with written a password.

Check your mail
URL is written
Password written

(4)Click the link.
When you click the link, display entering the password.
This page also built by Domino Volt.
Domino Volt can open another page with the same URL, the I used this feature.
Enter your email address and password and click OK.

Input mail address and password

(5)Download the file.
If the email address and password are correct, the file download page will be displayed.
file download page

(6)If entered the email address or password is wrong
If you enter the email address or password is wrong, it will be displayed error page.
This page is also built by Domino Volt.

Error page

(7)When the expiration date has gone
When the expiration date has gone, it will be display different error page before display input password page.

Expired error page

What do you think?
Next, let's look at the design and I will explain how it was implemented.

3.Design description

I will explain each design element.


I created "uploadForm" "inputPassword" "ErrorPage" "ExpiredPage" and "CSSPages" in "Form1".
By doing this, it will be able to switch the pages display with the same URL.

Form - uploadForm page

The "Destination email address" and "password" are required because they are used to download the file.
"Save password" and "Expiration date (after 3 days)" are created for operation control.

Form - input password page
It has fields for email address and password.

Form - error page
Form - expired error page
"ErrorPage" and "ExpiratedPage" are different only in the displayed message, but for the sake of easy control, to be set different page.
“CSSPage” defines common CSS for all pages.


What changed from the default value is that "Record owner" is also set to "All authenticated users".
This is because I don't know who the email will be sent to, and because anonymous access is currently not possible.



The "Published" stage has been deleted. Because you don't have to change the document once the document is saved.
"Save & Send" action sets up two activities "Send an email".
Because it is separate from sending the URL and sending the password.

Save activity

"Send an Email" activity settings is below.
An email will be sent with the set text to the "Destination email address" entered on the screen.
Edit properties
The other activity is almost the same. The only difference is the subject and the content of the email.


No change from the initial value.


In "onShow" event, when the stage is "Start" (ST_Start), "Page for upload" is opened, if not comparing expiration date, it is been more then 3days, it will display an expired error page, it is within 3days, it will display input password page,

Events - onShow

Next, I will explain "validateButtonPressed" event.
I judge the type of button just in case.
What it does doing is
* To set the entered password on the screen to "Save password".
* To set 3 days after from today to "Expiration date".
The value of the specialized pallete "Password" is not stored in the document.
Therefore, I set a "Single Line Entry" as the "Save Password" and store it there when saved the document.

Events - validateButtonPressed

Finally, this is the click event of the [OK] button placed on the "Input password" page.
If the email address and password is correct, it will display "fileUpload" page and then you can download the file.
If either of them is wrong, the error page is displayed.

Events - OK Button onClick


Not used this time.


I have written JavaScript to set the password and expiration date for page transitions and when saving the documents, but it should not be so difficult.
It would be difficult to create such an application in Notes application.
Even in the case of XPages, it has to write JavaScript code to realize page transition. It will find it much easier to implement than that.

That’s all. Thank you for reading.

HCL Ambassadorの私が承ります!
お問い合わせはこちらから→Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ