combined static 'home' page with HILIS4 login page for single-click login function; TODO - static pages need to be simple redirects to application address
added url_base to cgiapp_prerun(), refactored multiple calls to ->query to ; added part_number to storage module; restored 10-digit storage vialId + validation; bugfix to update_storage_vial(), failed validation due to duplicate vialId and old update method didn't do changes_only; added online request form link to guest user hello page; moved token generation from Resources menu() to Role::Resources::create_form_tokens() for sharing between menu() & hello()
new setting 'is_test_platform' to exempt test server from portal login requirement; new outreach worklists unreported and unauthorised; added user-configurable duration option on unreported worklist, shared with outreach unreported; adapted Resources token generation function to provide encrypted username for online request forms; bugfix to _xna_extraction() - lc on query param extraction_type gave error if param undef
spell-check changes: add-new-word function now puts terms in temp file for assessment by admin before importing into site-specific personal dictionary; rebuilt en-medical.rws (extra-dict) from edited contents of old personal dict (.aspell.en.pws) - moved all acronyms/abbreviations into new personal dict (.aspell.leeds.pws); LIMS::_create_user_profile() adds users 'centre' param to session user_profile; adapted spellchecker.pl to work with new dictionary format
modified init_db to actually disconnect and return a new dbh; patient merge now handles patient notes - needs further work to handle demographics which are being deleted at present; switched log_process_size off
added process size logging facility to fastcgi process; authorised/incomplete records worklist displays outstanding lab tests; added cd SCRIPT_DIR to fcgi script so git version info loaded when restarted from outside HILIS4 dir
changed method of determining timeout in _authen_config() from examination of user.designation to whether user has the do_admin function, so user can keep descriptive designation and still get admin timeout setting
documented CAP::MessageStack failure with yaml session serializer unless YAML::Syck installed; field content checks for gallium_data.pl; report_link_options.tt amended to work with authorisation function disabled