From Cerb Wiki
Jump to: navigation, search

Cerb5 (5.6) is a major functionality update released on October 4th 2011. It contains over 70 new features, fixes, and usability tweaks from community feedback. 48 additional improvements have been provided through 3 maintenance update.

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 October 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.



  • If you're using third-party plugins, make sure you're using the latest version. Most of our officially maintained plugins have a 5.6 branch in our GitHub repositories. The Ticket "Move To" plugin in particular has been known to cause problems in 5.6 if you aren't using its latest version. If you are unsure about any plugins, move them into a directory called /storage/plugins/_DISABLED prior to upgrading or logging in. (The name of the directory isn't important, what disables the plugin is moving it out of the plugins directory)

Worker Permissions

  • Navigate to Setup->Workers & Groups->Roles to double-check worker privileges.


  • After the 5.6 update, all snippets will be owned by the worker who created them. If these workers are group managers they can transfer the snippets to group ownership so they may be shared with other workers. We would have automated this in the migration script if enough information was available, but the proper ownership for each of your snippets will be very subjective. If you have a lot of snippets, contact us and we'll give you a query to mass transfer snippet ownership directly from the database.

Virtual Attendants

  • New conditions have been added for Group and Group and Bucket. You should replace your usage of Group name and Bucket name with them.
  • Move to Group and Move to Bucket actions have been combined into a single action on ticket-based events. The upgrade migration will favor Move to Group if both were defined.



  • Implemented the ability for an administrator to impersonate any other worker from their profile. This is very useful for setting up a work environment for a new team member, or for troubleshooting reported issues, without a worker having to expose their password. The administrator can quickly change back to themselves by clicking their own name in the top right.
  • Administrators can now edit workers or enter impersonation mode from the profile list without having to click into each profile.
Clicking on the Impersonate button from a profile allows an administrator to become that worker.
When impersonating a worker, your name will be shown in the top right. Click it to return to your own session.


  • Creating a workspace requires fewer steps now. Previously you had to create the workspace by name, then add it, click to its tab, and hit the Edit button. Now the 'Create Workspace' button will provided a popup for editing the workspace immediately.
  • Administrators can create workspaces for other workers.
  • Administrators can now access all workspaces, whether they are owned by groups, roles, or other workers.
  • [CHD-2580] Workspaces can now have their ownership transferred.
  • Improved the '+' add workspace tab. You can now filter workspaces by all, mine only, selected only, or text match. This is especially helpful for administrators who can now see all workspaces. Improved the look and feel. Added 'handles' for drag reordering.
Creating a workspace now requires fewer steps.
The list of available workspaces can be quickly filtered using the new options.

Shared Workspaces

  • [CHD-308] Shared workspaces have been implemented. This allows multiple workers to see the exact same worklists in a workspace. Workspaces can be owned by workers, groups (managers), or roles (admins). Editors can change the worklist (name/required filters/columns), and readers can have their own subtotals/paging/sorting. This ensures multiple workers have the same perspective. The owner of a workspace is displayed at the top of the tab (if not owned by the current worker). Changes to shared worklists will automatically syndicate to any workers using them.
Workspaces can now be owned by workers, groups, or roles.
Workspaces can be owned by groups, roles, or workers. Administrators can view and edit any workspace.
The owner of a workspace is shown at the top.
A worker without write access can not modify a shared worklist. This keeps everyone on the same page.

Roles and Permissions

  • Worker permissions are now always active. If you're upgrading an environment that had permissions disabled then a default role will be created that grants all permissions to your workers.
  • Worker roles can now be applied to: everyone, specific groups, or specific workers. In previous versions you could only assign workers to roles and you had to do it for each new worker. The new 'everyone' and 'groups' options will automatically apply permissions to new workers, and permissions will be adjusted as workers join/leave groups. A role applied to 'everyone' can be used to create a permissions baseline; for example, enabling a common set of plugins or granting a common set of permissions. You can also use an 'everyone' role to grant all privileges if you don't wish to use itemized permissions.
  • When adding worker permissions from a role you can now grant: all, none, or itemized. In previous versions only the itemized option was available. If you use 'all' it will automatically include any new permissions that are added.
Roles are configured from Setup->Workers & Groups.
Roles can now be applied to: everyone, specific groups, or specific workers.
Roles now grant: all, none, or itemized permissions.

