Release notes for Cerb 6.3
Cerb (6.3) is a major functionality update released on March 25, 2013. It contains over 64 new features and usability tweaks from community feedback.
[CHD-3136] [Watchers/Worklists] Fixed an issue when the 'watcher' filter was added to both the required and user-editable filter sections of a worklist.
[Workspaces/Plugins] Workspace Tab extensions may now provide a configuration section that is displayed in the Edit Tab popup. This provides a consistent experience, opposed to each tab having its own method of being configured.
[Workspaces/Calendars] Any number of calendars can now be added to workspaces as tabs. These calendars are capable of displaying any worklist data that contains dates: tasks due, invoices billed, tickets created, worker replies, time tracking, worker logins, Twitter @mentions, etc. A calendar is configured using a worklist, and the results will be displayed in the appropriate day's cell. A label format using placeholders may be provided to customize the output; for example, an invoice calendar may show the amount due and the client, a task calendar may show the title and time, and a login calendar may show each worker's name. A color may be configured for each set of labels.
[CHD-2903] [Broadcast/Attachments] Broadcast messages may now include attachments.
[CHD-3274] [Workspaces/Worklists] Workspace Widget worklists may now use the 'export' feature.
[CHD-3268] [Activity Log/Tasks] The Activity Log will now record which worker or Virtual Attendant behavior created a new task.
[CHD-3267] [Tasks] Added a 'created' field to task records. This can be used for reporting on task creation over time.
[CHD-3266] [Contacts/Bulk Update] Contact Person worklists now have a Bulk Update option to set or unset watchers and custom fields.
[CHD-3263] [Worklists/Dates] Worklists with date fields can now be filtered by that field being blank. Previously, it was only possible to find unset custom date fields with a search like 'BETWEEN 0 AND 1' or 'BETWEEN big bang AND -10 years'. This was unintuitive compared to a simple 'is blank' operator.
[Worklists/Dates] Worklists with date fields can now be filtered using a 'NOT BETWEEN' operator. This allows a date range to be exclusive rather than inclusive.
[Quick Search/Dates] When using Quick Search on a date-based field, the options 'empty', 'blank', or 'null' will automatically filter for blank date fields.
[CHD-3260] [Virtual Attendants/Defunct] Virtual Attendant behaviors that involve email addresses (e.g. new message in a group conversation) may now create conditions that check the 'is defunct' status of those addresses.
[Snippets] Added a 'total uses' column to snippet records. This makes it much easier to report on the total number of uses for each snippet. For instance, on a dashboard with a worklist widget. Previously, snippet worklists only showed the hits per worker.
[CHD-1987] [Snippets/Reports] Snippet usage statistics are now recorded with timestamps. Previously, it was only possible to report how many times each worker used a particular snippet (i.e. all-time). Now it is possible to report on how often a snippet was used over a given date range. This uncovers trends where a snippet may become more or less popular over time; which is useful when performing maintenance on those records. The original cumulative stats are imported at the beginning of the time range so they are included in the grand totals, but not on any reports with a range like "Past 30 days". New stats will have to be collected for these reports and dashboard widgets to display useful information.
[Virtual Attendants/Comments] A new global event point for 'New comment on a record' is available for Virtual Attendant behaviors. This triggers every time a new comment is added to any record. Abstract placeholders are available for the record type (e.g. task), record label (e.g. task title, ticket subject), and record permalink URL. This makes it very easy to send comment notifications to any channel -- email, SMS, Campfire, HipChat, etc. Comment behaviors can be filtered by type, author, content, etc.
[Virtual Attendants/Comments] Added a new group-level event point for 'New comment on a conversation in group'. This triggers when a new comment is added to one of the group's tickets, which allows Virtual Attendant behavior to perform custom business logic. For instance, managers may elect to receive an email copy of all group comments without having to explicitly watch every conversation. Comments may also be posted to other channels like SMS, Campfire, or HipChat.
[CHD-3272] [Virtual Attendants/Performance/Reports] Virtual Attendant usage statistics are now recorded when behaviors run. Entries are sorted by a per-day timestamp, each with the number of uses and the cumulative runtime for that time period (which can be used to compute average runtimes). Previously, usage stats for Virtual Attendant behaviors were not collected at all. These stats provide much more insight into how Virtual Attendants are behaving.
[Reports/Virtual Attendants] Added a 'Virtual Attendant Usage over Date Range' report. This allows reporting on Virtual Attendant behavior filtered to a specific time period. Data is displayed for the number of uses for each behavior, along with its total runtime, average runtime, owner, and event. The report may also be sorted by any of those fields.
[CHD-3276] [Tasks/Usability] On the profile page of a task, the Comments tab is now the default. It is also shown before the Activity Log tab.
[CHD-3275] [Mail/Attachments/Usability] Workers may now upload multiple files at once when using an HTML5-compatible browser (e.g. Chrome). Previously, each file had to be attached individually using the file dialog. Multiple files may be selected by using CTRL/CMD, or SHIFT, when left-clicking.
[Attachments/Performance] Performed some optimizations on the way attachment link UUIDs (universally unique IDs) are stored and indexed in the database.
[Attachments/Scalability/Replication] Modified the way attachment links are inserted into the database so they are compatible with binary logging. Previously, these queries used MySQL's UUID() function in INSERT statements. This is technically fine, since the UUID value isn't used in any other tables; however, MySQL may still record error_log entries about using dynamic functions in inserts when binary logging is enabled. These inserts are now done in two steps, with a SELECT UUID() and then an explicit INSERT value for the 'guid' column.
[CHD-3280] [Virtual Attendant/Custom Fields] Virtual Attendant behaviors may now set cross-record custom fields. For example, a ticket behavior can also set custom fields on the sender and their organization. This enables many new VA workflows. You could now have a 'new message' behavior set a date custom field on the sender's record to keep track of their latest incoming message. This could be used for sales, marketing, or even to throttle auto-replies. For another example, VAs could automatically manage 'unsubscribe' functionality by setting a 'do not contact' custom field on sender addresses when they reply with 'remove me'. Previously, all this advanced behavior required scheduling macros on other records, which didn't run immediately, and also left a lot of one-use macro clutter in Virtual Attendants. This new solution is much simpler and more powerful.
[CHD-2570] [Security/Who's Online] Fixed an issue where the "Who's Online" list doesn't display if the Suhosin extension is installed and session data is being encrypted. Cerb no longer needs to decrypt sessions to list active workers.
[CHD-2835] [Security] Disabling a worker's account now immediately ends all of their active sessions.
[CHD-3289] [Security/Sessions/Setup] Admins may now view a list of all active worker sessions from Setup->Sessions. This includes IP addresses and user agents (e.g. browser, OS, version). Sessions may be force expired from the Bulk Update popup.
[CHD-3288] [Security/Sessions/Preferences] Workers may now view their own list of active sessions from Settings->Sessions. This displays IP addresses, browser, and operating system. Sessions can be force logged out by using the Bulk Update button.
[Web-API/Attachments] Files may now be uploaded through the Web-API and saved as attachments. These may then be linked to various records. Refer to the documentation for the '/attachments/upload' action.
[CHD-3066] [Web-API/Mail/Compose] New mail may now be composed by using the Web-API. This sends an email message to the recipients and creates a new ticket in Cerb. File attachments, status, and custom fields may also be included. Refer to the documentation for the '/tickets/compose' action.
[Virtual Attendants/Macros] Application-owned Virtual Attendant behaviors will now show up in macro menus.
[CHD-882] [CHD-3244] [Virtual Attendants/Mail/Reply] Implemented a new Virtual Attendant event point for '[UI] Before replying to a message'. This allows behaviors that automate modifications to the reply form in the browser using jQuery actions. For example, a group-owned behavior can set the default 'status' (e.g. open, waiting, closed) per group. If the default status is 'waiting' the reopen date can be automatically set with intelligence, such as "+4 business hours", which accounts for evenings and weekends. As another example, the 'custom fields' section can be hidden by default using a worker-level reply behavior, and made visible using another 'Show custom fields' behavior from the reply form in only the situations where it's needed. Behaviors for this event may be owned by the app (global), roles, groups, or workers.
[Mail/Reply/Usability] When replying to mail, the text box is no longer forced as the focused element. This allows VA automation to move the cursor somewhere else (e.g. to the first blank line).
[Virtual Attendants/Mail/Reply] Added a '[UI] While replying to a message' event point for Virtual Attendant behavior. This makes user interface automation possible with macros that a worker can activate as-needed. These actions can run custom jQuery code. For example, during a reply a worker may want to automatically insert a summarized history of the current recipient's support history (e.g. reference number, subject, date, status). This wouldn't be possible using snippets, but a VA behavior can build a worklist in a private behavior variable and then use the results as placeholders that output some text in the reply box. A single macro can also: watch the conversation, add attachments, change the status, move the convo, assign it, and click the 'send' button. 'While replying' macros may be owned by the app (global), roles, groups, or workers.
[Worklists/Export] The field names are now properly capitalized in the 'Export' action of worklists.
[CHD-3290] [Security/Logins] When logging out, a worker may now choose 'Sign off (all my sessions)' to expire all their active sessions at the same time.
[CHD-3284] [Mail/Worklists/Piles/Merge] The pile sorter on ticket worklists now allows 'merge' as an action.
[CHD-3265] [Contacts/People/Import] Contact Person records may now be imported in worklists using .CSV (comma-separated value) files. The supported fields are: email address, password, created date, first name, and last name.
[Platform/Comments] Comments may now be authored by any kind of record (e.g. app, role, group, worker, email address). Previously, comments had to be authored by an email address, which didn't make a distinction between workers, customers, or Virtual Attendants. It would now be possible for the same functionality to mix comments from different sources (e.g. internal and public interfaces). For example, a knowledgebase article could have customer comments that are shown publicly, with worker comments that are highlighted as authoritative.
[Virtual Attendant/Simulator] The Virtual Attendant behavior simulator will now show more property values in the popup. Previously, the simulator was only showing properties that had values, and it wasn't using the lazy loader to look up values on linked records.
[CHD-3258] [Virtual Attendants/Comments] When Virtual Attendants post a new comment, the author of that comment will now be set to the owner of the VA behavior. Previously, comments created through Virtual Attendants always showed the author as '(system)', which wasn't very helpful. Now the app, or any role, group, or worker will be shown instead.
[Web-API/Comments] Comments on any record may now be searched through the Web-API. Results may be filtered by target record or author details.
[CHD-3201] [Virtual Attendants/Mail] Virtual Attendants may now set custom mail headers when using the 'Send Email' or 'Send Email to Recipients' actions. This is useful if you want to provide a header like 'X-Precedence: bulk' to combat auto-responder loops, or if you want to send structured information in email to an automated script.
[CHD-2895] [Virtual Attendants/Mail/Recipients] Virtual Attendants may now add new recipients to conversations from ticket and message-based behaviors.
[CHD-2789] [Virtual Attendants/Mail/Orgs] Virtual Attendants may now set organizations as an action on ticket and message-based behaviors. The organization may be set for the ticket or any associated addresses (e.g. sender). For example, a VA can automatically set an organization for new senders based on their domain name.
[Virtual Attendant/Mail/Simulator] Implemented Virtual Attendant simulator output for the 'Set owner' action on ticket and message-based behaviors.
[CHD-3305] [Virtual Attendants/Setup] Fixed an issue with 'Setup->Virtual Attendants' where adding a new behavior on an owner tab (e.g. app, role, group, worker) didn't always refresh the affected part of the page. This had to do with page elements not having unique IDs, and multiple owner tabs having the same event point in use. In this case, the first tab showing the event point was improperly being reloaded, rather than the focused tab.
[Virtual Attendants/Usability] When adding actions to a Virtual Attendant behavior, the 'Add Action' button is now a filterable menu (like when adding outcomes) rather than dropdown. This makes it much more efficient to filter a long list of actions because the filtering text doesn't have to match the beginning of the option, like with a dropdown. For instance, filtering for 'Face' will quickly limit the actions to a list including 'Post to Facebook'.
[Mail/Security] The ticket 'peek' popup now verifies that the current worker has access to the ticket's group.
[CHD-3306] [Workspaces/Mail/Security] The Search->Messages worklist now enforces group memberships as a filter.
[Virtual Attendants/Mail/Filtering] The 'is defunct' field of the sender may now be used as a condition in VA-driven mail filtering behaviors.
[Virtual Attendants/Mail Filtering] Virtual Attendant Mail Filtering behaviors may now set the sender 'is defunct' and 'is banned' fields as actions. This makes it possible to ban/unban a sender during mail filtering, and to remove the defunct flag when a previously defunct sender writes a new incoming message.
[Virtual Attendants/Mail Filtering/Simulator] Fixed an issue with using the Virtual Attendant Simulator on Mail Filtering behaviors. Due to the way that the event works in conjunction with the parser, the underlying fields (i.e. those not set by the simulator's form) didn't have any values set. This made it difficult to simulate behaviors that looked at related records; for example, getting or setting values for the sender as an action during mail filtering. The issue was solely with the simulator; the actual events always worked properly.
[CHD-3307] [Mail/Parser/Defunct] The 'defunct' flag will now be automatically removed from a sender's record if they send a new incoming message.
[CHD-3304] [Mail/Profiles/Permalink] When displaying a mail conversation, each expanded message now contains a 'permalink' link below the headers. This makes it easy to send a link to another worker regarding a specific message. In addition to scrolling the browser down to the appropriate message, the message will also be briefly highlighted for a visual cue.
[Mail/Profiles/Comments] When displaying a mail conversation, each comment now contains a 'permalink' link in the top right. This allows workers to exchange URLs that will focus a specific comment in the timeline. Just like the permalinks for messages, the focused comment will show a highlight effect as a visual cue. The focused message will also be maximized automatically.
[Mail/Profiles/Usability] When viewing a mail conversation timeline, the 'minimize' and 'maximize' links will now only be shown for the message under the mouse cursor. This improves usability by reducing the number of links on the page at a given time.
[Mail/Usability] When clicking into a ticket from a message worklist, the conversation will now automatically focus and expand that message.
[CHD-3302] [Mail/Sticky Notes/Watchers] Creating a sticky note on a ticket message will now automatically notify any watchers on that ticket.
[Mail/Sticky Notes/Usability] When displaying a sticky note, a 'permalink' link is now available in the top right. This allows workers to share a URL that automatically focuses a particular note.
[CHD-3300] [Support Center/Knowledgebase/Usability] In the Support Center, the number of knowledgebase articles displayed per page in worklists is now a configurable option.
[CHD-3297] [Mail/Sticky Notes] Fixed a bug in ticket conversations where sticky notes were no longer displayed for a particular message after minimizing and maximizing it.
[CHD-3296] [Groups/Setup/Buckets] Bucket names may now be up to 64 characters in length. When editing a bucket, the form will now enforce this maximum length.
[CHD-3295] [UI/Worklists/Usability] The '(dismiss)' option for worklist helpers is now consistently located in their top right corner. Previously, an 'undo' helper showed dismiss on the left.