Enabling Large File Uploads On Your Domino Server for XPages

By now you have probably noticed that fileSendr V1.1.0 is now available on OpenNTF. This is the version that allows you to authorize external people to send files into you. It’s a really handy XPages based utility for any organization that needs to send large files to and from customers.

To allow fileSendr to accept large files you do need to make a few configuration changes on your Domino server, the instructiosn are in the fileSendr download on OpenNTF but I thought I’d blog about it here so it can be found by search engines for anybody else needing to figure it out.

First off you’ll need to work out how large a file you want to allow to be uploaded and then convert that into Kb. If you want to allow 2GB files then that will be 2097152Kb. You can also allow unlimited uploads by use 0Kb in the fields below.

First we need to tell the Domino server the maximum size of any HTTP request. This is done in the Server document in the Internet Protocols/HTTP tab. Look to the bottom of the page on the right and you’ll see the ‘Protocol Limits’ section.

[IMAGE]

The next change you make is to the Domino Web Engine to tell it to allow POST data of a certain size. If your not using Internet Sites then this is in the Domino server document under ‘Internet Protocols/Domino Web Engine’. If you are using Internet Sites then this is in the internet site document under ‘Domino Web Engine’. In either case you are looking for the Maximum POST data field. This should be set to the same value as the Maximum Request field.

[IMAGE]

Lastly your XPage application needs to be told that it can accept uploads up to a certain size. This is done in the xsp.properties file. This file can exist in one of two places, either in the dominodataproperties directory on your server or directly in the NSF of the application. If you set the value in the server version of the file then it will affect ALL XPages applications on your server. If you just set it in the NSF then it just affects that single application. For security I recommend that you only set it at the application level. fileSendr has this set at the application level for 2Gb but you can change it as you require using the steps below…

Open your application in Domino Designer and double-click on the ‘Application Properties’ page.

[IMAGE]

Then switch to the ‘XPages’ tab and set your selected value in the ‘File Upload Options’ section.

[IMAGE]

Then make sure you save your Application properties.

Your Domino server and your XPages application are now setup to allow large uploads.
– C.DTF – C.DTF – C.DTF – C.DTF

Tagged with: , ,
Posted in None

the fileSendr Project on OpenNTF

Since figuring out how to get XPages to talk to Amazon S3 I decided to look into an old project I had on OpenNTF called fileSendr and add the functionality to it. fileSendr V1.0.2 is now available on OpenNTF and not only does it have the Amazon S3 support but I also added a few other features worth checking out, even if only for the code examples…

dojox.form.fileUploader : Multi File Upload with an XPages processor for the backend.
Extension Library Functions
Page Navigator for the sidebar menus.
Form Layout control for the onscreen forms
JSON RPC Services control to call SSJS from client side javascript ( this is really cool )
Amazon S3 support using the Amazon AWS SDK for Java

Of course the project doesn’t stop with this release. One of the feature requests on OpenNTF was to allow external people send files into fileSendr for retrieval by internal users, making it into more of a fileReceivr then a fileSendr. The good news is that progress on this feature has already started and should be available soon…

[IMAGE]

To stop the receiving feature from being abused I decided to code it so that the internal user of the application needs to generate an authorization key that is sent to the external person. The external person then clicks the link in the email that they received and they are brought to a screen in the application where they can upload the document anonymously and then the system will send an email to the original internal user that their file is waiting to be retrieved. The authorization key is only allowed to be used once.
– C.DTF

Tagged with: , ,
Posted in Uncategorized

Talking to Amazon S3 from XPages

After playing around with the iTextPDF library a few weeks ago I was wondering how easy it would be to use a few other java libraries with XPages and in particular I was interested in looking at the Amazon S3 service to store files for my fileSendr project on OpenNTF.

To get started you’ll need to sign up for the

Tagged with: ,
Posted in None

OpenNTF : Don’t mix your licenses

Earlier today, Julian Buss released a new project on OpenNTF called YouAtNotes xCharting under the GPL license. I have absolutely no problem with his license choice, I fought hard to have the GPL license be a valid license type on OpenNTF so that some people, like Julian, can select it for their projects.

But it is important to know WHY your selecting the GPL license and what it means, basically the GPL license allows you to use the code in any of your own applications, however as soon as the GPL code goes into your application you application must then be licensed as GPL and the source code needs to be made available on request or be freely available online.

You might argue that your only going to use it in an internal application for your company, but the license still applies, your internal application and all the code it contains must now be licensed with the GPL license. If somebody, anybody, asks for the source then it must be supplied or your breaking the law. In 2006 D-Link were successfully sued because they used GPL code in their routers without releasing the source code and that is just one of many cases. If YouAtNotes use the xCharting code from OpenNTF in their commercial products then their commercial products are now GPL and anybody can request the source code for the ENTIRE product.

Even worse is mixing your licenses, and I’ll take an OpenNTF project as an example. The Bildr project by Patrick Kwintensson in it’s current V3.0 release is licensed as APLv2 however it contains a file upload control call PLUpload that is licensed as GPLv2. What this means is that Bildr is incorrectly licensed, it is not possible for it to be licensed as APL because of the GPL code in it. The OpenNTF IP Manager is aware of this and the project is in danger of being shut down if the license is not corrected soon. Of course the Bildr project also contains other code from other sources so simply changing Bildr to GPL won’t be sufficient.

The point that i’m trying to make is that you DO need to be careful about the licenses that you use for your open source projects and you also need to make sure that all code that you source from other places has a correct license. I looked at Bildr because of the file upload control, i was thinking it would fit in very well for another application that I’m writing and seeing the APL license on Bildr I would have thought I was in the clear, it wasn’t till I went to the PLUpload website that I found it was actually GPL.

So if your going to release stuff as GPL be aware that it is a restrictive license, while it does encourage sharing it can also stop people from using the code and in some cases, from even being allowed to look at the code.

Tagged with:
Posted in None
Archives