Virtual Attendants

Links as conditions and actions

  • [CHD-2578] Virtual Attendant (VA) behavior can now make decisions using record links as conditions. For example, this was requested by users who wanted to be able to define service levels based on the server record that a sender's organization was linked to. Links as VA conditions are implemented for the following event types: address, call, domain, feed item, knowledgebase article, message, opportunity, org, server, task, ticket, time tracking entry.
  • [CHD-2109] Links can now be created between records using actions in Virtual Attendant behavior. This is implemented for the following event types: address, call, domain, feed item, knowledgebase article, message, opportunity, organization, server, task, ticket, time tracking entry.
Virtual Attendant behavior can now check links as a condition.
Virtual Attendant behavior can set links on records as an action.

New condition for group selection

  • [CHD-2542] Added a new 'Group' condition to ticket-based events for Virtual Attendant behavior. This provides a list of groups with checkboxes and 'any of these' or 'not any of these' matching. This is an alternative to the 'Group name' condition that does text-based matching.
It's now simpler to select a group as a condition from Virtual Attendant behavior. Previously this could only be accomplished by matching the literal names of groups.

New condition and action for combination of group and bucket

  • [CHD-2542] Added a new 'Group and Bucket' condition to ticket-based events for Virtual Attendant behavior. This allows the primary selection of a group and the secondary selection of multiple buckets within that group. 'Any of these' and 'not any of these' matching is provided. This is an efficient alternative to cumbersome combinations of 'Group name' and 'Bucket name' conditions.
  • Combined the 'Move to Group' and 'Move to Bucket' actions into a single action on mail-based Virtual Attendant behavior.
A condition on group and bucket can now be created in Virtual Attendant behavior. The possible buckets will change depending on the selected group.
A ticket can now be moved to a group and bucket in the same Virtual Attendant action.

Behavior on composed mail

  • [CHD-2508] The 'Before sending' and 'After sending' Virtual Attendant behaviors now work when composing mail in addition to replying.

Replace text in messages using regular expressions

  • [CHD-2603] The 'Replace text in message content' Virtual Attendant actions can now use regular expressions. This can be used to filter incoming messages and strip content like long blocks of quoted lines or signatures. Regular expression substitutions are also supported with the "\1…\9" syntax. Sponsored by XILO Communications - http://www.xilo.net
Complex patterns can be replaced in message content using regular expressions in Virtual Attendants. In this example, any blocks of quoted text longer than three lines will be removed from incoming messages.


  • The 'To:' field on the Reply screen will now automatically add any listed recipients to the conversation. This ensures they will receive copies of future correspondence.
  • The 'To:/Cc:/Bcc:' inputs now provide a tooltip for each field while focused.

Reply to All

  • [CHD-1761] When replying to a message, the system will automatically provide suggestions of recipients to include based on the headers of the original message (e.g. From/To/Cc). This functions like a 'Reply to All' feature, but with more flexibility. The suggestion box will follow you when you focus To/Cc/Bcc, and clicking on a suggested address will add a new recipient to that category. You can dismiss this suggestion box, or it will dismiss itself once empty.
Oftentimes a sender will include other recipients in the To:/Cc: fields. It is tedious to add these manually.
When you reply, Cerb5 will suggest these recipients if they aren't part of the conversation. Click on an address bubble to have it added automatically.
As you change between the To:/Cc:/Bcc: fields, the suggestion box will follow. Recipients in the To: field will automatically receive copies of future correspondence, while Cc:/Bcc: entries will be sent a one-time copy of the current message.

Change Organization on Tickets

  • Organizations can now be assigned per ticket. Previously an organization was automatically associated with a ticket based on the first sender, but this caused problems when the first sender was a worker (compose vs. open ticket), or when the organization needed to change later on. When tickets are created, an organization will still be automatically assigned, but you now have the ability to change or override it.
