PDA

View Full Version : Commit ChangeLog (Build 377 to 391) - Watchers, Audit Log, Fixes


jstanden
10-19-2007, 08:20 AM
There's quite a mix of features and tweaks in this update. The big news is the E-mail Notifications (Watchers) and Audit Log plugins have been added. We've also been putting in some late nights keeping on top of the issues you guys are reporting here in the forums. ;)

The normal update process applies:
http://wiki.cerberusdemo.com/index.php/Upgrading_to_Newer_Versions_of_Cerberus_Helpdesk_4 .0

If you were having any of the SC/KB community tool issues, make sure you copy the new index.php file from Community->Tool->Installation to your appropriate community tool webpaths.


* Updated YUI to 2.3.1

* Fixed a bug with 'peek' in ticket lists which would no longer work after a refresh (from moving/spam/delete/etc)

* Fixed a bug where the 'tickets' menu shortcut of linking back to the last subsection would break on certain subsections (e.g., control panels) because they expected $_REQUEST arguments. Now the shortcut will only be remembered for workspaces and search.

* Locked down the Group control panels.

* API: Added a $worker->isTeamManager($team_id) method to help simplify ACL.

* Fixed a bug with the latest YUI 2.3.1 which affected Batch Update and E-mail Templates

* CHD-208: bypass memory_limit check when it's null

* The installer will now redirect upgrades to the normal /update process.

* Added a workaround for the Extension_UsermeetTool classloading bug that has recently been plaguing some new installs. This ultimately depends on the new Devblocks plugin dependencies code, but under the current circumstances everything should now work fine no matter what order the plugins are loaded from the database (because, for example, usermeet.core is what invokes its child plugins like usermeet.sc -- they won't spontaneously run out of order).

* Added better display defaults to the KB + SC community tools. For example, if someone hasn't set up any contact situations yet the SC will simply display a contact e-mail address rather than "Choose:" with an empty list. Searches with no results will now report as much.

* Added more useful output to the Simulator->Generate action. Previously this didn't say anything about creating tickets or ignoring errors.

* Made the Display->Properties->Requesters area more clear. People were getting confused about what the checkboxes do since they weren't labeled (they delete them).

* Cleaned up some E_NOTICEs in the installer.

* Fixed the bug with the Support Center CAPTCHA

* Added the E-mail Notifications (Watchers) plugin. Enable the plugin from Configuration then go into 'My Account->E-mail Notifications'.

* CerberusParser will now automatically proxy any worker replies it receives which reference an existing ticket. This means worker replies sent directly to the helpdesk from a worker's private e-mail account will have the sender rewritten as the helpdesk then be proxied to the requester list as if the reply came from the helpdesk web UI.

* Workers can now associate alternate e-mail addresses to their account in 'My Account' (DAO_AddressToWorker). Currently the watchers code uses this to allow worker to send notifications to any e-mail address (handheld devices, etc). Though these addresses can now be used in interesting ways by any plugin/feature.

* Split the worker Preferences area up so it uses tabs. The tabs are a new extension point (cerberusweb.preferences.tab / Extension_PreferencesTab).

* Added two new event points to Application (ticket.reply.inbound and ticket.reply.outbound). Plugins can now add themselves to these events to perform arbitrary functionality at these points.

* Added a CerberusMail::quickSend() function to Application for simple outgoing e-mail (forgot password, confirmation codes, etc). This spares a developer from needing to set the headers, lookup the DEFAULT_REPLY_FROM, etc.

* Moved the 'RSS Notifications' feed list into 'My Account' rather than 'Mail'.

* Cleaned up the "Access Denied" error when following a URL from RSS after a session expired. This will now prompt for a login, then redirect to the desired location again.

* Fixed the /cron Javascript error in IE7.

* Simulator-generated tickets will now properly create a Message-Id header. This helps with testing and threading.

* Tweaked the Knowledgebase RSS feeds so they're properly UTF-8 encoded.

* Added the Audit Log plugin. Enable it from Configuration->Plugins, then click into Display Ticket for any ticket and select the 'Audit Log' tab.

* Added Ticket Tab extensions (Extension_TicketTabExtension / cerberusweb.ticket.tab). This will allow plugins to create a new tab on the Display Ticket page for pretty much anything.

* Tweaked the way C4_AbstractViewLoader persists abstract view states in the session scope. It will now just persist the model information (class, id, name, params, columns, page, etc). This saves us from trouble when a plugin defines a new C4_AbstractView implementation and then the plugin is disabled. The session scope would complain about not being able to find the class to unserialize the view loader's registry. Now views states are only instantiated when they're requested. This also makes it much easier to save view states between logins.

* Added new event point 'ticket.properties.changed' to DAO_Ticket::update(). Removed the 'ticket.moved' event and refactored its listeners to use this new event.

* Added ticket subject editing to the Display Ticket->Properties tab.

* Added some fixes to the Community Tool proxy (the index.php file for SC/KB) for webservers that have trouble with URLs that contain spaces (such as from tags in the KB). This seemed to be happening mostly on Windows-based servers.