From Cerb Wiki
Jump to: navigation, search

Cerb5 (5.5) is a major functionality update released on August 4, 2011. It contains over 109 new features, fixes, and usability tweaks from community feedback. 18 additional improvements have been provided through 2 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 August 4, 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.


Record properties and custom fields

All records now summarize their properties and custom fields at the top of the display page.  Previously, workers had to click the Edit button to see this information; complicating data entry because it wasn't clear how much information each record already had.

C550 display properties.png

Keyboard shortcuts

All record display pages now provide the following keyboard shortcuts:

  • (e) Edit this record
  • (m) Virtual Attendant scheduled behavior (Macros)
  • (1-9) Change tabs

When closing a popup with the ESC key, focus will be returned to the page so it doesn't interfere with keyboard shortcuts or TAB navigation. Previously, a user had to click on the background to be able to use keyboard shortcuts again.


  • Added a 'completed' button to task worklists.
  • Implemented a 'mark read' button for notification worklists.

Comment Searching

You can now search comment text on all records in combination with the other filters.

C550 mail search comments.png

Virtual Attendants


Added macro functionality to Virtual Attendants. Macros are built on the full power of Virtual Attendants, meaning your macros can have their own decision trees to decide the appropriate actions to take based on any conditions. For example, a macro can schedule several followup emails in advance to a sales lead, or add several tasks like a checklist to a new order. A macro could also have different outcomes based on the value of a record's custom fields, or the owner, watchers, etc. The possibilities are limitless.

C550 va macros.png

Scheduled Behavior

Virtual Attendants can now schedule behavior to happen at a future date. This provides an incredibly flexible way to build reminders and automated followups. For example, if an incoming message is from an organization with a service level agreement (SLA), your Virtual Attendant could schedule behavior in 2 hours to check the status of the ticket and react appropriately (e.g. escalate). Scheduled behavior can also reschedule itself, providing the ability to create loops of behavior that repeat until certain conditions are met. For example, if the duration since the last worker reply is too long according to the SLA, a reminder could be sent to the record's watchers every hour until rectified. Each new reply from a customer could initiate the behavior loop over again. Scheduled behavior is managed by a queue that runs as part of a scheduled job from /cron, which is more efficient than holding up the email parser or worker UI during long-running tasks.

When selecting custom behavior from a display page using the Virtual Attendant button, you can now decide when you would like it to run. A time of 'now' (the default) will run the custom behavior immediately. This scheduling makes a lot of interesting things possible: create reminders for later; SLA escalation; auto-close behavior for waiting tickets; etc.

C550 va scheduled behavior display.png

The scheduled behavior on a record is now displayed when viewing its page. You can reschedule behavior or delete it.

C550 va scheduled behavior display queue.png

Virtual Attendant behaviors can be scheduled from bulk update. This allows for the automation of some very complex workflows; unlike a traditional bulk update that applies the same action to all rows, an Attendant can analyze each row in a long list and come up with the most appropriate action for each one.

C550 va scheduled behavior bulk.png

A new 'unschedule behavior' action is available to Virtual Attendants. This is useful if you want to switch behavior entirely; for example, if escalating SLA handling. It will clear all scheduled behavior of a certain type.

C550 va unschedule behavior.png

When scheduling behavior you can now select how duplicate behavior is handled: allow multiple occurrences, only keep first occurrence, or only keep latest occurrence. For example, when scheduling a reminder you may want to have multiple reminders; when scheduling an SLA escalation you probably want to favor an existing schedule before adding a new one; and when creating a timer that resets with each contact you would want to keep the latest behavior and remove everything before it.

C550 va scheduled behavior ondupe.png

Scheduled replies

Virtual Attendants can now schedule replies on tickets to happen at a future date.

This can be used to create an assembly line workflow:

  • Day 0: Welcome letter
  • Day 2: Send "Installation tips" followup
  • Day 15: Send "Have you tried these features?" followup
  • Day 30: Send "conversion" followup


Administrator management

Administrators can now create or modify Virtual Attendant behavior for any worker through their profile.

Drag & Drop

Previously you had to manually recreate nodes if you wanted to rearrange a decision tree. You can now drag/drop nodes within a Virtual Attendant's decision tree (e.g. decisions, outcomes, and actions). A visual cue is given to show valid drop locations; for example, an outcome can only be added to a decision, while an action can be added to any outcome or the main event itself.

C550 va usability dragdrop.png

Adding behavior

Adding new Virtual Attendant behavior will now take you straight to the popup where you can name it. Previously the 'add' button would create a new decision tree and you had to click it to open the menu and select 'edit'.

When you add new behavior to a Virtual Attendant the new decision tree will now be focused instead of leaving you to hunt for it in the full list of existing behaviors.


When configuring a Virtual Attendant you can now filter the list of behaviors to specific events.

Relay to owner/watchers