The organization of a ticket can now be reassigned independent of the original sender or the recipients.


  • Combined the functionality of Open Ticket with Send Mail to remove redundancy. Open Ticket was implemented originally because the organization associated with a ticket was based on the first sender. This is no longer necessary in 5.6+ since you can assign the organization to each ticket.
  • When assigning an organization to a new ticket from Send Mail, a suggestion box will pop up with recommended recipients based on the top contacts associated with that organization. As with the new reply functionality, the suggestion box will follow you between To/Cc/Bcc fields. This makes it much easier to send mail when you know the name of the organization but not the appropriate contact. If you leave the new organization field blank, the ticket will be automatically associated with the organization of the first recipient.
  • Added an option on Send Mail for not sending a copy of the new message to the recipients. This was another distinction between Send Mail and Open Ticket in the past, where the former always sent a copy and the latter never did. Since these use cases have been combined, this option allows either choice from the same place.
  • [CHD-725] Custom fields can now be set from the compose mail screen. This saves the tedious extra steps of having to view each new ticket, edit, and set them from the peek popup.
  • [CHD-2591] If no organization is provided on the Send Mail page, the system will attempt to lookup the organization of the first recipient. This is preferable compared to using the sender/worker's organization.
Selecting an organization when composing a new message will suggest its top contacts to include as recipients.


  • [CHD-2362] Custom fields can now be set when writing a reply.
Custom fields can be set on tickets while replying.


  • Recipients and suggested addresses on replies will now include full names (either from the headers or the address book).
  • [CHD-1714] You can now input email addresses in full RFC-2822 format (e.g. Personal <mailbox@host>). Semicolons or commas can be used to separate multiple addresses. This works on compose, reply, adding requesters, etc.
  • The organization of a ticket is now displayed in the properties at the top of the page.
  • You can now open the peek popup for an organization by clicking in that column on ticket worklists.
  • [CHD-2593] The Reply/Forward options no longer disappear if a ticket has no recipients since they are now suggested on the reply page.
  • [CHD-1920] If there are no recipients on a ticket, the warning is now shown in the 'Recipients' property at the top of the page, and it will disappear automatically once recipients are added. Previous this required a page refresh.
  • [CHD-2564] Fixed an issue where forwarded messages and some replies saved a different 'Message-Id' header than was sent to a contact (due to behavior in the SwiftMailer library). This could result in replies not threading to existing conversations.
Email addresses may now be entered with personal names as well as mailbox@host (as specified in RFC-2822). This simplifies copying and pasting addresses from message headers; and it also makes communication more personable.


  • Snippets can now be created for any record type (e.g. tasks, opportunities, servers, knowledgebase articles). The upgrade process will automatically migrate ownership of snippets to the workers who created them. Ownership can then be transferred to the appropriate group.
  • Snippets can now be owned by workers or groups. This provides a way to partition snippets among workers for distinct brands. The 'Snippets' tab has moved to worker profiles for worker-owned snippets, and to group profiles for group-owned snippets. Managers can add/edit group snippets and any group member can see them when selecting snippets. A shortcut to the current worker's snippets is provided from the top-right menu.
  • You can now change the context of a snippet when editing it. For example, you can change a 'worker' snippet to a 'ticket' one and the new placeholder options will appear. You can also change any snippet to 'plaintext' so it can be used on any record.
  • The snippet tester will now check that the provided placeholders are valid. In the past a nonsensical placeholder like {{dummy}} would simply be blank when output. Now, a warning will be given that the placeholder is unknown. This is especially useful when converting a snippet between contexts (e.g. from worker to ticket).
  • [CHD-2212] The snippets chooser now remains open after insertion and can be used to insert multiple templates with a single-click each.
  • Added a quick search box to the snippets chooser. This saves workers from the hassle of opening up the filters to add a title criteria.
  • [CHD-1985] You can now add snippet templates to a broadcast from bulk update. This should save a lot of work from copying and pasting broadcast templates from elsewhere.
  • You can now use snippets when adding comments to any record type.
  • You can now use snippets to add content when editing knowledgebase articles. For example, you can have a template that provides consistent headings for new articles (e.g. Introduction, Instructions, References).
  • [CHD-1504] You can now use snippets when adding sticky notes to messages in a ticket conversation.
  • [CHD-880] You can now use snippets from the quick compose popup.
  • Snippet ownership can now be modified from the edit popup.
You can now search from the snippets chooser, which is much more efficient than having to add a filter.
The snippet tester now tells you when you use invalid placeholders.
Snippets can be created for any record type.
Snippets can be used in broadcasts. These insert with placeholders intact so each delivery can be personalized.
Snippets can also be used when adding comments to any record type.

