PDA

View Full Version : Commit ChangeLog (Build 594 to 603) - Major Performance Boost, Security, Cleanup


jstanden
05-21-2008, 01:43 AM
* CHD-541: Compose does note honor mask-in-subject-line setting.

* Fixed a bug with group inbox rules on senders on ticket move events. All rules on parsing worked fine, but nested rules (Group1->Group2->Group3) from moving tickets between groups (even from another rule) that acted on the message sender weren't working properly.

* Added a 'Storage' tab to Configuration which shows how much disk space the database, indexes and attachments are using. It will also tell you approximately how much space you'd save by optimizing the database (clearing deleted row slack).

* Split 'Helpdesk Setup->Mail' tabs in Configuration into 'Mail Servers', 'Pre-Parser', 'Mail Parser' to reduce clutter and confusion.

* CHD-445: [Feature Request] Pre-parse rules in Config->Routing (for dealing with Spam etc.)

* CHD-672: Editing group/buckets from a worklist pop up appears to be an option but can't be done.

* ChFilesController::isVisible() wasn't being checked on file downloads (security hole) Team access permissions added.

* Removed the constant flush() calls from the built-in scheduled jobs to improve performance, since most calls to /cron are just redirecting output to /dev/null in crontabs anyway.

* Tweaked Application::checkRequirements() to not consider a blank/default '[php.ini] upload_tmp_dir' a fatal error.

* Implemented a short-term, long-term cache manager around Zend_Cache and _DevblocksCacheManager. This will now use a static registry to give lightning fast cache lookups on any repeatedly used caches for the life of the HTTP request. A lot of conditional logic was improved to make it acceptable to cache an empty value opposed to a NULL one (meaning the long-term cache won't be checked every time you ask for the cache of something that don't have any instances of: mail rules, buckets, etc). This should provide a massive performance boost to every Devblocks application. For best results, you should set the php.ini memory_limit directive to something like 32M.

* Added a destructor to the ParserFile class to make sure we're always cleaning up mime-parts from the /libs/devblocks/tmp directory even if we bail out of parsing early (invalid e-mail, invalid sender, blocked by preparse rule, etc). You'll probably want to run a quick cleanup from that directory using the Linux shell:
find * -maxdepth 0 -type f -name "mime*" -mtime +1 -exec rm {} \;