Virtual Attendants can now relay mail to dynamic targets like owner and watchers instead of having to use an explicit list of workers.  This is very useful when setting up group automation.

C550 va usability relayto.png

Notify watchers

Creating a notification from Virtual Attendant behavior can now be set to notify 'watchers' rather than having to give an explicit list of workers.

C550 va notify watchers.png

Mail incoming/outgoing activity

Implemented two new conditions for mail behavior: "last incoming activity" and "last outgoing activity". These can be used to implement SLA escalation functionality (e.g. no outgoing worker reply for the past 2 hours) and auto-close functionality (e.g. no incoming customer reply for the past 3 days).

C550 va mail inout condition.png

Outcome colorization

The automatic colorization of decision tree outcomes for 'yes' (green) or 'no' (red) has been extended to phrases where yes/no is followed by a space or comma; for example "Yes, it's overdue" or "No it is not". This allows more flexibility in creating decision tree labels while retaining the visual color cue.


  • Adding a comment on the 'create task' action will now properly notify the selected workers.
  • You will now receive notifications about things your Virtual Attendant does for you if you're a record watcher. For example, you will now receive notifications about automated comments or assignments.
  • If you add yourself explicitly to the list of "Also notify these workers" for a comment then you'll receive a notification. By default you don't receive notifications for your own actions.

New Events

Before sending worker message

Group Virtual Attendants can now create behavior on a "Before sending worker message" event. This provides a way to modify worker messages before they are sent to recipients. The default actions are: prepend/append text to message content, and find/replace text in message content. Conditions can be based on anything in the original ticket or the worker's reply. For example, an advertising tagline can be appended to the bottom of all outgoing email; if a keyword is detected (such as 'Facebook') a link could be provided at the bottom of the message; and custom tokens can be replaced with full content -- like using snippets through the email relay. This feature was sponsored by XILO Communications.

C550 va group worker presend.png

After sending worker message

Added a new "After sending worker message" event to groups. This allows Virtual Attendant custom behavior after an outgoing message to complement the "Before sending worker message" event that was added earlier.

C550 va group worker postsend.png

Conversation assigned in group

Added a new event to group-based Virtual Attendants for "Conversation assigned in group". This can be used to create behavior when mail is assigned to a worker; including relaying a full copy of the latest message to their mobile email address instead of just sending a notification.

C550 va group assignee.png


Notifications about activity log events will now be dynamically linked to the appropriate records instead of using static URLs. This allows notification "folding", which means that multiple notifications that link to the same record will be automatically marked as read at the same time without you having to read and dismiss each one individually. This also means that if you move your helpdesk to a different URL or path, or mix access from http/https or intranet/extranet, the URL given for a notification will always be valid.

When viewing a record that has unread notifications (whether or not a notification is clicked on first) a worker will now be shown those messages on the display page. This makes it very easy to see what has changed on a watched record since you last viewed it.

When navigating notifications using explore mode they will automatically be 'folded' so you will only visit distinct records regardless of how many individual notifications exist for each one. All these notifications will be marked as read automatically. For example, if you have 40 notifications for 5 events on each of 8 records, you will only be shown 8 records from explore mode. At the end of viewing these records you will have no unread notifications. Prior to 5.5 you had to mark all these duplicates as read individually.

Existing ticket and task notifications will be automatically converted from URL notifications to context notifications by the upgrade script. This retroactively provides the new improvements to existing notifications.

C550 notifications display.png


Custom Ticket Masks

The ticket mask pattern can now be changed in Setup->Mail->Incoming. In addition to random letters (L) and numbers (N), you can now also use year/month/day tokens (Y/M/D), letter/number (C), or literal text. A tester will verify that there are more than 10 million combinations for the given pattern before accepting it. The number of possible combinations will be displayed when testing any masks, and a sample generated mask will also be provided. Sponsored by XILO Communications.

C550 custom masks.png

Mail Filters

Migrated the pre-parser mail filtering functionality to Virtual Attendants with a new event for "New mail received [by application]". Earlier mail filtering functionality was limited to a single matching rule and a single action (blackhole, bounce, redirect); now decision trees can be used to nest conditions, stack behavior, and add multiple actions. Existing filters will be converted to Virtual Attendant behavior automatically by the update process. The results of this behavior modify the incoming message before it is accepted by the system, and can be used to optimize/examine/compress attachments, rewrite headers, modify message content, and countless other applications.

  • Mail filtering behavior can now set custom fields on inbound mail prior to the creation of a ticket.
  • Mail filtering can now make decisions based on an incoming message's number of attachments, attachment name, size, or mime type.
  • When 'bouncing' mail from a mail filter, a custom subject can be provided that has access to all the snippet placeholders for the inbound message.
  • Inbound message headers can now be added, changed, or removed, as an action on mail filtering behavior.
C550 va mail filters.png