Support Center

  • 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.
  • [CHD-2571] When visitors send a message from the Support Center, the 'Send' button will hide after it's clicked to prevent multiple submissions during latency.
  • [CHD-2595] The 'X-Cerberus-Portal' email header that is included in all Support Center originated messages will now include the name of the portal as its value. This can be used for mail filtering and Virtual Attendant behavior.
  • [CHD-2567] FIXED: The Support Center knowledgebase RSS feeds aren't sorting articles in the proper order.

Call Logging

  • [CHD-2471] You can now 'Create and Link' call logs from the Links tab on any record.


  • The server peek popup will now provides a link to the full record.
  • Fixed a bug on the domain display page that prevented the associated server peek from opening properly.


  • Improved the usability of row-selection on worklists by instructing the browser to not attempt to select/focus text in cells when clicked.


  • A Spanish translation has been provided.
    C560 lang spanish.png
  • A Russian translation has been provided.
    C560 lang russian.png

Plugin Development

  • Improved consistency of the schema and API by renaming any lingering instances of: agent->worker, team->group, category->bucket.

Maintenance Updates


Cerb5 (5.6.1) is a maintenance update released on October 21, 2011; it contains 22 minor fixes and usability tweaks from community feedback covering the recent 5.6 update.

  • [Org/Merge] Modified the organization merge popup so it can be reused by plugins.
  • [Address Book/Plugins] Implemented the 'handleTabAction' controller action for address book tabs. This allows Ajax-driven functionality to be implemented in plugins that contribute new tabs without requiring an explicit controller for each plugin.
  • [Address Book/Merge] [CHD-2620] Merging organizations will now also reassign the org associated with tickets.
  • [Address Book/Merge] Merging organizations will now combine scheduled behavior on org records.
  • [Mail/Scheduler/POP3] [CHD-1769] If a POP3 mailbox fails more than 5 times it will automatically be disabled. A notification with the most recent error message will be sent to all administrators.
  • [CHD-2610] [Virtual Attendants/Mail] FIXED: The new 'group and bucket' and 'group' conditions aren't available on 'new message on watched convo' events for workers.
  • [CHD-2612] [Snippets/Tester] FIXED: The snippet tester mistakingly reports that most date-based placeholders are unknown.
  • [CHD-2568] [Profiles/Activity Log/Subtotals] FIXED: The 'target context' subtotal option on Activity Log worklists disappeared after the subtotals were changed or the list was refreshed.
  • [CHD-2544] [Datacenter/Domains] Added the ability to delete domains from datacenter.
  • [CHD-2223] [Storage/S3] You can now specify an optional custom host for S3 storage profiles. The host defaults to s3.amazonaws.com to prevent previous configurations from becoming broken.
  • [CHD-2626] [Mail/Conversations/Usability] Mail conversations now show the relative date next to the 'Date:' header. Hovering over the relative date will also show the absolute date in the current worker's timezone. This makes it easier to get a sense for how much time has elapsed.
  • [CHD-2618] [Mail/Broadcast] Broadcast compose will now use the organization from the first recipient when creating the ticket. Previously this was using the organization of the sender (like inbound mail), which doesn't make sense in this context.
  • [CHD-2636] [Mail/Piles] FIXED: The pile sorter on mail worklists provides an 'assign' option which actually adds watchers. It now sets owners.
  • [Mail/Piles] Owners or watchers can now be assigned to mail from worklists using the pile sorter.
  • [CHD-2639] [Code Cleanup] Cleaned up lingering references to 'auto-refresh' in translations and permissions.
  • [CHD-2643] [Roles/Permissions] FIXED: When saving a role the itemized permissions become unchecked unless you re-select the role.
  • [CHD-2611] [Mail/Peek/Custom Fields] FIXED: The custom fields entry on ticket peeks no longer shows the custom fields table when there are no fields available to the group the ticket is currently in.
  • [CHD-2632] [Tasks] Tasks can now be bulk deleted.
  • [CHD-2634] [Snippets/Virtual Attendants] FIXED: The group_name and group_url placeholders now work properly in ticket-based Virtual Attendant actions.
  • [CHD-2646] [CRM/Opportunities] Opportunity records now show a linked organization at the top of the display page. This saves the extra step of having to open the contact popup and clicking on the org.
  • [CRM/Opportunities/Usability] Added an 'o' shortcut to opportunity display pages to quickly open the organization popup.
  • [CHD-2622] [Address Book/Orgs/Peek] The organization peek popup now shows the tabs for 'People' and 'Comments'. This saves the extra clicks required to go to the full organization record to find this information.


