From Cerb Wiki
(Redirected from 5.4.0)
Jump to: navigation, search

Cerb5 (5.4) is a major functionality update released on May 9, 2011; it contains over 294 new features, fixes, and usability tweaks from community feedback. 111 additional improvements have been provided through 6 maintenance updates.

This is a summary of the highlights of this release. You can find the detailed changelog in the forums.

You can download the release files from the project website.

  • To check if you qualify for this release as a free update, view Setup->System->License Info. If your software updates expire after April 27, 2011 then you can upgrade without updating your license.
    Cerb 510 license expires.png
  • Visit the project website to subscribe to feature updates on your existing license.

Important Release Notes

  • Make a backup before upgrading.
  • The auto-signature position (above/below/none) is now a per-worker setting rather than global. Workers who have a preference should set this in 'my settings'.
  • The 'prepend worker name to From' group setting has been removed. In its place you can now use a wide variety of tokens in the personal section of the From: header. This should also assist with situations where people wanted to only display the a worker's first name, etc.
  • Group Inbox Routing and Anti-Spam are now handled by the group's Virtual Attendant. Previous settings have been auto-migrated by the 5.4 patch, but you should review your group configuration to take advantage of the new flexibility.
  • The Audit Log plugin has been deprecated. This functionality is now provided by the global Activity Log.
  • The Watchers plugin has been deprecated. Watchers are now a service of the Cerb5 platform, and there are some important differences with the previous incarnation (see below).
  • Merged the 'usermeet.core' plugin into 'cerberusweb.core'. Community Portals are now a common part of the platform. Enabling the Support Center plugin no longer has hidden dependencies.
  • The 'multi-picklist' custom field type has been removed, since in almost every way the implementation was the same as multi-checkbox, and checkboxes are more user friendly than CMD/CTRL combinations for multiple selection. All multi-picklist custom fields will be automatically converted to multi-checkbox by the upgrade script.


Cerb5 is now licensed under the Devblocks Public License.


  • The 'signed on as Worker' text in the top right is now a link with a menu. The menu provides shortcuts to: my profile, settings, notifications, virtual attendant, watchlist, history, and sign out. It also saves a lot of screen space in the top right.
    Cerb54 worker menu.png
  • Added the 'hoverIntent' jQuery plugin by Brian Cherne <http://cherne.net/brian/resources/jquery.hoverIntent.html>. This improves the UI hover events by watching if the mouse slows down near a target before triggering a hover. Otherwise hover events can be quite annoying if they're instantaneous and trigger when the mouse quickly moves past them on the way to something else.
  • Clicking the Notifications alert now always opens Explore mode.
  • Worklist rows that are selected will now show a residual highlight style that will make it much easier to visually separate selected rows (rather than only having the checkbox as a visual aid). This also works with 'check all' and 'check none'.
    Selected worklist rows are now much more prominent.
  • Added a 'pointer' cursor to worklist rows to make it more obvious they are clickable. Clicking them is a shortcut for toggling the row's checkbox.
  • Added a 'move' mouse cursor to the 'drag' handle icon everywhere it is used. This should make it more obvious that you click and drag the icon to rearrange items in lists.
  • Moved the 'signature position' setting to per-worker preferences. Previously this was a global setting that couldn't be overridden.
    Each worker can now set their mail signature preferences.
  • [CHD-1125] Added an option to worker preferences that allows the auto-inserted signature to be disabled. This allows signatures to be added manually (e.g. from snippets).
  • [CHD-1220] Added an experimental keyboard shortcut (Ctrl+Shift+G) for inserting a signature into the message from the Reply screen.
  • Added an experimental keyboard shortcut (Ctrl+Shift+I) for inserting a snippet into the message from the Reply screen. The shortcut will focus the snippet autocomplete text box; and selecting a snippet for insertion will automatically refocus the message textarea.
  • The comment 'notify' options will now only be displayed if there is content in the comment textarea. This helps to reduce visual clutter in the UI.
  • Creating a ticket on behalf of the requesters will now use the provided message content as the original message from the customer. Previously the message content was appended as a worker reply. The main reason for this change is to support the new Attendant behaviors which were confounded when there was an instant worker reply that changed the 'last' properties (sender/etc) for these messages.
  • [CHD-694] Added a pop-up warning if navigating away in the middle of writing an email reply on a ticket.


Cerb54 watchers button.png

Workers can configure which activity log events trigger automatic notifications for records they're watching.
  • Added a reusable watcher button to worklists that allows workers to follow or unfollow any piece of content in the application in a single click. By following (or 'watching') content you can receive notifications when it's updated -- such as when a customer replies to a conversation you're watching, or when a task you're watching is completed by another worker. This replaces the concept of 'owners' in earlier versions; ownership will no longer hide content.
  • Each worker can now choose which activities they want to be notified about on watched objects. This can be configured from 'My Settings->Watcher Notifications'. For example, it may not be useful to be notified when other watchers start/stop watching something you're currently watching, or when someone adds/removes links, or when tickets are marked open or 'waiting for reply' (as that happens for every reply, and replies have their own activity log entries).
  • Mail in 'Workflow' is no longer hidden when someone is watching it. Since the concept of 'owners' has been improved into 'watchers', this makes it much easier to notice when other workers are watching particular mail conversations. When mail is hidden, it makes it difficult for other workers to step in and help customers if the primary worker is away -- and this is one of the primary functions of a helpdesk. You can still filter conversations to those which have zero watchers to emulate the old behavior. You can also add a 'worker' custom field to tickets if you want to enforce individual assignments (and you can use that custom field to hide mail with an assignee). You have options, we're just not going to hide mail as a default going forward.
  • The comment 'notify' list on peeks will always notify watchers, and a notification will not be sent to the worker authoring the comment.
  • Watchers are now notified when the status of opportunities changes: open, closed/won, closed/lost.

Virtual Attendants