Address Book

  • Address records now provide a mail history tab.
  • Implemented explore mode for address worklists.


Refactored Devblocks to bootstrap using the minimum number of required services to start the platform (cache + database + classloader). Moved service implementations into their own files. This makes it easier to work on the platform, and it should also speed up PHP compile times on sites that don't use opcode caches like XCache.


LDAP Plugin

A new plugin is available for 5.5 that authenticates worker or customer logins against an existing LDAP contact list.  Worker accounts must exist already with the same email address.  Support Center contacts will be created automatically if their details exist in your LDAP address book.

Download it from: https://github.com/cerb5-plugins/wgm.ldap

C550 plugin ldap.png


This plugin provides a gateway to Twitter integration.  Other plugins can use it to share an existing authentication and API without having to configure this information in multiple places. It also gives Virtual Attendants the ability to post to Twitter as an action in response to any event.

Download it from: https://github.com/cerb5-plugins/wgm.twitter


This plugin provides a gateway to Facebook integration.  Other plugins can use it to share an existing authentication and API without having to configure this information in multiple places.  It also gives Virtual Attendants the ability to post to Facebook walls or pages as an action in response to any event.

Download it from: https://github.com/cerb5-plugins/wgm.facebook

Plugin Development

Virtual Attendants

Refactored Virtual Attendants and events to make it easier for third-party plugin developers to create new events without having to reproduce a large amount of functionality. Abstract event parents provide the underlying functionality for a particular perspective: ticket, task, message, etc.


The cerberusweb.core::internal/notifications/context_profile.tpl template can be used by third-party plugins to show a list of unread notifications on a profile/record page in a single line of template code.

Mail History

Implemented a reusable 'mail history' tab that accepts an organization or a list of individual addresses. This cleans up the redundancy between addresses, contacts, orgs, and opps in providing the exact same functionality. Plugins can implement a mail history tab for their records in a line single of template code.

Maintenance Updates


Cerb5 (5.5.1) is a maintenance update released on August 23, 2011; it contains 8 minor fixes and usability tweaks from community feedback covering the recent 5.5 update.

  • [Choosers/Address Book] [CHD-2533] FIXED: The organization chooser is no longer alphabetized by name by default.
  • [Support Center/Localization] [CHD-2528] FIXED: The Support Center login form text is not in the translation system.
  • [Mail] [CHD-2547] FIXED: The checkbox for 'Notify me about new activity' now works properly.
  • [Virtual Attendants] [CHD-2541] FIXED: An error is displayed when using prepend/append/replace conditions on the "Before sending worker message" group event.
  • [Support Center] [CHD-2548] FIXED: The Support Center default templates use the old Cerb5 logo.
  • [Address Book/Contacts] [CHD-2531] Custom fields can be set on registered contacts.
  • [Address Book/Contacts/Support Center] [CHD-2159] The passwords of registered contacts can be changed by workers.
  • [Permissions] [CHD-2538] The 'mail' and 'activity' pages can now be disabled through worker permissions.


Cerb5 (5.5.2) is a maintenance update released on August 30, 2011; it contains 10 minor fixes and usability tweaks from community feedback covering the recent 5.5 update.

  • [Support Center/Knowledgebase/RSS] Implemented a 'Recently Added' RSS feed for knowledgebase articles in the Support Center. This syndicates each article once and it won't move an article to the top when updated like 'Recently Updated' does.
  • [Support Center/Knowledgebase/RSS] [CHD-2557] Fixed an issue where the knowledgebase articles in Support Center RSS feeds didn't always sort properly by Most Popular or Recent Changes.
  • [Explorer] [CHD-2553] FIXED: The small Cerb5 logo is missing from the top left of the explorer frame.
  • [Virtual Attendants/New Group Message] [CHD-2559] Fixed an issue on the "New Message on a Group Conversation" event where a 'sender worker email address' value was mislabeled as 'message sender email address' and giving unexpected results.
  • [Mail/Reply] [CHD-2555] The 'Reply' button is now hidden after it is clicked to mitigate multiple messages being sent if there is latency.
  • [Mail/Reply/Usability/Shortcuts] The 'r' keyboard shortcut on the mail conversation page will now expand and focus the reply menu to provide the option of quoting, not quoting, or forwarding.
  • [Mail/Display/Shortcuts] Added an 'i' shortcut for opening the recipients popup when displaying a ticket.
  • [Virtual Attendants/Custom Fields] [CHD-2554] Fixed an issue where picklist custom field conditions always passed as the first outcome.
  • [Scheduler/Waiting/Notifications] [CHD-2501] Activity log entries and notifications will now be generated for tickets when they reopen from a 'waiting until' date.
  • [Support Center/Knowledgebase] Knowledgebase articles will now be displayed on the Support Center by 'updated' date rather than most viewed as a default. This prevents the same couple articles from dominating the list. This will likely become a setting in the near future.