Cerb5 (5.6.2) is a maintenance update released on November 8, 2011; it contains 14 minor fixes and usability tweaks from community feedback covering the recent 5.6 update.

  • [CHD-2656] [CRM/Address Book/Peek] There's no title on addy peek popups from Opp display.
  • [Custom Fields/Import] Importing date-based custom fields to the address book or opportunity lists will now permit Unix epoch timestamps in addition to any sensible date format (e.g. June 30 2012, 2012-Jun-30, Jun-30-12, +30 days)
  • [Snippets/Permissions] Fixed an issue where workers could create snippets for any group even if they weren't a manager.
  • [CHD-2659] [Snippets] Fixed an issue where workers couldn't delete snippets that they had write access to.
  • [Virtual Attendants/Usability] Improved the drag/drop rearranging of nodes in decisions trees by making the bubble the drag handle. Previously you could accidentally start dragging nodes by clicking anywhere outside the tree at the same level as a particular node.
  • [Virtual Attendants/Events/Usability] Virtual Attendant behaviors are now grouped by event.
  • [CHD-2658] [Virtual Attendants/Events/Usability] Virtual Attendant behaviors can now be reordered by dragging on their title and moving it within their event group.
  • [Virtual Attendants/Events/Usability] When adding a new Virtual Attendant behavior, it will be focused by the browser without hiding the rest of the decision trees.
  • [CHD-2667] [Maintenance] Fixed SQL errors reported during maintenance when cleaning up workspaces.
  • [CHD-2662] [Support Center/Announcements] FIXED: Can't add knowledgebase feeds as an announcement source. This was caused by a missing 'User-Agent' header.
  • [CHD-2540] [ImpEx/Address Book] FIXED: The importer will now add Registered Contacts and set the Organization even if an address already exists.
  • [CHD-2672] [Mail/Bulk Update] Fixed an issue where bulk updating tickets submitted all the changes to the database in one pass instead of batching them as designed.
  • [CHD-2650] [Web-API/Mail] Fixed an issue that prevented ticket searched by group through the Web-API.
  • [CHD-2615] [Mail/Subtotals] Clicking on '(none)' in the list of subtotals on a worker-based field will now apply the proper filter for 'nobody' instead of 'blank'.


Cerb5 (5.6.3) is a maintenance update released on November 17, 2011; it contains 12 minor fixes and usability tweaks from community feedback covering the recent 5.6 update.

  • [CHD-2686] [Attachments/Storage] Deleting attachments from bulk update with random selection gives an error.
  • [CHD-2687] [Storage/Attachments/Maint] FIXED: The storage engines are not removing physical files during maintenance.
  • [CHD-2374] [Debug/Virtual Attendants] The /debug helper can now export an XML file that describes the Virtual Attendant behavior for all events. This format will probably allow import/export functionality in the future, but it's currently useful for technical support and training.
  • [CHD-1218] [Mail/Scheduler] Added a X-Header to incoming messages to record the mailbox it was downloaded from. This can be used for mail filtering. (Thanks to Robert Middleswarth and Mike Queisser for submitting the patch!)
  • [Install/Automation] Added three SQL scripts to /install/extras/automation/ to assist with non-interactive automated setups (e.g. On-Demand, Linode Stackscripts, Parallels Cloud). These scripts allow service providers to bypass the guided installer for automation.
  • [CHD-2692] [Windows/Localization] It's possible for the mbstring extension to be compiled without regexp support on Windows.
  • [CHD-2691] [Mail/Drafts] Sorting the Drafts tab on the Updated column doesn't actually sort the list.
  • [CHD-2681] [Snippets/Subtotals] Implemented subtotals for the context field on snippets.
  • [CHD-2689] [Mail/Split] FIXED: Splitting a ticket will remove a requester from the original conversation if it was their only message. This is not always desirable because requesters are chosen explicitly.
  • [Mail/Split] A split message will now link the same organization from the original ticket to the newly created one.
  • [CHD-2685] [Virtual Attendants/Relay/Localization] The default relay message can now be translated.
  • [CHD-2638] [Workspaces/Add] When adding a new workspace, a worker's own workspaces are now shown by default since the full list can be overwhelming when it's unintentional.