As of February 2012 13th beta builds of the development branch of FileSender 1.5 are available in the various unstable repositories. Note that the 1.5 code is not completely stable yet and can and will change. Do not use the 1.5 builds on a production server. Basic functionality however should work and we appreciate all input on the beta builds, most notably about compatibility with the various browsers (both HTLM5 and non-HTML5) and using MySQL as backend database.
Installation and configuration of FileSender 1.5 can be done by following the relevant documentation for version 1.0.x. Exceptions and additions are listed below.
(Pre-)release Debian and RPM packages are available in the unstable Debian and RPM package repositories.
Regularly updated .tar.gz and .zip distribution files are available from http://repository.filesender.org/unstable/ and for official beta releases at https://download.filesender.org/ See Installation - Linux Source for general installation instructions.The latest code for (pre-releases of) 1.5 is always available from the Subversion repository. You can create a local working copy with:
svn co http://subversion.assembla.com/svn/file_sender/filesender/branches/filesender-1.5
If you want to track the more rapidly changing development-code of 1.5 (and further) you can use the SVN trunk:
svn co http://subversion.assembla.com/svn/file_sender/filesender/trunk
1.5 uses the HTLM5 FileAPI for large uploads which means that Gears is not needed anymore. For large uploads you'll need a modern browser which can use the HTML5 FileAPI, for example FireFox 4+ and Google Chrome. For 'older' browsers (including IE9 and Safari 5.1) without support for the HTML5 File API uploads are limited to 2 GB and still require Adobe Flash.
FileSender 1.5 does work with PHP 5.2.x but on some platforms 5.3 might be required due to secondary dependencies.
Filesender 1.5 introduces a database abstraction layer to be able to use either PostgreSQL or MySQL based on PDO (available on most default PHP installs).
As of 1.5-beta2 the ./config directory as distributed only contains a sample config-dist.php file. All other templates/sample files have been moved to ./config-templates or their contents have been merged into the ./language/* files. This means that when unpacking a release file won't overwrite existing configuration files. To get a working configuration copy config-dist.php to config.php and make the appropriate changes in config.php.
As of 1.5-beta2 (or svn trunk revision 1297) the naming of the language files has changed. Also as of 1.5-beta2 the 'customisable' language files that used to be in ./config have been merged with/moved to the distribution language files in ./language. Due to the changed naming scheme, language files that are in ./config won't be used anymore except for the file locale.php. If you don't have local customisations you should remove locale.php and other language files from the ./config directory. If you do have local customisations please change ./config/locale.php and (if applicable) the names of the language files according to the naming scheme described in ./language/README.language.
Due to a change in the back-end workflow the database type of the fileto and corresponding logto columns needs to be changed from varchar(250) to text. Not doing so will break uploads to multiple recipients exceeding the 250 character limit when combined.
For Postgresql:
#sudo -u postgres psql filesender
ALTER TABLE files ALTER fileto TYPE text;
ALTER TABLE logs ALTER logto TYPE text; \q
For MySQL:
#sudo mysql filesender
ALTER TABLE files CHANGE fileto fileto text default null;
ALTER TABLE logs CHANGE logto logto text default null;
quit
#sudo -u postgres psql filesender
ALTER TABLE files ALTER fileip6address TYPE character varying(45);
\q
#sudo -u postgres psql filesender
ALTER TABLE files ALTER fileauthuserid TYPE character varying(500);
\q
Configuration of the database connection parameters in config.php has changed to a database-type independent method. The old PostgreSQL-specific pg_* settings are now obsolete and must be replaced with their new equivalents (db_*) including a specification of the database type:
$config["db_type"] = "pgsql";// pgsql or mysql
$config['db_host'] = 'localhost';
$config['db_database'] = 'filesender';
$config['db_port'] = '5432';
// database username and password
$config['db_username'] = 'filesender';
$config['db_password'] = 'yoursecretpassword';
To accomodate more elaborate PDO database settings a DSN style database setting can be configured which will override the db_* settings:
//Optional DSN format overides db_ settings
//$config['dsn'] = "pgsql:host=localhost;dbname=filesender";
//$config['dsn'] = 'pgsql:host=localhost;dbname=filesender';
//$config['dsn'] = 'sqlite:/usr/share/filesender/db/filesender.sqlite';
//$config['dsn_driver_options'] = array();
// dsn requires username and password in $config['db_username'] and $config['db_password']
description: the 'URL' pointing to the FileSender database
default: none
** Volunteers needed for testing and documenting **
Currently all documentation and the RPM and Debian packages are based on using PostgreSQL as database backend. With 1.5 it is possible though to use MySQL. A sample SQL-script to create the database is provided in scripts/mysql_filesender_db.sql
A number of configurable settings have been moved to the language files in ./language. They still can be customised. See [TBD] for details.
-Date display format
The display formats of dates are now defined in the language files for all browser pages.
$config['datedisplayformat'] -> $lang['datedisplayformat'] (default "d-m-Y" for en_AU))
The $config['datedisplayformat'] is at this moment still used for formatting the exipry date of a file/voucher in outgoing mails.
Note: The display format of dates has been changed to use the PHP-format (instead of the previously used Flex format). The old format used in 1.1 was DD-MM-YYYY which when used in 1.5 will give you something like 'WedWed-SepSep-2011201120112011' . Please keep this in mind when transferring a custom format from a config.php in 1.0.x or 1.5 svn versions dated before August 24th 2011.
- All AuP related textual settings
$config["AuP_label"] -> $lang["_ACCEPTTOC"]
$config["AuP_terms"] -> $lang["_AUPTERMS]"
- Site 'splash' text
$config["site_splashtext"] -> $lang["_SITE_SPLASHTEXT "]
The previously unused $config['site_defaultlanguage'] setting is as of 1.5-beta2 used to set a default language when the browser has an unsupported language preference. The (new) default is 'en_AU'.
$config['site_defaultlanguage'] = 'en_AU' ;
- Setting for maximum filesize
The max_gears_upload_size config setting is now obsolete and has been replaced with:
$config['max_html5_upload_size']
- URL for information on HTML5
The gearsURL setting has been replaced with a new HTML5URL setting:
$config['HTML5URL'] = 'http://html5test.com/';
- The upload chunk size for HTML5 uploads is now a configurable setting
$config["upload_chunk_size"]
As of revision:858 the semantics of aboutURL and helpURL in the config.php have changed. They can now point to a *page* resulting in a new page being opened in a new tab, or they can be empty, resulting in a popup. The new defaults as of 1.5 are the empty value ("") Note that the popups are "not popups as per opening a popup window but modal inline popups that have nothing to do with popup blockers.". The popup is populated from the language file, using _HELP_TEXT and _ABOUT_TEXT. You can have a localised override in your config directory [TBD].
Relevant config.php directives:
$config['aboutURL'] = "";
$config['helpURL'] = "";
Relevant settings in language files:
$lang["_HELP_TEXT"]
$lang["_ABOUT_TEXT"]
$lang["_AUPTERMS"]
as of revision:871 the temp directory is no longer used for FileSender specific actions. This means the config directive $config["site_temp_filestore"]; is no longer used. If you have configured PHP to use the previously configured site_temp_filestore you can keep that directory and it will still be used for Flash uploads. The setting and use of that directory is now however only defined in the site-wide PHP settings. It is still advised to keep that directory on the same disk partition as the FileSender filestore.
$config["displayerrors"] = false; // Display debug errors on screen (true/false)
$config["upload_chunk_size"] = '2000000';
As of beta3 it is possible to use a configurable 'shred' command in the daily cron job to securely wipe instead of just 'unlink' expired and deleted files. Note that this will increase the time needed for the cron job to run significantly. Sites running the cron job with an increased frequency (instead of daily) should check the timings carefully. The default is to just unlink the files, to activate check if the command to be used is available and set $config['cron_shred'] to true.
$config['cron_shred'] = false; // instead of simply unlinking, overwrite expired files so they are hard to recover
$config['cron_shred_command'] = '/usr/bin/shred -f -u -n 1 -z'; // overwrite once (-n 1) with random data, once with zeros (-z), then remove (-u)
{htmlfileoriginalname} : HTML version of {fileoriginalname}
{filemessage_start} and {filemessage_end} : markers for begin and end of the (optional) personal message
[To be done]
none
The 1.5-xxx Debian and RPM packages will update any previous (package) install of FileSender, including 1.0.x stable and testing packages. As of 1.5-beta1 the versioning has changed slightly if you have installed a 1.5.0-* Debian/RPM package from before 1.5-beta1 this means that you'll have to 'downgrade' the package, for example:
RPM: 'downgrade' to filesender.noarch 0:1.5-0.1.beta1
yum downgrade filesender
Debian: 'downgrade' to filesender_1.5~beta1
apt-get install filesender=1.5~beta1
When upgrading the previously unstable 1.0.x-yyyymmddhhmm versions any empty directory created by the older version will be removed. If you're using the experimental Mail Bounce Handling you'll need to manually recreate and symlink the maildrop tree.
The unstable and testing repositories have SimpleSAMLphp 1.8.x packages. As of version 1.7.0 the Debian SimpleSAMLphp packaging switched the default baseurl from 'simplesaml/' to 'simplesamlphp/' to adhere to standard Debian policies. This change is also refelected in the FileSender packages in testing and unstable. This might break upgrades from previous versions that were installed with SimpleSAMLphp version 1.6.3. Please check the relevant settings in /etc/simplesamlphp/config.php, /etc/filesender/config.php and your webserver config (Alias statements).