Virtual Attendants allow you to define incredibly flexible business logic and workflow based on decisions, outcomes, conditions, and actions.
A group's Virtual Attendant can be given complex instructions to automate various behavior.
  • Implemented Virtual Attendant functionality which is aimed at replacing the previous incarnation of mail rules and event listeners to provide much more sophisticated business automation using "decision trees". Prior to 5.4, mail rules were "serial" -- meaning that all your rules ran in order until a particular rule said to stop. This approach made it very difficult to provide complex behavior, such as having different responses based on the combination of 'day of week' and 'time of day'. With decision trees, complex behavior can be built in small steps, such as: Is it a weekend? Yes/No. For each of those outcomes there can be additional decisions: Is it after 5pm on a Friday? Does this sender have an SLA?
  • Decision trees observe 'events'. A decision tree is a collection of: decisions, outcomes, and actions. Each decision can have multiple outcomes (e.g. yes/no, high/normal/low, Mon/Weds/Fri). Each outcome can have multiple conditions (e.g. day of week, month of year, sender name, ticket subject) and actions (e.g. send email, create task, create notification). Decisions can be nested to any depth; for example, you can check if the current day is Friday, and then check if it's before or after 5pm, and then whether or not the sender has an SLA. At each point you can define behavior for all outcomes of a decision, or you can only provide actions for very specific cases while ignoring the rest. This helps open up previously hardcoded behavior: auto-replies, anti-spam, etc.
  • Decision trees will automatically handle conditions that are associated with these types: string, number, boolean/checkbox, date, dropdown, multi-picklist, multi-checkbox, worker, month of year, day of week, time of day.
  • Decision trees provide these reusable actions: create comment, create notification, create task, create ticket, send email, add watchers, set custom field
  • Virtual Attendants can be utilized and expanded by any plugin. Plugins can add new events, conditions, and actions to decision trees.
  • Plugins for Virtual Attendants and Decision Trees are designed to be lightweight and highly reusable. In many cases you can use one the built-in data types for a new condition (e.g. string, URL, number, checkbox, dropdown) without having to write any comparison code. Common actions (e.g. create task, send email) can also be reused for new events, often with a single line of code.
  • Virtual Attendants and Decision Trees are designed for performance. An event manager queries 'triggers' to see if there are any listeners for a particular event. If not, no extra logic is performed. If there are listeners, the values for the related objects are loaded once, cached, and shared with every event. This saves each event from needing to retrieve objects from the database on it own, which is a major boost for performance and scalability. Additionally, events in 5.4+ can now be directed at particular types of listeners (e.g. workers, groups) or even particular listeners (a specific worker or group) which reduces the amount of work needed. Most of these checks are done using 'manifests', which means that event plugins don't need to be executed or loaded into memory until they are absolutely needed. This is far more efficient than executing every plugin to determine if they are needed.
  • Any object in the helpdesk can have a Virtual Attendant. Most commonly, workers and groups have Virtual Attendants, but it is possible for more exotic record types to have attendants too; for example, a particular conversation could have a dedicated Virtual Attendant that reacts to events only when they happen to that conversation. This enables incredibly flexible and powerful workflows to be built.
  • You can now create outcomes where 'any' condition being true is sufficient. This is useful if a decision needs to be made based on a list of valid options where the action taken would be the same.
  • Added the ability to create multiple groups of conditions on a single outcome. Each group can use an 'any' or 'all' strategy. For example, a single outcome could check that a sender email address is 'any' of a number of conditions (each with its own operator and value; e.g. matches wildcard, but doesn't contain these words) and that additionally 'all' of another group of conditions are met. This reduces the complexity of Virtual Attendant behavior by removing the requirement to 'nest' outcomes when mixing any/all.
  • Improved the usability of the Add Condition functionality when creating Outcomes by implementing a menu with a search filter. Now when you add a condition you can type a few letters and quickly select the desired criteria without scrolling in a long list. After making a selection the menu will remain open and re-focus the search box. This allows you to quickly add several conditions with fewer clicks compared to the previous dropdown.
  • You can now drag/drop conditions when creating an Outcome. You can drag conditions between 'any/all' groups.
  • You can now have multiple popups open when editing a decision tree on an Attendant. This makes it much easier to condense duplicate outcomes/actions.
  • When you save changes to decision tree nodes, the tree will reload via Ajax without reloading the page or closing any other popups you have have open. This makes it much easier to work with complex behavior.
  • Group custom fields can now be used in Virtual Attendants.

Activity Log

The Activity Log tracks record-based events and makes it easy to view worker-based or record-based logs.
  • Implemented a new Activity Log service which can automatically track activity happening to any record type (e.g. tasks, tickets, addresses, opps). Copies of this activity automatically generate notifications which are sent to any watchers. The primary concepts in the activity log are 'actors' (the subject) and 'targets' (the object), although there is no requirement to follow this pattern. This provides a very simple and efficient way for watchers to follow changes to records of interest without requiring them to set up Attendant behavior or other complicated filters. These notifications can still be configured to send email/SMS/IM/etc. This replaces the previously built-in notifications for new assignments and comments.
  • Activity log entries can be output in various formats: HTML (markup and hyperlinks), Markdown, email (most important link appended to plaintext), or plaintext (no hyperlinks or markup). This is very useful, as plaintext can be used to generate the summary text of notifications from the activity log, while HTML can be used to provide richer semantic information in the web interface.
  • An 'Activity Log' tab can be added to any page (including those provided by plugins) in a single line with no custom implementation code. This tab can display the activity log from the actor or target perspective. The actor perspective is used on profiles to show everything a particular actor has affected, while the target perspective is down on object records to show all the actors that affected them.
  • The Activity Log provides automatic actor-detection if no actor is provided when logging new activity. This involves detecting whether a change is happening as the result of Attendant behavior, or the current worker session. Activity that is the result of automated behavior is tagged as such to make it easier to find misbehaving business automatic logic. This also means that the '{{actor}}' token can be used in any log entry without needing to provide a variable or URL for it.
  • Activity Log entries can provide any number of hyperlinked tokens in the message. For example, in the log entry "Jeff Standen moved ticket '[ABC-12345-678] Help me' to group 'Support'", hyperlinks can be added to 'Jeff Standen', 'ABC-12345-678' and 'Support' that direct the reader to the worker profile, the ticket profile, and the group profile.
  • Activity Log entries can now be provided by the translation system, but care must be take that the {{tokens}} are not translated.
  • The Activity Log improves usability contextually from the 'target' perspective by hiding the target token and hyperlink in all log entries. For example, a log entry that says "Jeff Standen commented on task 'This is something we need to do': This is my comment" will display as "Jeff Standen commented on task: This is my comment" when viewed from the task itself. This removes a lot of unnecessary noise (i.e. a link doesn't need to be provided from the record you are currently viewing). When viewing the same log entry from the worker profile it will show the task name and link as well.
  • Adding a comment to any record will now automatically generate an Activity Log entry. As often requested prior to 5.4, the content of the comment will be shown in the notification visible to watchers.
  • Changing the status of a ticket will now automatically generate an activity log entry that will send a notification to watchers.
  • Linking two records will now automatically generate an activity log entry that will send a notification to watchers. This is done for both sides of the link.
  • A watching following or unfollowing a record will now automatically generate an activity log entry that will send a notification to other watchers.
  • A worker replying to a ticket will now automatically generate an activity log entry that will send a notification to watchers.
  • A contact replying to a ticket will now automatically generate an activity log entry that will send a notification to watchers.
  • Added an 'Activity Log' tab to the display page for: calls, contacts, domains, feed items, opportunities, organizations, servers, tasks, tickets, and time tracking.
  • Added an 'Activity Log' tab to worker profiles. This shows from 'actor' perspective, so it will be all the activity for that worker across all record types.
  • The Activity Log will now send automatic notifications to watchers of either the actor -or- the target. This means if you're watching an address and they send in a new message (as an actor) you will get a notification automatically.
  • The Activity Log will now record organization merge events.
  • The Activity Log will now record ticket merge events.
  • The Activity Log will now use distinct events if someone else assigns/unassigns a watcher instead of that person following/unfollowing a record on their own. This becomes the first notification that someone sees when they are assigned something by an Attendant, a manager, etc.
  • Activity Points can now be defined in the plugin.xml manifest. This allows the localization of the log entry messages and the label for the activity (e.g. Ticket Closed).
  • Arbitrary Activity Log worklists now have their own ID and are flagged as ephemeral. This means multiple activity log worklists for the same worker on different browsers or tabs won't interfere with each other. Additionally, they're cleaned up between sessions.

Email Relay (Mobile)

See the full details with examples at: http://wiki.cerb5.com/wiki/Email_Relay

  • [CHD-985] [CHD-839] You can configure Attendants to relay mail to external worker email addresses. This allows workers to take advantage of many helpdesk features through a standard email client; which is especially useful on mobile phones. This works for new messages in groups (configured by a group manager) as well as new messages on watched conversations (configured by a worker). This replaces the old email gateway functionality, and it can be expanded to work with all object types, not just tickets (e.g. replying to a notification about a task can add a comment and set a due date). A large number of 'tags' are supported that can be inserted into the reply, giving instructions to the helpdesk, which are unseen by the requesters who receive the final message.
  • Implemented several new tags for giving instructions to the helpdesk through a regular email client: #watch (start watching), #unwatch (stop watching), #sig (insert signature), #status (change status), #reopen (set reopen date), #comment (add comment), #noreply (don't broadcast to requesters), #cut (don't relay below this line).
  • Workers can now configure custom watcher email notifications. For example, the default watcher email template now sends a direct URL to the ticket; but any other snippet content can also be used. Lines that begin with '##' will be stripped from a reply by the worker from their external email client. It's suggested that you prefix anything with '##' that you wouldn't want a customer to accidentally read (like your helpdesk URL).
  • The Virtual Attendant will now relay mail copies with the Reply-To header as the proper group or bucket. This is something that the watchers functionality prior to 5.4 never did properly.


You can subtotal mail by an organization custom field for Service Level.
You can subtotal organizations by country.
You can subtotal tasks by a custom field for project.
  • Clickable subtotal sidebars are now available on _EVERY_ worklist. Subtotals are now a service of Devblocks making it incredibly simple for third-party developers to add subtotals functionality to worklists of custom objects.
  • Previously the subtotal options on ticket worklists were hardcoded, making it seem strange if certain subtotals were available if their search filter wasn't (e.g. "status" on Workflow). Subtotals now automatically follow the behavior of their parent worklist and they'll automatically hide choices when they aren't useful.
  • Worklists will now persist your preferred subtotal field even if you disable subtotals for a worklist and re-enable them later. Your preferences are remembered per-instance -- meaning each workspace can retain its own unique perspective. This is incredibly useful.
  • The following custom field types are automatically available to subtotals functionality for all worklists (including those from plugins): checkbox, picklist, multi-checkbox, multi-picklist, text, and worker.
  • Subtotals functionality can automatically handle record fields that are text strings, booleans, and watcher lists. This makes it much quicker to add more kinds of data to subtotal.
  • Any worklist can extend and override the subtotal functionality per field. For example, ticket worklists have an implementation for 'status' and 'group' subtotals that provide specialized behavior (e.g. buckets subtotaled per group).
  • You can now use the new subtotals feature on a notifications worklist to find duplicate URLs and batch 'mark read' them. For convenience, subtotals will strip the base URL of your helpdesk to make it easier to read the useful part of the link (e.g. display/ABC-12345-678).
  • Added a hover highlight effect to subtotal options, and you can now click anywhere in a subtotal row without having to click directly on the link.


This shows a workspace with several worklists being "lazy loaded".
  • Implemented a 'lazy loading' system for viewing a large number of worklists on a single workspace. In the past the workspace tab would sit blankly while waiting for all the worklists to output before you would have any indication of what was going on. Now each worklist will load individually in a queue. Worklists that are off the screen to the bottom of the browser will not be loaded until you scroll down (and even then, only the visible ones will be loaded as you scroll and read). This generates much less traffic to the server, and it returns results *much* faster. You should put your most frequently-used worklists at the top of your workspace to take advantage of this new functionality.
  • Improved the performance of the worklist per-page watchers/owners lookup. This should make worklists faster in general. Previously this was inefficiently doing a lookup per row rather than per page (which meant larger worklist pages like search results took longer than they needed to).
  • The peek button is now hidden in worklists until you hover over a particular row. This makes lists less noisy.
  • Removed the checkboxes in worklists since row selected is better communicated by the row remaining highlighted. This frees up horizontal list space for more important column data, and it also reduces the number of visual elements on the screen.
  • Reduced memory usage when rendering long groups of worklists on workspace tabs.
  • You can now click anywhere in a worklist column header to sort the rows. Previously you had to click directly on the link, which required more precision than was necessary.
  • Ticket worklists can now also use sender organization custom fields as columns, filters, and subtotals. This makes far more interesting workflows possible, such as sorting tickets by organization service level agreement (SLA). It also removes the need for filters to copy organization custom fields to ticket custom fields when new mail is received.
  • Email address worklists can now also use organization custom fields as columns, filters, and subtotals. This makes far more interesting workflows possible, such as sorting contacts by organization service level agreement (SLA) or industry.
  • CRM opportunity worklists can now also use address and organization custom fields as columns, filters, and subtotals. This provides a far more complete picture of each opportunity. If an opportunity is from an address that is associated with an organization, and that org is marked as having purchased particular products (using a custom field), you can quickly filter your opportunity lists. Additionally, if you track 'do not contact' status as a custom field on email address records, you can use that field as a filter on opportunity lists as well. The possibilities are endless.
  • You can now set 'required' filters on custom worklists from the 'customize' menu. This will create a baseline using filters that are not affected by subtotals and editable filters. Editable filters can be used to sub-filter the worklist, but hitting 'reset' will restore your worklist's baseline rather than clearing all your filters. For example, if you set a required filter of "status=open" on a ticket worklist from the customize menu then there is no way using subtotals or filters to see anything but open tickets. When you 'reset' the editable filters you will see a list of "status=open" tickets with no visible filters applied.
  • Implemented advanced keyboard shortcuts for the Workflow worklist: (a) select all/none; (*) reset filters; (-) undo last filter; (~) subtotals menu; (`) focus subtotals. By focusing subtotals you can quickly use TAB and ENTER to modify the worklist without using the mouse.
  • Added the workflow keyboard shortcuts to most other single worklists (ticket search, activity, addy book, kb, datacenter, but not workspaces): (a) select all; (*) reset filters; (-) undo last filter; (~) change subtotals; (`) focus subtotals.

Worklist Filters

Cerb54 worklist filtersummary.png

  • By default, worklists now show a minimized summary of the filters applied to them rather than the entire 'Filter' widget. This saves a lot of screen space and reduces complexity. It also allows filters to be introduced to other highly-requested locations, such as the 'Links' tab and Workspaces (where filtering had to be done inefficiently through worklist 'customize'). It's now much easier to tell if one of your worklists is constrained by filters, especially if the only way of knowing previously was by clicking 'customize'.
  • Worklist filters can be quickly removed from the new filter summary at the top of each list.
  • The Filters widget will now automatically remember if it is expanded or not for each worklist.
  • When hovering over the filter summary bubbles above a worklist they will now all show their delete button. This requires less pixel-perfect mouse finessing, and it also makes it more obvious that you can delete filters this way (since the hover effect also happens when you're near the 'Filters:' link).
  • You can now quickly reset the list of filters or switch to any preset in a single click from the filter summary above each worklist.


A list of worker profiles.
Looking at a worker profile provides quick access to their activity log and watchlists.
  • Added worker profiles. By visiting a worker's profile you can view their recent activity and assignments. A worker will also eventually be able to add public workspaces to their profile that other workers can see and clone.
  • Worker profiles show an activity log (everything the worker has been doing) and watchlist (everything the worker is involved with).

Prior to 5.4 you had to run a separate search for every type of content to figure out what a worker was working on, and using the Audit Log plugin to track their activity was limited to just email conversations (i.e. tickets). Now you can easily track worker activity by viewing their profile. You can also quickly view their watchlist.


You can now search using non-Latin character sets or the Romanize equivalents.
  • Provided a "Unidecode" implementation in Devblocks on DevblocksPlatform::strUnidecode(). This takes text in non-Latin-based character sets (e.g. Han, Nihongo, Cyrillic, Greek) and "Romanizes" them. This doesn't affect the actual in messages or articles, it just makes it easier to work with them on functionality like fulltext search indexing and anti-spam decision making.
  • Email subjects that aren't quoted-printable should now be properly converted to UTF-8 based on the Content-type of the message body.
  • Previously, anti-spam decisions were made after removing accents (é : e) and stripping all text that wasn't English alphanumeric (a-z, 0-9). While this handled many Latin-based languages like German, Spanish, Italian, and French, it completely ignored content from languages like Chinese, Japanese, Greek, and Russian. We're now using a much more sophisticated process where we "Unidecode" non-Latin languages into Romanized phonetics. For example, native Russian/Cyrillic characters may be converted into the form "zakhoditie na nash sait" for anti-spam purposes. This doesn't affect the readable content of email messages, it just changes how the software detects patterns between messages.
  • [CHD-1980] Previously, search functionality indexed content by removing accents (é : e) and stripping all text that wasn't English alphanumeric (a-z, 0-9). While this handled many Latin-based languages like German, Spanish, Italian, and French, it completely ignored content from languages like Chinese, Japanese, Greek, and Russian. We're now using a much more sophisticated process where we "Unidecode" non-Latin languages into Romanized phonetics. For example, native Chinese/Han characters may be converted into the form "shen zhen" for search purposes. This doesn't affect the readable content of email messages. You may now fulltext search interchangeably using either native characters or the Romanized version, and you'll get results in either format. Note: You will probably need to reindex your search content to take advantage of these improvements. See: http://www.cerberusweb.com/support/kb/article/52-Forcing_a_full_reindex_of_fulltext_searchable_content

Tour Mode

Callouts in tour mode provide contextual help to new workers.
  • Drastically improved the style and content of the interactive Assist Mode tour that is displayed to new workers. Callouts are now done with jQuery and can be targeted to very specific elements on the page. Added a 'show all' option to display all the callouts for a page at once (if they overlap, hover over one to focus it).
  • Any plugin can add content and callouts to the interactive assist mode. Added very flexible options: selectors, tooltip and target corners, and x+y offset for precise but effortless positioning.
  • It's easier to create callouts and there's no longer a need to create placeholders in the UI for them. Instead jQuery selector syntax may be used by plugin developers.
  • Callouts can point directly at any interface element.

See: http://blog.cerberusweb.com/54-sneak-peek-improved-tour-mode-for-training


The Simulator plugin can now generate organizations and tasks in addition to tickets and contacts.
  • The simulator can create sample organizations with a random combination of pronounceable sounds and industries.
  • The simulator can create sample tasks.

This makes it easier to create sample data for evaluations, demonstrations, development, and quality assurance testing.

Address Book

  • You can now merge any number of organizations from the Address Book. Merging combines duplicate records, and you can choose the best source for each property + custom field. Only unique values are shown. If there is only one value (e.g. fax number) then it picks it for you to save time. These end up as a single record, and all the contacts, custom fields, comments, and links are automatically moved. An 'org.merge' event is also triggered for plugins to listen for and update their stored data accordingly.
    Cerb54 addybook merge.png
    Cerb54 addybook merge3.png
  • Added a profile page for individual email addresses. This provides a workspace for viewing the activity log, reading/writing comments, and adding links to other records.


Cerb54 setup menu.png

  • Refactored the Setup page to use pulldown menus rather than tabs for exposing configuration functionality. This is more friendly to the plugin-mindset, since an amalgamation of alphabetized tabs made it very difficult for a plugin to expose sophisticated configuration screens. Now a plugin can be configured from a pulldown menu and then it can have as many tabs as it wants in its own screenspace/namespace. This makes a lot of room for third-party expansion. Menus and menu items are also extension points. Any page can reuse the menu functionality.
  • Saving a Scheduler job in Setup will now reload just that job without reloading the entire page. This should make it a lot less tedious to configure several of them at once without losing your place.

Per-Bucket Reply-To

Reusable reply-to addresses can now be defined in Setup.
Each group or bucket can have its own reply-to address, personalized sender, and signature.
  • Added a 'Reply-To Addresses' page to the 'Mail' menu in Setup. This is used to explicitly configure the addresses that the helpdesk is allowed to use to send mail. This improves functionality from earlier versions where users could enter any email address when configuring a group's 'From:' address, which could lead to mail loops or customer replies being routed outside the helpdesk. Formalizing these addresses makes their reuse and management far more simple. Existing configuration will be automatically migrated by the update patch.
  • [CHD-1100] You can now set up reply addresses and signatures per-bucket as well as per-group. Outgoing replies from the helpdesk will use the appropriate preference, cascading from bucket, to group, to global default. A bucket can choose to just overload part of the reply-to defaults -- such as the personal reply name -- while retaining the other defaults. (Partially sponsored by Spilgames.com)


A group's Virtual Attendant can be given complex instructions to automate various behavior.
  • Group Inbox Filters have been removed and replaced with Virtual Attendants. Attendants are far more flexible, allow for far more conditions and actions, are expandable with plugins, can have rules based on more than just inbox delivery, can have branched logic, support and/any, etc. Any group inbox filters that were set up will be automatically converted to Virtual Attendant behavior by the 5.4 update.
  • Buckets can now be reordered by clicking and dragging them in Group Setup. This is much more efficient than having to renumber them by hand. You don't have to hit 'Save Changes' after reordering -- your preferences will be saved automatically.
  • When deleting a bucket from Group Setup you can now choose the bucket where you would like to move its tickets. Previously everything was always moved back to the Inbox.
  • Custom fields can now be added to group records from Setup. This will allow some extra flexibility in snippets and mail rules.
  • Group and bucket signatures are now displayed using current worker details rather than as unparsed template token values. This makes it easier to see how signatures would look when used in live email. It also makes it more clear how signatures cascade from bucket to group to global (and which one will be used for each bucket). The tokens are still shown when editing signatures.
  • [CHD-575] [CHD-930] [CHD-931] The 'personal' field in the Group/Bucket 'From:' header can now contain the same template tokens as signatures. This is much more flexible than the previous option to 'prefix worker names' to the From: line.
  • The group options for open ticket auto-reply, close ticket auto-reply, and spam quarantine have been moved into the new Virtual Attendant tab. This allows much more flexibility over the automated behavior in these events. For example, auto-replies can now consider time of day, day of week, language of sender, SLAs, etc. Close auto-replies can now consider factors like the current bucket, custom field values, and idleness duration. Additionally, more criteria, actions, and email template tokens are now available. Existing settings will be automatically migrated during the 5.4 update.
  • Previously, group routing rules could only be applied to the inbox. Now you can set up behavior in a group's Virtual Attendant for moves to any bucket. For example, when tickets are dropped into an 'Unsubscribe' bucket you could run custom behavior that performs several actions and then closes the ticket automatically.


It's now much easier to find the placeholder tokens you're looking for when creating snippets.
  • Added a new 'full_name' token to signatures and worker snippets to make it easier in situations where you want to display both the first and last name when available, but if either isn't set then you don't want extraneous spaces. This should simplify condition logic in signature templates for the most common use case.
  • [CHD-2184] When using the snippet tester while replying to a ticket it should use the values from the current ticket.
  • Made the names of snippet fields more friendly.
  • [CHD-2178] Group custom fields can now be used in snippets.
  • Added a quick 'insert placeholder' menu to the add snippet popup. This replaces the long dropdown which only allows you to use keyboard shortcuts matching the beginning of the placeholder. You can now do searches that match any part of the placeholder token, and the menu will remain open to make it easier to continue adding tokens with fewer keystrokes.
  • [CHD-2228] Added the snippets toolbar to the Compose page.
  • [CHD-2228] Added the snippets toolbar to the Open Ticket page.
  • [CHD-2278] Add a permissions option for Snippet creation/editing privileges.


The default stylesheet for knowledgebase articles has been improved.
  • Improved the display of articles (headers, preformatted text, quotes, etc).
  • Added friendly URLs to the knowledgebase, both for workers and the Support Center. Topics, categories, and article titles will be shown in the URL. For example: /kb/article/52-Archiving_content_in_Amazon_S3_with_the_Storage_service
  • [CHD-2257] Knowledgebase articles will now be instantly search indexed upon creation. This resolves the issue you may add a new article while replying to a ticket and then you're unable to find it using a keyboard search until the search index scheduled job runs.

Community Portals

  • Moved into Setup

Support Center

Cerb54 supportcenter contactsituations.png

  • Drag/drop reordering of Support Center modules, contact situations, followups, and announcements in configuration.
  • You can now add any number of contact situations, followups, and announcements without having to reload the page in configuration.
  • Improved the default stylesheet on Support Center knowledgebase article content.


  • Drastically reduced the number of database queries per request by keeping track of which templates are capable of being overridden. Generally this is just the Support Center and other community portals, and none of the internal templates.
  • A database connection will no longer be opened by each request. Now the database connection is only initialized when it is used for the first time. As a consequence, requests that simply load resources (e.g. CSS, Javascript, images) are significantly faster, even with a cold browser cache.


  • Added an example plugin (example.datacenter.tab) for creating new tabs on the Datacenter page.
  • Added a new example plugin (example.page) for creating new pages in Cerb5, which are displayed in the top navigation menu and can contain any kind of content.
  • Added a new example plugin (example.object) for demonstrating how to add custom objects (i.e. records) into Cerb5 which benefit from all the platform functionality: views, workspaces, custom fields, comments, links, attachments, peek, bulk update, explore, etc.
  • Added an 'example.controller' plugin example to the SDK to demonstrate creating new controllers, which handle requests and write responses at a lower level than cerberusweb.page extensions.
  • Added 'Extension_PageSection' for adding new sections to pages. Sections replace the need to overuse tabs to split up page contents. Sections are usually managed by a page menu extension, but this isn't a requirement.
  • Plugins can now add new menus and menu items to any menubar using the new 'cerberusweb.ui.page.menu' and 'cerberusweb.ui.page.menu.item' extension points. Tabs have been overused in the interface to break up pages into sections, but they lack the ability to group sections logically -- such as grouping multiple sections related to Mail together. In areas like the 'Setup' page this has led to a long list of tabs with no particular order; and in some cases, too much content crammed into a single tab to avoid the issue of disparate tabs. Menus provide more structure to these pages.
  • Added an 'example.event.condition' sample plugin to the SDK for demonstrating how to add new conditions to decision trees.
  • Added an 'example.event.action' sample plugin to the SDK for demonstrating how to add new actions to decision trees.
  • The Devblocks Javascript/jQuery convenience functions for 'genericAjaxGet' and 'genericAjaxPost' can now accept DOM IDs or jQuery objects for the 'div' and 'form' arguments. This makes it easier to deal with relative references in scripts that are loaded through Ajax.
  • Contexts no longer need to provide translations for 'assigned' and 'commented' events. This is now handled automatically by the new Activity Log service.
  • A new 'dao.task.update' event point can be used by plugins to monitor changes to tasks.
  • A new 'dao.crm_opportunity.update' event point can be used by plugins to monitor changes to CRM opportunities.


  • Attempting to retrieve a KB article now works properly.
  • You can now properly update and search using 'quote_mood' on Feedback entries through the Web-API.
  • You can now delete feedback entries through the Web-API.
  • Added the rest of the organization fields to search functionality through the Web-API.
  • Implemented delete for organizations through the Web-API.
  • You can now display and search task custom fields with the Web-API.
  • You can now display and search ticket custom fields with the Web-API.
  • You can now display and search address custom fields with the Web-API.
  • Implemented the ability to delete tasks through the Web-API.
  • Custom fields are now accessible through the Web-API.
  • Comments are now accessible through the Web-API.
  • You can now delete individual messages from tickets through the Web-API.
  • You can now delete knowledgebase articles through the Web-API.
  • You can now modify and search custom fields on knowledgebase articles through the Web-API.
  • You can now manage knowledgebase categories through the Web-API.


  • Added support for MySQL's InnoDB storage engine in the installer. This is now our preferred choice.
  • Added support for PHP's 'mysqli' driver (in addition to the legacy 'mysql' driver).


  • Added a choice in the installer for using MySQL's MyISAM or InnoDB storage engine. There are benefits to either, and system administrators may have their own preference.
  • The installer now performs a database privileges test suite prior to accepting database connection information. This ensures that the database login will be able to install and run the software.
  • More useful error information is now displayed when there are problems with the database settings in the installer.

Maintenance Updates


Cerb5 (5.4.1) is a maintenance update released on May 12, 2011; it contains 21 minor fixes and usability tweaks from community feedback covering the recent 5.4.0 update.

Read the release announcement on the blog.

You can find the full changelog in the forums.

You can download the release files from the project website.

  • [Mail/Search] [CHD-2295] You can't search for a blank 'owner' (worker-based) custom field.
  • [Setup/Storage/On-Demand] [CHD-2298] The Storage/Attachments setup page can now be used while in ONDEMAND_MODE.
  • [Setup/License/On-Demand] [CHD-2296] The License setup page can now be viewed while in ONDEMAND_MODE.
  • [Worklists/Attachments] [CHD-2299] Add subtotals functionality to attachment worklists.
  • [Worklists/Messages] Fixed a display issue on message worklists.
  • [Watchers] Made it far more convenient for workers to assign each other as watchers when given the proper permissions. The watcher buttons are now 'split' buttons. The left side will add/remove yourself as a watcher, and the right side will allow you to view all watchers, and add/remove if you have permission. Assignment and unassignment are tracked by the Activity Log. This functionality is available on Peek and Profile for all objects that support it, as well as the Ticket Reply feature.
  • [Plugins/Aesthetics/UI] Added two new styles for building "split" buttons.
  • [Mail/Drafts/Merge] [CHD-2304] Merging tickets does not merge drafts.
  • [Notifications] [CHD-2306] Clicking the red notifications alert for explore mode can be confounded by filters on the Profile->Notifications worklist.
  • [Support Center/Setup] [CHD-2305] Made it more obvious how to delete contact situations when setting up a Support Center profile. Previously you had to clear out the "reason" text. Now there's a simple status dropdown including "deleted".
  • [Support Center/Setup] [CHD-2301] Added the ability to toggle Support Center profile "contact situations" between visible and hidden.
  • [Keyboard Shortcuts/Usability] [CHD-2300] Fixed an issue with using PGDN/PGUP/HOME/END browser keys on some pages (like Display Ticket) with Firefox and Opera.
  • [Permissions/Watchers/Bulk Update] [CHD-2307] Use the new 'assign/unassign other watchers' permissions to lock down Bulk Update everywhere.
  • [Tasks/Permissions/Delete] [CHD-2213] Added a worker permission for deleting tasks (separate from editing tasks).
  • [CRM/Opps/Permissions/Delete] [CHD-2198] Added a worker permission for deleting opportunities (separate from editing them).
  • [Mail/Sticky Notes/Notifications] [CHD-2309] Sticky note notifications create an invalid URL.
  • [Aesthetics] Fixed the 'split button' arrow style on all Windows browsers by adding an actual sprite for the icon rather than relying on Unicode rendering.
  • [Migration/Views/Worklists] [CHD-2316] If 'mail_workflow' in 'worker_view_model' is corrupt then it blocks the Workflow view from working. This is primarily an issue for people upgrading straight from Cerb4 to 5.4 (a nice problem to have).
  • [Support Center] [CHD-2318] Fixed a bug where the Support Center wouldn't save follow-up questions (or even stripped them) when 'magic_quotes_gpc=On' in php.ini.
  • [Platform/Upgrade] Fixed a migration issue in the database patch from 5.x to 5.4 where the update process fails to populate the 'address_outgoing' table, or to create the 'context_activity_log' table, when the /cerb5/update page is hit with a cold cache (such as when using 'wget' and not a browser). Automated upgrades frequently encountered this problem, and manual upgrades rarely did.
  • [Attachments/Worklists] [CHD-2327] The attachments worklist doesn't sort when you click on a column heading.


Cerb5 (5.4.2) is a maintenance update released on May 25, 2011; it contains 13 minor fixes and usability tweaks from community feedback covering the recent 5.4.0 update.

Read the release announcement on the blog.

You can find the full changelog in the forums.

You can download the release files from the project website.

  • [CRM/Opportunities/Bulk] Added the ability to bulk delete opportunities with the proper permission.
  • [Virtual Attendants/Worker] [CHD-2322] Add the ability to choose the destination email when sending email from the 'New notification for me' event.
  • [Virtual Attendants/Worker] [CHD-2326] Fixed a bug that returned "Call to a member function getReplyTo()" when relaying mail using Virtual Attendants on the "Mail received by watcher" event.
  • [Installer/Patcher/Platform] Added a default of 'MyISAM' for the 'APP_DB_ENGINE' constant in framework.defaults.php since several people have upgraded by copying over the new framework.config.php file with an older version.
  • [Mail Relay/Watchers] [CHD-2331] A worker reply to a relayed message opens a new ticket at the same time it properly replies to an existing one.
  • [Activity Log/Notifications] [CHD-2321] If an activity log entry is created from the Support Center the URL won't be valid in the helpdesk.
  • [Snippets] [CHD-2323] Add a '|truncate' filter so placeholders can be shortened for email subjects, SMS, etc.
  • [Search/Indexing/Performance] Improved the performance and memory efficiency of the fulltext search indexer when working with very large content. We had several reports of the search indexer stalling with >1MB messages because of 'out of memory' errors. This had to do with Unidecode, and PHP's inherent array inefficiency.
  • [Search/Indexing] The search indexer will now record its progress more often so that it doesn't have to repeat as much work in the event of an error.
  • [Search/Indexing] Added the ability to append to existing search indexes. This allows large pieces of content to be indexed incrementally, in a way that is more friendly to PHP's memory model and enforced limits.
  • [Activity Log/Virtual Attendants] [CHD-2337] With deeply nested Virtual Attendants (e.g. a group attendant adding watchers, and multiple worker attendants relaying notifications) it was possible for the Activity Log to detect the wrong actor. Subsequent activity inexplicably appeared to be caused by each attendant in sequence. This has been resolved.
  • [Activity Log/Virtual Attendants] [CHD-2337] Fixed an Activity Log bug when using Open Ticket. If a group Virtual Attendant added the current worker as a watcher, the Activity Log read "Group [Attendant] started watching this record". It should have been showing the Attendant assigning the worker as a watcher instead.
  • [Virtual Attendants] [CHD-2333] Fixed a bug in the 'Move to Group' action of Virtual Attendants which prevented the action from running.


Cerb5 (5.4.3) is a maintenance update released on June 1, 2011; it contains 34 improvements, minor fixes, and usability tweaks from community feedback covering the recent 5.4.0 update.

You can find the full changelog in the forums.

You can download the release files from the project website.

  • [Drafts/Reply] [CHD-2343] Make the Javascript "you are navigating away from this page" discard warning an optional user preference. This feature was sponsored by XILO Communications - http://www.xilo.net/
  • [Mail/Reply] [CHD-2344] Implemented a split 'Reply' button on Display Ticket. Clicking the right side opens a menu that allows a per-reply decision to quote the original message or reply without quoting. The default behavior of the left side of the button can be set as a per-worker preference. This feature was sponsored by XILO Communications - http://www.xilo.net/
  • [Devblocks/Platform/Search] Added new search operators: OPER_IS_NOT_NULL, OPER_IN_OR_NULL, OPER_NIN_OR_NULL. These are used to provide enhanced search functionality for criteria like custom fields, where you may want missing data along with any combination of inner/left joined data.
  • [Search/Custom Fields/Workers/Watchers] You can now search worker-based custom fields and Watchers by these operators: is, is blank or, is blank or not, is not. This makes it much easier to generate worklists like "things watched by me or nobody" which exclude things watched by someone else. This is also possible with worker-based custom fields like "owner" or "assignee".
  • [Subtotals/Worklists/Usability] [CHD-2357] Improved the usability of subtotals by not drilling down into a single subtotal as often when clicking totals to add filters. If a filter is using an operator that returns a single total, like EQUALS (=), then the subtotal will ignore itself as a filter. This means you no longer have to keep clicking to remove the last filter and you can simply click another total from the subtotals box to continue browsing.
  • [Setup/Groups] [CHD-2365] SQL error when deleting a group from Setup.
  • [Mail/Bulk/Broadcast Reply] [CHD-2366] Broadcast reply doesn't seem to be generating outgoing mail since the Virtual Attendants took over the Group Inbox filters.
  • [Workspaces/Lazy Loader] [CHD-2311] [CHD-2358] Fade-in on Worklists is briefly full-intensity before actual fade-in.
  • [Worklists/Search/Worker] Search fields that use the 'worker' filter can now overload the available operators.
  • [Search/Filters/Usability] Improved the usability of the filter output. '=' is now 'is', and '!=' is now 'is not'.
  • [Mail/Owner] Added an 'owner' field back to ticket records. An owner receives a notification automatically, and they are treated like a watcher for the duration of their assignment. This makes it easy for a pre-existing watcher to remain a watcher after being unassigned, and it saves a non-watcher from having to stop watching when they're unassigned. The 'owner' column is automatically added to all Workflow worklists during the update.
  • [Activity Log/Mail/Owner] Added new activity log events for ticket assigned and ticket unassigned.
  • [Mail/Reply/Owner] Implemented a 'Who should this be assigned to?' option at the end of the Reply screen.
  • [Attachments/Bulk] [CHD-2369] Bulk delete doesn't work from attachment worklists.
  • [Mail/Preferences] [CHD-1189] [CHD-1279] [CHD-1578] Each worker can now set a different default status for each of: create ticket, compose, and reply. Previously this always defaulted to the 'waiting for reply' status, which required an extra step to change it in many workflows.
  • [Mail/Reply/Drafts] [CHD-2352] The drafts auto-save will now stop when you click the 'Send' button during a reply. This should help on high-latency connections.
  • [Explore] [CHD-1933] Keyboard shortcuts not working in "explore" mode for some browsers. (Patch provided by Marc Jauvin)
  • [Mail/Reply/Keyboard] [CHD-2381] Ctrl+Shift+Arrow/Ctrl+Arrow to select text no longer works in the reply textarea.
  • [Mail/Reply/Keyboard/Firefox] Fixed the Ctrl+Shift+I (insert snippet) and Ctrl+Shift+G (insert sig) keyboard shortcuts on the reply screen for Firefox.
  • [Devblocks/Cache/Memcache] [CHD-2375] Memcache throws a warning if a blank $key is removed.
  • [Worklists/Mail/Tasks/Comments] [CHD-540] Adding a comment to a ticket or task will now set the 'updated' date. This improves workflows that depend on internal comments to get attention.
  • [Virtual Attendants/Outcomes/Usability] Made it easier to drag and drop conditions between condition groups when editing outcomes for Virtual Attendants.
  • [Virtual Attendants/Watchers] [CHD-2335] Added a 'ticket watcher count' condition to Virtual Attendants for group events (new message, closed, moved). This allows you to create outcomes based on the number of watchers on a ticket -- for example, if reply comes in to a ticket with no watchers then assign someone.
  • [Virtual Attendants/Owners] [CHD-2372] Added a 'ticket has owner' condition to Virtual Attendants for group events (new message, closed, moved). This allows you to create outcomes based on the whether or not a ticket is currently assigned to a worker.
  • [Virtual Attendants/Owner] Added owner conditions to Virtual Attendants for group events (new message, closed, moved): first name, last name, full name, title, email address
  • [Virtual Attendants/Groups/Owners] Added a 'set owner' action to Virtual Attendants for group events (new message, closed, moved). This allows for auto-assignment, as well as functionality like automatically unassigning tickets when they are closed.
  • [Parser/Mail] [CHD-2386] The ticket 'created' timestamp will now reflect when the message was actually processed, without regard for 'Date:' header (which is stored on the individual message record).
  • [Virtual Attendants/Relay] [CHD-2382] The email relay will now properly use any modified content from the template.
  • [Virtual Attendants/Actions] Added the ability to rearrange actions through 'drag & drop' in Virtual Attendant behavior.
  • [Virtual Attendants] Fixed an issue where a worker's Virtual Attendant behavior would not always trigger properly from the 'New mail on a watcher message' event.
  • [Virtual Attendants/Group/Action] Implemented the 'set subject' action on Virtual Attendants for group events: new message, moved, closed.
  • [Virtual Attendant/Email Relay] [CHD-2383] Fixed an issue where messages sent to external workers through the email relay may contain extra whitespace.
  • [Virtual Attendants/Snippets/Tester] The Virtual Attendants snippet tester is now capable of displaying the output of multiple fields at once. This speeds up testing in places like 'relay mail' where both the subject and content of an outgoing message can use tokens.
  • [Virtual Attendant/Email Relay] [CHD-2384] [CHD-2385] The Virtual Attendant 'email relay' action can now provide a custom message subject to be sent to the worker. This makes it possible to replicate the '[incoming]' and '[outgoing]' tags in subject lines for mail sorting.


Cerb5 (5.4.4) is a maintenance update released on June 9, 2011; it contains 24 improvements, minor fixes, and usability tweaks from community feedback covering the recent 5.4.0 update.

You can find the full changelog in the forums.

You can download the release files from the project website.

  • [Support Center/Knowledgebase] [CHD-2395] FIXED: Support Center visitors are unable to download attachments if they aren't logged in.
  • [Mail/Drafts/Firefox4] [CHD-2418] Fixed an issue with Firefox4 where the 'discard' button in Open Ticket, Compose, and Reply, didn't properly delete the draft.
  • [Mail/Compose/Firefox4] [CHD-2417] Fixed a bug when using Firefox4 where clicking 'Continue Later' during Compose or Open Ticket wouldn't save the draft a final time before returning to the previous page.
  • [Groups/Setup/Buckets] [CHD-2398] The 'delete' button should not show up when editing buckets. If you click it, nothing happens.
  • [Support Center/Internet Explorer] [CHD-2433] FIXED: Support Center profiles are blank if you edit them from Setup when using Internet Explorer.
  • [Support Center/Firefox3] [CHD-2432] FIXED: The Save Changes button doesn't work when editing Community Portals in Firefox3.
  • [Mail/Reply] [CHD-2421] FIXED: When replying without quoting, 2-3 extra blank lines are inserted even if there's no signature.
  • [Virtual Attendants/Outcomes] [CHD-2405] FIXED: With 'magic_quotes_gpc' enabled any slashes in outcome/action values are escaped.
  • [Worklists] [CHD-2408] FIXED: Worklists aren't properly hiding the inherited columns and parameters that they're supposed to.
  • [Worklists/Mail] [CHD-2397] FIXED: Adding a worklist w/ required params of several group buckets will show subtotals for other buckets, and clicking subtotals will not filter buckets at all.
  • [Virtual Attendants/Email Relay] [CHD-2420] FIXED: The email relay is setting a message-id that isn't unique for multiple messages in the same conversion. This is leading some email clients to consider followups as dupes of earlier messages. A timestamp is now added to the header. This remains backwards compatible with messages that were sent from the email relay before the update.
  • [Virtual Attendants/Snippets] [CHD-2415] FIXED: Using the '|date()' modifier in snippets doesn't respect the server's current timezone, and instead always displays GMT.
  • [Virtual Attendants/Notifications/Snippets] [CHD-2425] Added a new {{url_markread}} token to notifications. This will provide a URL that will automatically mark the notification as 'read' when it is clicked. {{url}} will continue to display the actual destination URL.
  • [UI/Usability] [CHD-2442] Clicking the logo in the top left will take you back to the default page.
  • [UI/Style] Fixed the extra padding on buttons in Firefox.
  • [UI/Style] Dropdowns will now display as platform native controls in Firefox and Opera.
  • [Mail/Relay] [CHD-2339] FIXED: If a reply-to address or a sender has no name defined, the personal field of the message headers on reply is always "". This also manifests in the email relay and auto-replies.
  • [Mail/Open Ticket] [CHD-2422] Allow customization of the Open Ticket "This message was created on your behalf" text by moving it into the translation system.
  • [Virtual Attendants/Email Relay] [CHD-2406] The email relay can now include attachments at the discretion of each Virtual Attendant behavior. Mobile clients with limited data plans probably don't want large attachments, but desktop workers that never log in to the helpdesk most likely do.
  • [Web-API/REST/Tickets] [CHD-2454] You can now search tickets in the Web-API using 'requester', 'first_wrote' and 'last_wrote' filters.
  • [Web-API/Support Center/Contacts] [CHD-2414] Implemented the ability to manage registered contacts through the Web-API for the Support Center.
  • [Notifications/RSS] [CHD-2451] FIXED: RSS feeds for notifications don't display a title or description.
  • [Workspaces/Tickets] New ticket worklists will now automatically default to only showing tickets in the groups of the list owner.
  • [Mail/Groups/Virtuals/Filters] [CHD-2446] Added a new 'In Groups of Worker' virtual filter to ticket worklists. This makes it much easier to restrict a list to tickets that are visible to a specific worker based on their group memberships. Unlike manually setting group filters, this will automatically adjust when they join/leave groups.


Cerb5 (5.4.5) is a maintenance update released on June 28, 2011; it contains 13 improvements, minor fixes, and usability tweaks from community feedback covering the recent 5.4.0 update.

You can find the full changelog in the forums.

You can download the release files from the project website.

  • [Support Center/Knowledgebase/RSS] [CHD-2468] The RSS feeds in the Support Center KB don't translate Markdown to HTML when syndicating articles.
  • [Web-API/Custom Fields] [CHD-2455] The Web-API now has named keys for custom field records. 'id' and 'context' are now provided. 'group_id' is visible for ticket custom fields. Sponsored by XILO Communications - http://www.xilo.net
  • [Mail/Broadcast/Queue] [CHD-2484] If you broadcast reply to a ticket with no requesters the mail_queue entry is undeliverable and never cleans up.
  • [Mail/Queue] [CHD-2483] If an autoreply fails to send and is queued for redelivery, it will remain flagged as an autoreply so no worker sender is required.
  • [Workspaces/Custom Fields] [CHD-2460] FIXED: An 'unknown column' error when adding a required custom field filter to a workspace worklist if the custom field is also not an editable filter.
  • [Mail/Relay] [CHD-2480] FIXED: The email relay uses a custom 'Message-Id' header that is invalid in some MTA/MUAs.
  • [Support Center/Templates] [CHD-2485] The Support Center 'customfields_readonly.tpl' and 'customfields_writeable.tpl' templates can now be modified when configuring Community Portals.
  • [Web-API/Groups] [CHD-2477] Implemented the ability to get/search groups through the Web-API.
  • [Who's Online/Display] [CHD-2462] When a worker displays a ticket it will now always update their last activity with a link to the ticket. By default, worker activity only updates once per 30 seconds. This makes it easy for workers to look at the same ticket as someone else without having to copy/paste URLs.
  • [Mail/Compose/Keyboard/Firefox] [CHD-2470] FIXED: Keyboard shortcuts don't work on mail compose or log ticket when using Firefox. The control key also don't work for copy/paste or selecting text via keyboard.
  • [Web-API/Custom Fields] [CHD-2474] Fixed an issue with the sortBy parameter not working in the Web-API for records with custom fields.
  • [Web-API/Tickets] When you retrieve a ticket record from the Web-API it will now include information about each requester.
  • [Web-API/Tickets/Requesters] [CHD-2481] Ability to add and remove requesters on tickets from the Web-API. Sponsored by XILO Communications - http://www.xilo.net/ ; See: http://wiki.cerb5.com/wiki/Web-API:Tickets#Requesters


Cerb5 (5.4.6) is a maintenance update released on July 6, 2011; it contains 6 minor fixes from community feedback covering the recent 5.4.0 update.

You can find the full changelog in the forums.

You can download the release files from the project website.

  • [Mail/Relay] CHD-2399] FIXED: Email replies to a ticket from a worker are reformatted using double line-spacing.
  • [Mail/Reply] [CHD-2400] FIXED: Replies to a ticket from the web interface have extra line-spacing inserted into them.
  • [Web-API/Attachments] [CHD-2490] FIXED: Attachments can not be retrieved or downloaded.
  • [Views] [CHD-2491] FIXED: If MySQL strict mode is enabled then views output a SQL error when attempting to persist them.
  • [Attachments/Internet Explorer] [CHD-2410] FIXED: Certain types of attachments (e.g. Excel, PDFs) won't download when using SSL in Internet Explorer.
  • [Mail/Reply/Usability] [CHD-2441] Removed the "You are navigating away from this page" warning since the behavior isn't consistent between browsers.