FileSender Documentation

FileSender is an open source web based application that allows authenticated users to securely and easily send arbitrarily large files to other users.
Download FileSender Browse source code Report a bug

Development upgrade notes

Development notes on all changes that happened in version 2.0. These will be taken as input for the upgrade notes which will be the condensed version.

Upgrading from v2.0 alpha to v2.0 rc1

You should already have Apache and your choice of database (PostgreSQL or MariaDB etc). If you are going to bring the same database forward it is recommended that you take a snapshot of the database (pg_dump, mysqldump etc) before proceeding. The installation notes would have installed FileSender into the directory tree at /opt/filesender.

What you’ll need to do to upgrade is:

  • Backup your database
  • Backup your filesender installation, especially if you’ve made local modifications to pages or code
  • Install the v2.0 beta code from packages or by unpacking the tarball
  • Run the database migration script to update anything and create new database indexes for a performance boost
  • Install your config.php into your new FileSender, for example to, /opt/filesender/config/config.php

Backup your database

You will likely want to use pg_dump or mysqldump for this step.

Backup your filesender installation

For example using one of the following. Note that filesender/logs and filesender/files might be very large directories so you might like to omit them from the backup as shown below. This should result in an archive that is in the order of 50Mb in size.

cd /opt/
tar -czvf ~/filesender-old.tar.gz \
   --exclude files \
   --exclude .git  \
   --exclude logs  \
   --dereference   \

The below is a more complete backup but might also consume a lot of disk space to backup each file that has been uploaded to FileSender. So depending on what the du command gives you then you might be consuming a bunch of disk space for the backup.

cd /opt/
du -sh ./filesender/files
cp -avL filesender filesender-2.0alpha

Install the v2.0 beta code

This should follow the directions for installing from the install page.

Run the database migration script

The following command should update the database as needed.

php /opt/filesender/scripts/upgrade/database.php

Install your config.php into your new FileSender

The old config shouldn’t have been replaced by the above, but making it explicit can’t be a bad thing. For example, using

cd /opt/
cp -avL filesender-2.0alpha/config/config.php filesender/config/config.php 

Upgrading from 1.6 or older

WARNING: These are very old instructions you might like to consider a fresh install if moving from a version prior to the v2.0 alpha/beta releases.

Database handling

  • The 2.0 database initialisation script populates the filesender database with tables based on the class definitions. This means the database initialisation script and FileSender can now detect whether the database contains the appropriate tables and fields. This also means you do the database initialisation after the FileSender configuration

Config directives that no longer exist

  • customCSS: overrides in skin directory. Override by add default.css or style.css in skin directory. In order to lib_ jquery_ui.css (font awesome), css_default.css, skin_styles.css. Have to create a styles.css under skin directory. (can be named otherwise). In future can also add scripts.js to skin directory to allow for local extra javascripts. If there is a logo.png file in skin directory it will be used as backdrop. Otherwise use logo file in image directory. Allows customise filesender and not lose things when update. Document purpose of skin directory. And need to document templates.
  • datedisplayformat: in language files
  • upload_box_default_size (was available in 2.0 prototype summer 2013): done in CSS, override CSS in skin directory.
  • displayerrors (available since 1.0?): error mechanism was overhauled.
  • dnslookup (available since 1.0): in audit logs etc. are logging IP-address. We’ll see if someone asks for this.
  • client_specific_logging (available since 1.0): error mechanism was overhauled.
  • client_specific_logging_uids (available since 1.0): error mechanism was overhauled
  • db_dateformat: in language file
  • crlf
  • voucherRegEx
  • voucherUIDLength
  • openSSLKeyLength (introduced in 2.0 summer 2013 prototype)
  • emailRegEx
  • webWorkersLimit (since 1.6)
  • auth_sp_saml_simplesamlphp_url
  • site_filestore:
  • log_location
  • cron_exclude_prefix
  • cron_cleanuptempdays
  • filestorage_filesystem_file_location (2.0 prototype?)
  • filestorage_filesystem_temp_location (2.0 prototype?)
  • statlog_enable (prototype?): built-in in lifetime parameter
  • auditlog_enable (prototype?): built-in in lifetime parameter
  • max_flash_upload_size: the Flash upload component is now removed.