7/13/2015
- General Changelog / Developer Notes:
- Important security updates
- "Post to Activity Feed" flow action changes:
- New "User" option determines the owner of the feed to which the post will be added. This allows for the creation of social posts.
- New post "Visibility" option
- Fixed bug which prevented "My Actions" widget from remaining hidden after clicking the close button
- Fixed bug which prevented products and quotes details from displaying in the Inline Relationships Widget
- Web lead form submit button now disabled after form submission, preventing duplicate submissions
- SMTP authentication failure now halts campaign
- Invalid email addresses in X2Flow action menus now trigger validation warnings upon saving or triggering flows
- Fixed Email module bug which caused forwarded email attachments to be corrupted
- Fixed Reports bug which prevented column sort order from being saved
- Fixed Reports bug which caused an error to occur upon report generation if the column "Action Description" of the Actions module was selected
- Date function attributes and attributes of related records now display properly in emailed, exported, and printed reports
- Fixed custom module bug which prevented users with "Assigned Only" access from updating and deleting custom module records to which they were assigned
- The "Transactional View" has been renamed "List View"
- Updated PHPMailer to version 5.2.10
- Tracked Bug Fixes:
6/2/2015
- General Changelog / Developer Notes:
- Fixed issue which caused incorrect naming of uploaded media files
- New exporter option to include merged duplicate records in export, disabled by default
- Numerous bug fixes to global import/export tool
- name field of related contacts created on record import will now be generated automatically from firstName and lastName fields
- Flows now triggered when records are updated via the REST API
- Fixed bug in X2Flow Designer which would cause flow action configuration menus to load incorrectly when quickly switching between them
- Fixed REST API bug which would cause pagination to be disabled if max page size was set to 0
- Placeholder values no longer submitted with X2Touch forms
- Fixed bug in email client which prevented email conversation from being automatically appended to new email when replying
- Tracked Bug Fixes:
5/12/2015
- General Changelog / Developer Notes:
- Fixed bug in the application updater tool which would cause certain files to be incorrectly deleted on case-insensitive file systems
- Fixed bug in flow deletion action menu link, changelog deletion button, and "Go Invisible" button related to 5.0.5 introduction of CSRF token validation
- Fixed bug in mass update tool which prevented value for boolean type fields from being set properly
- Automatic record tagging feature now ignores CSS color hex codes
- API VoIP action no longer retrieves phone numbers of hidden contacts
- X2Flow tag triggers no longer fired on record merge
- Added web form deletion validation dialog
- Tracked Bug Fixes:
4/16/2015
- General Changelog / Developer Notes:
- Contact tracking key can now be set through the REST API
- Added CSRF token validation to Google login
- Fixed bug in the REST API search action which would cause all results to be returned if _or parameter was present
- Fixed bug preventing X2Flow shortcodes from evaluating if present in X2Flow record attribute inputs
- Fixed bug in X2Flow Reassign Record flow action which caused reassignment to fail
- Leads conversion now displays error output if conversion fails due to field validation
- Permissions bug fixes:
- Campaigns were inaccessible if user's view permissions were set to "Only Assigned"
- Docs delete button wouldn't display if user's delete permissions were set to "Only Assigned"
- Users with "Only Assigned" delete permissions couldn't mass delete records through the grid view
- Reports would fail to save if a report condition contained an unchecked check box
- Fixed Verify Credentials feature to work with Yahoo, Outlook, Mandrill, and Sendgrid credential types
- Tracked Bug Fixes:
3/18/2015
- General Changelog / Developer Notes:
- Fixed CSRF vulnerability described here: http://packetstormsecurity.com/files/130820/X2Engine-5.0.4-Platinum-Edition-Cross-Site-Request-Forgery.html
- Tracked Bug Fixes:
- 2267: X2Flow actions which require a model param should check for presence of param before attempting to access it
- 2280: CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column 't.actionDescription' in 'order clause'
- 2286: CDbCommand failed to execute the SQL statement: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'fileName' at row 1
- 2290: Property "EmailInboxes.updatedBy" is not defined.
3/10/2015
- Highlights
- Professional Edition Changes
- New Charts drilldown feature allows you to quickly get a list of records associated with charted data points
- New scatter plot charting option
- New column aggregation option for time series charts
- Improved reports print view adds new configuration options and allows inclusion of charts
- New X2Flow Periodic Trigger allows flows to be triggered according to a schedule
- Redesigned Web Form Designer
- More intuitive and compact interface
- Improved style of default web form
- Record print view given configuration options and an improved look
- Details of related records can now be viewed from the inline relationships widget
- New option in transactional view widgets to display actions of related records
- Professional Edition Changes
- General Changelog / Developer Notes:
- The response of API calls made through X2Flow's API Call Action can now be retrieved in subsequent flow actions with the token "{returnValue}"
- The X2Flow trigger logs table now has a maximum record count which can be configured from the new X2Flow Settings admin page. The default maximum is 1 million records
- Fixed bug preventing data types of columns from changing when updated through the Manage Fields page
- Tracked Bug Fixes:
2/5/2015
- General Changelog / Developer Notes:
- Fixed bug affecting X2Flow API actions made after X2Flow Wait actions
- Tracked Bug Fixes:
- 2149: Missing argument 2 for FieldFormatter::renderInt(), called in /opt/bitnami/apps/x2crm/htdocs/protected/components/FieldFormatter.php on line 348 and defined
- 2152: User Report
- 2153: X2Flow Compare Attribute using "In List" with dropdown fields fails to save
- 2156: FieldFormatter and its behaviors do not have a method or closure named "getFields".
- 2158: Unable to resolve the request "actions/id/complete".
- 2159: Trying to get property of non-object
- 2160: Undefined variable: render
- 2161: User Report
1/30/2015
- Highlights
- Added ability to export user changelog to CSV
- Record importer now provides a progress bar
- General Changelog / Developer Notes:
- Fixed response handling when verifying application credentials
- Tracked Bug Fixes:
- 1853: Undefined variable: report
- 1855: Undefined variable: retVal
- 1896: Argument 2 passed to X2Model::renderModelInput() must be an instance of Fields, null given, called in marketing/protected/models/X2Model.php on line 2298 and defined
- 1899: User Report
- 1905: Class: Charts not found.
- 2107: Property "X2ButtonColumn.name" is not defined.
- 2115: PublisherProductsTab and its behaviors do not have a method or closure named "renderPartial".
- 2119: User Report
- 2120: Invalid email address list
1/20/2015
- Highlights
- New Record Transactional View
- Provides an alternate view of a record's action history
- Individual widgets for each type of interaction (Calls, Emails, Actions, etc.)
- Professional Edition Changes:
- Charts created through the Reports Module can now be added to the profile dashboard
- Profile dashboard and record view column widths can now be adjusted
- Email Contact X2Flow action has a new option to enable email logging and tracking
- Application-wide icon update
- New Record Transactional View
- General Changelog / Developer Notes:
- Updated Yii to version 1.1.16
- Tracked Bug Fixes:
- 1994: Unable to resolve the request "accounts/view/id".
- 2004: CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'c_email2'
- 2007: The system is unable to find the requested action "webleadForm".
- 2008: CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column 't.actionDescription' in 'order clause'
- 2009: CDbCommand failed to execute the SQL statement: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
- 2048: htmlspecialchars(): Invalid multibyte sequence in argument
- 2049:
- 2086:
12/22/2014
- General Changelog / Developer Notes:
- Platinum Edition Changes:
- New login history export tool on the Advanced Security page
- Professional Edition Changes:
- Added a button to remove individual emails from newsletter recipient lists
- Email Manager module renamed "Email"
- Fixed AnonContact entries on activity feed
- Fixed bug preventing lead related records from transferring to target record upon conversion
- Added safeguard to prevent administrator account from being disabled
- Platinum Edition Changes:
- Tracked Bug Fixes:
- 1938: Class: not found.
- 1940: imap_get_quotaroot(): c-client imap_getquotaroot failed
- 1941: Unable to resolve the request "x2Leads/id/convert".
- 1945: Inline edit checkbox fields always checked.
- 1952: TimeSeriesForm and its behaviors do not have a method or closure named "getName".
- 1955: Unable to resolve the request "charts/charts/index".
- 1957: Unable to resolve the request "emailInboxes/updateSharedInbox/id/sharedInboxesIndex".
- 1967: trim() expects parameter 1 to be string, array given
- 1968: TimeSeriesForm and its behaviors do not have a method or closure named "getName".
- 1971: TimeSeriesForm and its behaviors do not have a method or closure named "getName".
- 1972: Class: not found.
- 1984: User Report
12/9/2014
- General Changelog / Developer Notes:
- New Outlook and Yahoo email credential types
- Leads name field is no longer overwritten with first name and last name if name field is already set
- Tracked Bug Fixes:
12/5/2014
- Highlights
- New in Platinum Edition
- Advanced Security Tools
- Ban, whitelist, or blacklist IP addresses
- View a log of user logins and failed login attempts
- Lock out IPs or users after a certain number of failed login attempts
- Advanced Security Tools
- New in Professional Edition
- Integrated Email Client
- Manage inbound and outbound emails through private and/or shared email inboxes
- Automatically or manually Log emails to the action histories of associated records
- View contact information via hovering tooltip
- Create contacts and actions on the fly from email address links
- Reports 2.0
- New summation and rows & columns reports
- Drill down into summation report groups
- Improved report filtering, sorting, and column selection
- Create reports on almost any record type
- Report on attributes of related records
- Charts 2.0
- Customizable charting dashboard
- Generate gauge, bar, line, pie, and time series charts built from data in saved reports
- X2Packager
- Export and package modules, custom fields, flows, themes, and more
- Import packages to instantly inherit a pre-built X2Engine environment
- Record merge tool
- Interactively mass merge contact or account records from the grid view or duplicate checker
- X2Graph
- Explore and edit record relationships through an interactive relationships graph
- Visualize relationships across all records simultaneously
- Dynamically add relationship graph nodes and edges
- Integrated Email Client
- New in Open Source Edition
- User Interface Revamp
- Vastly improved app themability
- Prepackaged dark and light themes
- Simplified theme color selection
- Themable login screen
- Login animation
- Vastly improved app themability
- X2Touch 2.0
- Refreshed user interface
- Inline Editing
- Edit record fields from the record view page
- Module Deep Rename
- All references to the module are now fully replaced with your custom name, including in actionable events, dropdown menus, and relationships.
- Importer 3.0
- Automatic field detection
- Configurable import batch size
- Greatly reduced import time
- Improved campaign click tracking
- Automatically generate email redirect links
- Track email clicks with the campaign chart and campaign progress grids
- Record aliasing
- Add multiple email addresses, phone numbers, and social media handles to Contact records
- Click-to-call/chat Skype aliases
- Twitter integration
- New contact Twitter feed widget allows you to view the Twitter feed for any of the contact's Twitter aliases
- Calendar event copying
- Duplicate a Calendar event from the event tooltip
- Duplicate checker now detects both contact and account duplicates
- Convert leads to opportunities or contacts
- User Interface Revamp
- New in Platinum Edition
- Tracked Bug Fixes:
- 1553: "Do Not Email Page" does not save
- 1554: explode() expects parameter 2 to be string, array given
- 1555: Invalid argument supplied for foreach()
- 1562: The system is unable to find the requested action "www.google.com".
- 1565: CDbCommand failed to execute the SQL statement: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{"contacts\
- 1567: Class: AnonContact not found.
- 1572: Unable to resolve the request "actions/viewAll/showActions/incomplete".
- 1574: Trying to get property of non-object
- 1578: Undefined variable: users
- 1584: Undefined variable: newFields
- 1589: CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '3' for key 'PRIMARY'
- 1596: Undefined variable: fmtNumber
- 1621: Non-static method Tags::normalizeTags() should not be called statically, assuming $this from incompatible context
- 1648: Invalid address:
- 1659: User Report
- 1660: Undefined index: first
- 1688: Undefined index: last
- 1697: htmlspecialchars(): Invalid multibyte sequence in argument
- 1706: Undefined variable: email
- 1808: Undefined index: fingerprint
- 1849: Undefined variable: l
- 1856: Trying to get property of non-object
- 1857: Undefined variable: imporMap
- 1876: ContactsNameBehavior and its behaviors do not have a method or closure named "setName".
10/9/2014
- General changelog/developer notes
- Updated calendar widget to be hidden and shown according to persistent settings
- Fixed bug preventing tags from being added to leads
- Tracked Bug Fixes:
9/26/2014
- Highlights
- New calendar profile widget
- The clock widget now allows you to choose from analog, digital, and digital 24-hour
- General changelog/developer notes
- Fixed inline process widget in Opportunities module
- Custom assignment fields now produce links in grid views
- Importer Bugfixes
- Action.description will now be automatically mapped
- Fixed bug when uploading import maps
- Added better handling of empty rows
- Fixed purification issue with insertableAttributes
- Tracked Bug Fixes:
9/11/2014
- General changelog/developer notes
- Fixed bug in importer preventing equal valued fields from being set
- Tracked Bug Fixes:
9/3/2014
- Highlights
- New feature to validate email credentials from the 'Manage Apps' page
- General record import improvements:
- Added a loading throbber to indicate activity
- Added a timeout warning when max_execution_time is set to 30 seconds or less
- Improved contact lists grid view
- General changelog/developer notes
- Fixed bug in importer preventing action descriptions from being imported
- Improved error reporting and handling on media upload tool
- Improved currency validation and fixed consistency issues when changing a products currency
- Fixed error reporting when attempting to upgrade without a key
- (Platinum Edition) Updated Fingerprint index to display a human-readable timezone string
- Default permissions will now be created when importing a module
- Fixed Account link type fields for Contacts and Opportunities created on the Quick Create page
- Fixed links in 'My Actions' widget
- Fixed bug in Google Calendar Sync which prevented calendar and action history from updating after publishing events or actions
- Tracked Bug Fixes:
- 1492: User Report
- 1553: "Do Not Email Page" does not save
- 1554: explode() expects parameter 2 to be string, array given
- 1555: Invalid argument supplied for foreach()
- 1562: The system is unable to find the requested action "www.google.com".
- 1565: CDbCommand failed to execute the SQL statement: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{"contacts\
- 1567: Class: AnonContact not found.
- 1572: Unable to resolve the request "actions/viewAll/showActions/incomplete".
- 1574: Trying to get property of non-object
- 1578: Undefined variable: users
8/5/2014
- Highlights
- Improvement to role access editor (Professional Edition):
- New user interface enables more fine-grained control over role-based permissions
- Profile widget improvements:
- New website viewer widget
- Leads module grid widget
- Can now create grid widgets for custom modules
- Can now clone, rename, and delete profile widgets
- Persistent grid widget filters
- Quick Contact widget now provides appropriate input fields for all required fields
- Grid view improvements (Contacts module only):
- Can now select all records on all pages
- Perform updates on thousands of records at a time
- X2Flow improvements (Professional Edition):
- Improved X2Flow Remote API Call Action supports custom request headers
- New "Has Tags" flow condition
- Calendar improvements:
- New weekly agenda view
- New customizable event subtype and status dropdowns
- Can now customize event color dropdown
- (Platinum Edition) New share/export URL feature for read-only integration with calendar clients that support the iCalendar format
- Importer improvements:
- Added preset import maps to transfer records from other systems
- Action descriptions can now be imported/exported
- Actions associations will now be verified to ensure the type is known to X2 and that the associated record exists
- Static pages can now be created from existing Docs instead of only a new Doc
- New access-model-by-attribute-conditions method in the REST API
- Fields Manager Improvements
- Sorting and filtering in the fields grid
- New "custom" field type allows creating unique field view widgets in HTML
- Custom and modified fields highlighted with different colors
- Improvement to role access editor (Professional Edition):
- General changelog/developer notes
- Patched file upload filter bypass vulnerability
- Fixed missing link to modify Doc permissions when logged in as admin
- Fixed issue that caused phone number links to be prepended international dialing codes unconditionally
- Updated the web lead form to search for duplicate contacts on all custom Contact email fields
- Fixed issue preventing Automatic Updates settings form from being saved
- Fixed issue which caused process funnel record counts to be incorrect
- Tracked Bug Fixes:
- 1401: Undefined index: tags
7/15/2014
- General changelog/developer notes
- Fixed issues in the importer which prevented fields from being set when a default field value was given
- Fixed error in Form Editor which prevented scenario from being saved
- Fixed bug in the Campaign Bulk Mailer which caused an incorrect error to be reported
- Fixed bug in legacy API which incorrectly restricted search results
- Fixed bug in process pipeline/funnel views which prevented contact records from displaying even if the current user had permission to view them
- Fixed bug in process funnel view which prevented per-stage grid views from updating when a different process was selected
7/10/2014
- Tracked Bug Fixes:
7/8/2014
- Highlights
- (Professional Edition) Improved activity feed reports with a page to manage reports and the ability to send a test report
- Process UI improvement: Quickly switch between processes from the funnel and pipeline views
- General changelog/developer notes
- Fixed regex matching on imported ids
- Added missing phone type in Field Manager
7/3/2014
- Highlights
- New "available" lead routing option:
- Users can set online/offline availability, i.e. when they go on vacation
- Lead routing can be configured to respect this option, i.e. avoid assigning records to unavailable users
- "Loading" status/visual overlay when adding fields
- Global import/export tool now supports custom fields
- Custom short-codes feature for templates and X2Flow: create an analogue of protected/components/x2flow/shortcodes.php in custom/ to define your own custom codes
- Can rename media files
- (Professional Edition) X2Flow emails can be configured to include a customizable "Do Not Email" link
- (Platinum Edition) Reverse IP lookup in X2Identity
- New "available" lead routing option:
- General changelog/developer notes
- X2Flow improvements (Professional Edition):
- Update trigger no longer fired during creation of contact lists (this was a bug)
- Triggers in general will fire less during times when not apropos
- Flow configuration storage field is now LONGTEXT as opposed to TEXT, allowing it to store far greater and more sophisticated flows
- Fix to "on_list" condition
- Contact added as default field in Opportunities, and inline emailer can be used on opportunity views
- Miscellaneous bug fixes in:
- Contacts can be properly moved between time zones
- Activity feed events report generation
- Actions module
- X2Identity (Platinum Edition)
- The first Action created for a new anonymous contact is now correctly associated with it
- Fingerprint attributes associated with a new anonymous contact are now being saved properly from the newsletter form
- Fingerprint record is now handled properly on conversion from an anonymous contact to a contact, previously it would be unnecessarily deleted
- X2GridView: header not hiding properly when scrolling over the bottom of the grid
- Publisher: Event form not properly validating when clearing the association type field
- Inline Emailer: switching templates while viewing quotes now works as intended
- Updater: post-completion redirect to the wrong page
- Permissions: users who have "admin" access to a given module can export records of that module
- X2GridView: Grid view no longer breaks from HTML tag truncation in text-type fields
- Calendar: group-assigned events could not be edited by group members
- X2Studio: critical internal-use-only fields are not available for the user to accidentally enter data into
- Importer: will not fail when CSV contains multibyte characters but no byte order mark, or invalid multibyte sequences
- Global validation bug fix: "required" rule now respected both on update and save
- (Professional Edition only) License key now viewable by administrators on the app info and updater settings pages
- User-friendly error & feedback messages on the Edit Roles page
- Added day of week to activity feed date headers
- X2Flow improvements (Professional Edition):
- Tracked Bug Fixes:
6/26/2014
- General changelog/developer notes:
- Included several commits from internal tree that were missed in the previous release
- Fixed MoneyMask bug: when unsupported currencies are in use, validation was failing
6/24/2014
- General changelog/developer notes:
- Fixed bug in tagBehavior: added safeguard for no web session (i.e. in scope of web lead form submission)
- Tracked Bug Fixes:
- 1340: User Report
6/18/2014
- General changelog / developer notes:
- Recognition for memory limit in requirements check script
- Fixed action timers bug (duplicate timer records created via publisher)
- Proper handling of completion/uncompletion of actions in X2Flow
- Profile layout bug fix
- Tracked Bug Fixes:
6/6/2014
- Tracked Bug Fixes:
6/6/2014
- General Changelog / Developer Notes:
- Fixed inline quotes form
- Tracked Bug Fixes:
5/30/2014
- General Changelog / Developer Notes:
- (Platinum Edition): Fixes to X2Identity and browser fingerprinting
- Scalability issues in X2Identity, specifically the browser fingerprint match query
- Automatic removal of orphaned fingerprint records
- Fixes/improvements to user management:
- Validation rules; both username and user aliasing
- User alias auto-populates with username
- User update page
- Small bug fixes in process funnel, record import
- Action reminder notifications now available in the publisher
- (Professional Edition) Fixed "Email Contact" X2Flow action for non-contact/non-action record types
- Fixed calendar bug: multiply-assigned events show up multiple times (for each user calendar)
- (Platinum Edition): Fixes to X2Identity and browser fingerprinting
- Tracked Bug Fixes:
- 1246: array_merge() [function.array-merge]: Argument #2 is not an array
- 1247: Class: not found.
- 1264: CDbCommand failed to execute the SQL statement: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'giertsen_x2engine.x2_cron_events' doesn't exist
5/23/2014
- General Changelog / Developer Notes:
- Activity feed JS bug fixes
- Backwards compatibility fixes for ResponseBehavior and X2LinkableBehavior
- Bug fixes in roles
- Improvements to webhooks: better payload composition logic + safeguards for systems w/o cURL libraries
- Lead conversion bug fix
- (Platinum Edition) "Raw Input" API settings option not saving properly
- "Linkable Behavior" + custom modules backwards incompatibility
- Web lead form not respecting when "Create Lead" option is disabled
5/20/2014
- Highlights:
- Process module:
- Powerful new "pipeline" view with drag and drop functionality, showing the combined deal value in each stage
- Sales process stage colors can be customized by the end user
- (Professional Edition) New X2Flow triggers and actions for extending Process with powerful automation capabilities
- (Platinum Edition) X2Identity 2.0:
- View anonymous website visitors and their browser fingerprint parameters
- See when anonymous visitors return to your website
- 2nd-generation REST API (new):
- (Coming Soon) X2Engine will be on Zapier!
- (Platinum Edition): Advanced API access settings
- Leads module (new)
- Record basic contact information before it becomes a legitimate potential sale
- Convert to an opportunity with a button press when ready
- Activity Feed:
- Digest emails: get periodic emails notifying you of what's happening in your CRM
- New dedicated activity feed page
- CSV importer:
- New feature enabling users to save and re-use import field mappings
- Performance improvements and bug fixes
- User management:
- New password reset feature
- New username change feature
- Full support for multiple assignment in the permissions system
- Email Templates:
- Support added for many modules (including custom modules), where previously only contacts and quotes were supported
- Template variable replacement added for the "To" field
- User setting for default email template to use for each module
- Process module:
- General Changelog / Developer Notes:
- Fixed layout issue: unauthenticated users can see "Top Contacts" and "Recent Items" portlets, in addition to broken links in the top bar
- Fixed security loophole: if session expires, the client with the cookie would still be able to make one last successful request to the server
- The permissions system has been revamped to properly handle muliple assignment and group-wide visibility settings
- Fixed bug: rollback deletes preexisting linked records
- Fixed bug (Professional Edition): recurring VoIP notification popups
- Fixed bug: empty contact list when using "primary contact" campaign generator from Accounts
- Fixed bug: Upon deletion, a user's actions and contacts were not all getting properly reassigned.
- Fixed bug: import fails silently when "DO NOT MAP" specified for an attribute
- Performance improvements to the model importer (previously was taking as long as ~2s/record on systems with very large datasets)
- Fixed bug: deleting a dropdown without updating fields that reference it breaks grid views
- Contacts with empty names now get "#{id}" name link in grid view
- Fixed bug causing role exceptions to be applied to incorrect stages.
- Fixed bug preventing deal reports from being filtered by Account.
- Fixed a bug preventing filters from working in the Actions list view.
- Fixed issue with phone numbers not being rendered from the grid view.
- Fixed phone number field formatting issue
- Fixed updater bug: unnecessary catching of suppressed errors in requirements check script
- Tracked Bug Fixes:
- 582: Duplicate info going into web leads
- 960: No es posible resolver la solicitud "product/product/view"
- 1051: links with # in them get converted to tag search links
- 1183: Contacts and its behaviors do not have a method or closure named "getChanges".
- 1201: Unable to resolve the request "product/product/view".
- 1204: Cannot modify header information - headers already sent by (output started at protected/controllers/ProfileController.php:516)
- 1223: Cannot modify header information - headers already sent by (output started at protected/modules/actions/controllers/ActionsController.php:799)
- Bugs fixed in 4.1.1:
- Lead conversion PHP error
- (Platinum Edition) "Raw Input" API settings option not saving properly
- "Linkable Behavior" + custom modules backwards incompatibility
- Web lead form not respecting when "Create Lead" option is disabled
3/31/2014
- Fixed Bugs:
- 1080: User Report
- 1096: web tracking links broken
- 1097: User Report
- 1104: AccountCampaignAction and its behaviors do not have a method or closure named "redirect".
- 1110: User Report
- 1112: User Report
- 1116: is_file(): open_basedir restriction in effect. File(/usr/share/pear/Users.php) is not within the allowed path(s): (/usr/wwws/users/tikeccbcgd:/usr/www/users/tikeccbcgd:/usr/home/tikeccbcgd:/usr/local/rmagic:/usr/www/users/he/system:/usr/share/php:/
- 1130: User Report
- 1137: User Report
- 1143: Unable to resolve the request "bugReports/1,142".
- 1151: The system is unable to find the requested action "profile".
- 1154: User Report
3/20/2014
- New in Platinum Edition:
- Browser fingerprinting system supplements web activity tracker for when contacts have cookies disabled
- Administrators can set default themes for all users
- The ability to import/export themes
- The ability to import and export flows from X2Flow
- Partner branding template (for authorized partners)
- New in Professional Edition:
- Improvements to the actions publisher:
- New "products" tab, for logging the use of products in a project or with a contact (for example)
- New "event" tab through which calendar events associated with the record can be created
- Which tabs it displays can be customized
- Improvements to the actions publisher:
- Responsive UI replaces X2Touch and makes the application more easy to use on a mobile device
- Improved Relationships widget with the ability to link to any type of record, including custom modules
- New Administrative tools:
- Can import any data type with the power and flexibility that was previously limited to contact imports
- New simpler data export for modules that emulates the exporter previously limited to Contacts
- Can customize the application name and description
- FTP-based file management for compatibility with systems where files and directories are not owned by the web server (documentation coming soon)
- New look & feel including new icon-based activity feed buttons and login page
- Bug fixes to the Marketing module, updater, and more:
- 1043: Property "Media.title" is not defined.
- 1091: Array to string conversion
- Further improvements to the security fixes discovered earlier; see "Multiple Vulnerabilities in X2Engine" for more information
3/10/2014
- Fixed Bugs:
- 995: array_combine(): Both parameters should have at least 1 element
- 996: file_get_contents(): Filename cannot be empty
- 997: Property "Media.title" is not defined.
- 998: CDbCommand failed to execute the SQL statement: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
- 999: CDbCommand failed to execute the SQL statement: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your S
- 1009: CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '94f072b73c'
- 1016: Invalid argument supplied for foreach()
- 1017: Property "X2WebApplication.settingsProfile" is not defined.
- 1038: Unable to resolve the request "contacts/id/https//www.lplconnect.com".
3/4/2014
- Fixed security holes listed in "Multiple vulnerabilities in X2Engine" published on The HauntIT Blog
- Fixed Bugs:
- 773: If a user lacks edit permission on that field but that field has a default value (like in Service Cases) the default value will not save.
- 947: Unable to resolve the request "quotes/id/update".
- 948: nameId field of 'Sample Quote Template' doc is null
- 949: Template attribute of quotes is not a proper nameId ref
- 977: CDbCommand failed to execute the SQL statement: SQLSTATE[22007]: Invalid datetime format: 1292 Truncated incorrect DOUBLE value: '162.210.196.131'
- Fixed unlisted bugs:
- Campaigns issues with listId being a malformed reference to list records, and improper validation (i.e. "List cannot be blank")
- Broken download links/extreme slowness in contacts export tool
2/18/2014
- Users can add custom percentage type fields via the fields manager
- Minor/unlisted bugs fixed:
- (Professional Edition) "Record viewed" X2Flow trigger wasn't working in Contacts
- API failures due to Profile class not being auto-loaded
- 404 error on "convert to invoice" button in Quotes
- Pro-only link was displayed (incorrectly) in the Marketing module
- Backwards compatibility safeguards in link type fields migration script
- Fixed Bugs:
2/14/2014
- Multiple security vulnerabilities patched in web forms, data import/export, and docs import/export
- "Lookup" fields performance and functionality restoration overhaul:
- Search/sort works without sorting on columns in joined tables
- All such fields store all the necessary data to create a link, eliminating joins in grid view queries
- More robust error handling in the module importer
- Consistent branding throughout app (see release notes for full details)
- Date/time picker input widget now available in relevant grid view column filters
- New "action timer sum" field type computes/displays sums of time spent on a record.
- Fields editor has the ability to create indexes on fields
- New in Professional Edition:
- "Case Timer" has been generalized to the "action timer" and is available in most modules now
- Action timer editing interface available to admins and users with action backdating privileges
- Case creation via the email dropbox (experimental)
- Fixed Bugs:
- 254: User Report
- 800: User Report
- 803: Unable to resolve the request "financiala33/financiala33/index".
- 848: Undefined variable: timestamp
- 850: Could not attach files to emails (user report)
- 867: MyBugReportsController and its behaviors do not have a method or closure named "getDateRange".
- 875: User Report
- 885: User Report
- 888: User Report
- Numerous additional bugs reported via our forums have been fixed - thanks!
1/24/2014
- Improved user session timeout method to fix compatibility issue with some servers
- Fixed bug in Actions.getRelevantTimestamp
- Fixed star rating cancel button in Firefox
- Fixed bug in web lead form designer preventing tags from being saved properly
- Fixed bug in campaign mailer component that prevents user from seeing when mail is undeliverable (gives a server error instead)
1/23/2014
- Improvements to the fields manager
- Better input validation, stability and security
- New option to set default values for fields in new records
- Administrators can set distinct session timeouts for different user roles
- Mass update buttons added to the Actions grid view
- Default form/view will be generated automatically for new custom modules that don't yet have them
- Inline email widget included in custom module generation
- Improvements to column filters
- Dropdown menu and boolean type fields appear as dropdowns
- Date type fields provide the convenient datepicker widget so you don't have to type in dates manually
- Re-instated the missing "cancel" button in the star rating input widget to clear a rating field's value
- Signature replacement in campaigns; new "{signature}" placeholder will be replaced with the email signature of the assignee
- Fixed Bugs:
- 124: Gridview filters: True/False vs. Yes/No
- 441: Property "Profile.pageOpacity" is not defined.
- 719: rename(protected/modules/ob_b/views/default,protected/modules/ob_b/views/ob_b) [function.rename]: Directory not empty
- 757: CDbCommand failed to execute the SQL statement: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND (type I
- 764: primary contact field in quote detail view comes out html-encoded
- 766: Backdating actions does not affect activity feed dates
- 770: Number of overdue actions incorrectly displayed in "My Actions" widget
- 833: User Report
- In Professional Edition:
- Tag-based trigger / action now works
- Security vulnerability in web lead form patched; see release notes for full details.
- "Sign in as another user" option fixes the previous issue of being unable to switch users after enabling "Remember Me"
- X2Touch restored
- In the API, an exception is made so that the "userKey" field of Contacts is not read-only, allowing use of the API for creating properly web-tracked leads
- Removed deprecated functions that were causing memory exhaustion errors on systems with over 10,000 account records
- Posts marked as private are properly hidden
- Numerous unlisted, long-standing bugs (not recorded in the public bug tracker)
12/20/2013
- Powerful new all-in-one user home page, featuring:
- Re-positionable sections
- Accounts, contacts and opportunities grid views
- User and event charts
- Doc viewer
- Users grid displaying active users
- Activity feed
- Inline quotes widget now available in Services, Accounts, Opportunities and custom modules
- New lighter, cleaner look and feel
- Case timer: track time spent on service cases and easily publish
- New campaign batch emailing method that displays real-time progress
- "Workflow" module renamed to "Process"
- Fixed Bugs:
12/9/2013
- Fixed Bugs:
- 286: Clicking action frame links opens in iframe
- 373: Undefined index: RecordViewChart
- 376: preg_match() [function.preg-match]: Unknown modifier '7'
- 463: Undefined variable: noticiation
- 513: strpos() expects parameter 1 to be string, array given
- 541: Invalid argument supplied for foreach()
- 601: Unable to resolve the request "Array/Array/index".
- 602: Unable to resolve the request "undefined/undefined/index".
- 603: asort() expects parameter 1 to be array, boolean given
- 608: strpos() expects parameter 1 to be string, array given
- 635: Class: not found.
- 652: Property "Publisher.halfWidth" is not defined.
- 658: Download redirect link broken
11/26/2013
- Changes to the web tracker allow broader browser support; see release notes for details.
- Bug fixes and improvements to the publisher in the Calendar view:
- End time field was missing.
- Duration (hours/minutes) fields now available for better control.
- Fixed bug in Admin model: removed old references to nonexistent fields.
- Fixed a security hole in mass-record-deletion feature.
11/22/2013
(internal release)
- Issues in the new targeted content marketing system have been resolved.
- Corrected an API behavioral issue: contacts created via API were not invoking the "record created" trigger
- Fixed bug: global export wasn't working for "Admin" (system settings) record
11/21/2013
- Improvements to user preferences
- User option to disable notifications popup
- User option to transform all phone numbers into "tel:" links for click-to-call functionality with VoIP systems
- Options page sections remember user's preference to be open/closed
- General options page UI improvements
- Time tracking on records using the publisher
- New "time log" note type displays time spent on a record
- Specify begin time, end time and duration of logged calls
- Interface for creating automatic, unattended software update cron task (available on compatible Linux/UNIX servers only)
- The ability to remove contacts from static lists via mass-update action in grid view
- "+" button to add a new account/contact on-the-fly now available in custom modules or any model with account or contact look-up fields
- Fractional quantities in quote line items
- "External/Public Base URL" setting controls how URLs to public-facing resources will be generated, i.e. for CRM systems hosted within private subnets or VPNs
- New in Professional Edition:
- Targeted content marketing feature (beta)
- Embeddable, dynamic content for websites tailored to each contact
- X2Flow-based design interface allows unlimited sophistication in rules and criteria for targeted content
- Better pattern matching in email dropbox
- Cron table management console: one page controls all X2CRM-related server cron tasks
- New and improved pure-JavaScript-based website activity listener and lead capture form compatible with more web browsers
- Targeted content marketing feature (beta)
- Fixed Bugs:
- 119: is_file(): open_basedir restriction in effect. File(/usr/share/pear544/Calendar.php) is not within the allowed path(s): (/usr/wwws/users/vanwean:/usr/www/users/vanwean:/usr/home/vanwean:/usr/local/rmagic:/usr/www/users/he/system:/usr/share/php544:/
- 413: CDbCommand failed to execute the SQL statement: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
- 462: Failed to create directory ../../../../backup
- 469: The system is unable to find the requested action "profile".
- 487: Unable to resolve the request "view/view/view".
- 514: Flagging one role as admin gives other roles admin access
- 517: Undefined index: id
- 564: The requested page does not exist.
10/22/2013
- Improved data validation in the role editor
- Changes to the software updater:
- Bug fixes in
FileUtil::ccopy
and far more exhaustive unit testing of that method - Compatibility adjustments (that ensure relative paths used) for servers with open_basedir restriction
- (experimental) New command line interface for unattended updates via cron
- Bug fixes in
- Changes to the calendar:
- Added visibility permissions
- Fixed bug: events not displaying
- Numerous, miscellaneous front-end bug fixes, including but not limited to:
- Tags; handling of special characters
- Delay of inline email button (until after instantiation of the CKEditor instance)
- Mass-update of rating type fields now works
- Retroactive update migration script clears up permissions issue that caused blank action text for updating from before version 3.5.5
- Fixed Bugs:
- 425: Unable to resolve the request "list/list/view".
10/16/2013
- Improvements to grid views:
- The ability to use shift+click to select ranges of records
- Mass tagging, field updates, record reassignments and mass deletion of selected records
- Faster, more robust X2CRM updater with the ability to perform offline updates
- Administrative flash message UI
- Changes in Professional Edition:
- The ability to add hidden fields in the web lead form editor, filled with a user-defined value (e.g. you could set "leadsource" as a hidden field with the value "web").
- Application lock; the ability to lock the application through the administrative UI so that only administrators can access it
- Fixed Bugs:
- 242: User Report
- 245: Class: not found.
- 256: Changing static page title cause it to disappear
- 270: User Report
- 287: Missing Fields on Manage Notification Criteria
- 327: Top Sites Widget Can't Edit
- 345: Unable to resolve the request "tycoons (1)/index".
- 361: Unable to resolve the request "list/list/view".
- 364: Unable to resolve the request "viewContent/viewContent/view".
- 365: Unable to resolve the request "view/view/view".
- 367: Unable to resolve the request "flowDesigner/flowDesigner/view".
- 368: Unable to resolve the request "list/list/view".
- 369: Unable to resolve the request "list/list/view".
- 371: Unable to resolve the request "download/download/view".
- 372: Tools Column Error
- 392: Unable to resolve the request "list/list/view".
- 393: Unable to resolve the request "list/list/view".
- 395: Undefined index: multi
- 405: array_filter() expects parameter 2 to be a valid callback, no array or string given
- 452: Unable to resolve the request "update/update/view".
9/20/2013
- Fully-configurable batch timeout setting controls how much actual time can be spent in campaign emailing and cron events
- Attribute replacement now works in the "Send a Test Email" feature of Campaigns
- Long-overdue data validation in Role creator
- New in X2Flow (Professional Edition only)
- X2Flow email actions can be configured to send using SMTP accounts stored through the credentials manager (see: "Manage Apps" in the user menu)
- Variable replacement in the X2Flow email actions works for arbitrary models
- Insertable attribute menus in X2Flow email actions automatically match those of the model type in the trigger
- New "unsubscribe" link short-code for X2Flow email bodies
- Fixed Bugs:
- 206: Name improperly parsed/generated from email headers
- 243: User Report
- 252: X2Flow Issue with comparing two attributes
- 296: Send a test email to actual contacts
- 308: Cannot add "administrator" as a child of "DefaultRole". A loop has been detected.
- 311: DbCommand failed to execute the SQL statement: SQLSTATE[HY000]: General error: 1366 Incorrect decimal value: '' for column 'dealvalue
9/12/2013
- Minor bug fixes
9/6/2013
- "Print Record" feature in nearly all modules shows print-friendly version of a record
- "Recently Viewed" widget now includes all record types
- Chart widget enhancements
- New pie chart view
- Dynamic date ranges, i.e. "last week"
- Features in Professional Edition
- New campaign chart
- New cron test and log viewer in X2Flow
- Fixed Bugs:
- 94: Array to string conversion
- 121: "Remember Me"
- 135: Remove deprecated "add contact" action/menu button
- 159: Trying to get property of non-object
- 217: X2Flow Strpos Error
- 219: Trying to get property of non-object
- 225: Creating default object from empty value
- 228: Property "Gallery.galleryId" is not defined.
- 232: Grid Views break on filter click
- 248: CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '14' for key 'PRIMARY'
- 263: Email campaign template selection issues
- 266: multi-assignment fields not preserved when returning to edit page
- 277: CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1001' for key 'c_name'
8/22/2013
- Miscellaneous (unlisted) bug fixes
- Image gallery (Professional Edition only) now works in Internet Explorer
8/21/2013
- New image gallery widget
- Dropdowns can be customized to allow selecting multiple values
- New activity feed chart feature: can filter data display by user
- New features in Professional Edition:
- Rich email editing available in the email action of X2Flow
- Cron task setup in installer
- Formulas and variables enabled in X2Flow trigger criteria & action parameters
- Accounts report feature: send marketing campaigns to related contacts of accounts
- Fixed bugs: 88, 93, 95, 110, 111, 118, 121, 128, 150, 166, 170, 172 and 200
8/6/2013
- Fixed bug in web tracker & web lead form
8/5/2013
- Safeguard against duplicate update server requests
- Fixed bug: incorrect created by / updated by / deleted by user
8/2/2013
- Better translations
- Vastly more comprehensive coverage
- Added Polish language pack
- Improved charting
- New action history chart provides visual timelines of activity on almost anything
- Improvements to the activity chart on the home page
- Improvements to the third-party application credentials (email passwords) manager
- Improved, more intuitive UI
- More concise access control logic
- Web lead and service case forms can be configured to use credentials to send email
- New REST-ful API action for adding/removing relationships between models
- Broadcasting events now supports sending emails to any number of users
- New event feed, action history, module header and admin console icons
- Numerous bug fixes
- SSL-secured software updates
7/10/2013
- Enhancements to X2Flow Automation
- Improved UI is more intuitive
- You can now set time delays to run actions at a later date
- New cronjob endpoint for time-based events
- New multi-account email system
- You can now create and manage unlimited SMTP accounts for email integration
- Advanced Google Drive integration
- Upload, view and access your Drive files from within X2CRM
- Effortlessly attach files to emails
- General improvements to Google integration
- New charting system on the home page feed lets you visualize new leads and user activity
- Numerous bug fixes
6/28/2013
- Improvements to theme settings
- You can now save themes
- Set custom gridview row colors
- Improved X2Flow Automation look and feel
- X2Flow can now use Lead Routing Rules to assign records
- Customizable header tag on web lead forms
- Numerous bug fixes
6/21/2013
- Fixed bug creating new windows when notifications are received
- Reverted some changes to UI
6/18/2013
- Robust new resizable grid view
- Enhancements to application UI
- More compact layout
- Better controls for user color schemes
- Yii Framework updated to 1.1.13
- New API action "tags" allows programmatic manipulation of tags on records via the API
- Improved record history filtering
- The inline email form can now be used while viewing account records
- Better support for foreign currencies in quotes & invoices
- More bug fixes
5/20/2013
- New Services reporting tool
- Rich text editor now available for activity feed posts and email signatures
- Bug fixes
5/13/2013
- Numerous bug fixes
- Can now trigger automation on user login/logout
- Docs module:
- New basic quotes template in default app data
- "Duplicate" button in Docs module for making copies of and customizing an existing document
- New in the API:
- Can manually set creation date
- More consistent response behavior
- New method listUsers: gets list of users
5/1/2013
- (Professional Edition only) X2Flow automation system (beta)
- Visual, drag-and-drop designer makes it easy to create convenient and powerful automation flows
- Automation flows can enact changes, create records, and a broad range of other operations ("actions") whenever certain events ("triggers") take place
- Supports a very extensive set of actions and triggers
- Greatly improved Actions module; streamlined, user-friendly interface
- New and improved Quotes module
- Line items can be re-ordered after adding them
- Can add adjustments to the total, i.e. tax and shipping; displays subtotal vs. total if there are adjustments
- Support for arbitrary quote/invoice templates, which can be created and designed via "Create Quote" in the Docs module, and loaded/sent via email by going to the Quote's record view
- Customizable login and notification sounds
3/27/2013
- Additional bugfixes
- Better failsafe in updater: uses either of two remote copy methods depending on which is available
3/21/2013
- Revamped web API
- now supports operations on any module type, including custom ones
- Improved stability
- More user control over the color scheme
- All new default background images
- Background fade button (lower right of screen)
- Changed to Affero GPL v3 license
- Updated CKEditor to version 4
- Spellcheck now available in CKEditor
- You can now pin activity feed items
- Enhancements to Requirement Checker on installation
- Numerous bug fixes
2/20/2013
- VCR controls for tag based search results
- Fixed bugs:
- Emailing contacts
- int/float/currency type fields
- Changelog now allows filtering by record name
- Email templates now allow variables in subject line
- "percentage" field type
2/13/2013
- Dozens of bug fixes - thanks everyone for reporting bugs using the new bug reporting tool!
- New theme and background settings
- New manual bug reporting tool
- Added some icons
- Email dropbox now creates events (Pofessional edition)
- Google Analytics integration for monitoring X2CRM usage
2/1/2013
- New UI look and feel, improved UI consistency
- Numerous bug fixes
1/25/2013
- Added an easy to use bug reporting tool
- Activity feed now remembers minimized posts
- Several bug fixes
1/23/2013
- New Activity Feed
- See all the activity on X2CRM in one place
- Updates in real time
- Infinite scrolling
- Filter by users/groups and event type
- Social posts/comments are now integrated
- Action reminders
- Social posts can now be edited
- Enhancements to web tracker (Professional edition)
- Campaign emails now support tracking links
- Widget/layout enhancements
- Widgets can now be completely turned on/off
- Content widgets (Tags, Relationships, etc) can be toggled and rearranged
- New widget menu in top bar
- Lots of new icons
- Numerous bug fixes
- Campaign email list improved
- Updated translations
12/28/2012
- Several bug fixes to v2.5 and the now-defunct release 2.5.1, including but not limited to:
- Incorrect order/offset in VCR control navigation
- Missing attribute errors when editing app settings and user profiles
- Miscellaneous errors in the contacts view
12/18/2012
- New web tracking system (Professional edition)
- Track using a simple embed code on your website
- Real time notifications when a contact visits the website
- New large Google Maps page with heatmap and tag-based filtering
- You can now hide tags
- Numerous bug fixes
- Duplicate checker - major usability improvements
- New web form designer (Professional edition)
- Service request form
- Contact lead capture
- Save multiple forms
- Fully customizable fields
- Charts and reports - UI enhancements
- Notifications - improved behavior and stability
- Translations - new Dutch and Spanish packs
- Much more complete sample data
- Improved page load time on most pages
- New login page
11/15/2012
- Numerous improvements to Contacts importer
- Improved UI
- Better reliability
- WYSIWYG editor now lets you insert record attributes in emails/campaign templates
- Fixed several bugs with editor
- Improvements to Service module
- You can now specify the from address for Service module emails
- Filter by Status
- Numerous bug fixes
- Numerous other bug fixes
11/08/2012
- Service module
- Unique Case # and fields for nature of request and service status
- Generate a custom Web Form to let contacts request a new service case
- Automatic response email with case # when a contact makes a service request
- Improved import tools
- More robust global import
- Customizable import for contacts (you can now import data in almost any format, and can manually map the columns to X2CRM fields.
- CKEditor has replaced TinyEditor as the docs and email editor.
- Images can now be dragged directly into the editor from the Media widget
- You can upload images from within the editor
- Numerous bug fixes
- You can now upgrade to the Professional Edition (on the admin page)
- Emails sent using the inline email form now detects when the user opens it (like campaigns do
10/15/2012
- Overhauled real-time notification and chat
- Much lower server load, especially with multiple tabs
- Improved URL handling (more efficient)
- Improved changelog storage
- Big improvements to the installer
- Real-time installation status updates
- No more timeout errors
- Improvements to Relationships for contacts, accounts and opportunities
- Fix for all bugs related to browsers caching old javascript files
- Additional feature in Customization Framework: you can now override controller files by adding "My" to the class and putting the file in /custom, for example to override actionIndex in ContactsController you can create a class MyContactsController extending ContactsController and only define actionIndex. This class will automatically be used in place of the original file, and you don't have to override the entire class.
- Bug fixes for 2.1.1:
- Installer: incomplete error reporting
- Role manager: CSS
- Updater / updater settings: safeguards & interval setting
- Mobile (X2Touch) login: JavaScript errors
10/12/2012
- Overhauled real-time notification and chat
- Much lower server load, especially with multiple tabs
- Improved URL handling (more efficient)
- Improved changelog storage
- Big improvements to the installer
- Real-time installation status updates
- No more timeout errors
- Numerous bug fixes
- Improvements to Relationships for contacts, accounts and opportunities
- Fix for all bugs related to browsers caching old javascript files
- Additional feature in Customization Framework: you can now override controller files by adding "My" to the class and putting the file in /custom, for example to override actionIndex in ContactsController you can create a class MyContactsController extending ContactsController and only define actionIndex. This class will automatically be used in place of the original file, and you don't have to override the entire class.
10/2/2012
- New and greatly improved UI
- New features in X2Touch Mobile
- Renamed Sales to Opportunities
- Improved relationships between Contacts, Accounts, and Opportunities
- Added date and user filtering to Workflow view
- Reworked the back-end of access permissions to fit with Yii roles
- Added attachments to Marketing campaigns
8/31/2012
- New Workflow report in Charts module
- Improved Lead Volume report
- Improved phone number search (search is now formatting-insensitive)
- Documents now auto-save (whenever you stop typing)
- New look for installer and login screen
- Added logging for failed API requests
- Numerous bug fixes
- Added various translations
8/28/2012
- Bug fix patch; corrections to the software updater
8/24/2012
- Powerful new web lead capture form editor
- Enhanced record tagging abilities
- New single-user lead distribution option
- Automatic phone number formatting (for US numbers)
- Reorganized admin page
- Improved search results
- Improved notification behavior
- Tons of bug fixes
- Improvements to VCR controls and grid sort/filter rememebering
7/25/2012
- New Tag-to-email campaing tool
- New VCR controls for lists (all contacts, user-defined lists) allows you to go directly to the next record without going back to the list
- New workflow stage backdating controls for admin
- Misc. bug fixes
7/18/2012
- Improvements to list builder interface
- Improvements to real-time notifications
- Popup tooltips with contact details on gridview
- Grid views now have a selector for results/page
- Enhanced default theme
- Files can now be attached to emails
- Redesigned Users menu
- Numerous bug fixes
- Enhanced support for phone numbers
6/19/2012
- New full-featured Marketing module
- Built on dynamic or static contact lists
- Templates with contact info insertion
- Batch mailing system with real-time status info
- Email open/click tracking
- Unsubscribe links
- Major enhancements to notifications
- Real-time notification popups
- Customizable notification events
- VOIP API allows automatic record lookup when a contact calls your phone
- De-duplication tool
- Google apps OAuth login
- Improvements to Google calendar integration
- New widget dashbaord (previous dashboard module is now called Charts)
- Numerous bug fixes
5/23/2012
- Numerous bug fixes
- Fine tuned the layout (background selecting works better, users can now toggle the full-width layout)
- Major improvements to global search
- Full Google Calendar integration
- allow users to sync all there actions and events to there google calendar
- Improved Workflow widget
- detail view for each workflow stage
- users can now edit and backdate previous workflow stages
- User-created lists now have an export tool, using the current visible columns
- Improved performance of Contact Timezone widget
- New "Top Sites' widget allows you to save bookmarks within X2Engine
5/7/2012
- New dynamic layout (flexible width, support for screens as small as 800x600)
- Added new widgets:
- Contact Time Zone
- Doc Viewer
- Numerous bug fixes
- Enhancements to list builder, such as arrays of matching values, relative times, and "not empty"
3/23/2012
- Added View Relationships: you can now see everything linked to a given record
- Numerous bug fixes
- Enhanced custom lead routing rules
3/16/2012
- Added Contact Lists
- Users can now create custom static or dynamic lists
- Tons of bug fixes, particularly related to broken links
- Users, Workflow and Groups are now standard modules (structural change)
- Calendar can now integrate with Google calendar
3/9/2012
- Major Structural Changes
- Modularization of code
- Improvements to Calendar
- Numerous bug fixes
- Code optimizations
2/29/2012
- Minor post-release bug fixes.
2/29/2012
- New Calendar module
- View task due dates and new Event type actions
- filter by user
- Improvements to Workflow
- New visual workflow designer
- Role-based permissions for each stage
- More advanced previous stage requirements
- Enhanced action pulisher
- Dozens of bug fixes
- Improved behavior on left actions sidebar
2/21/2012
- Various bug fixes and small improvements
2/20/2012
- Various bug fixes
- Translations are now mostly complete (except workflow and admin page). Expect a patch with the rest this week.
2/17/2012
- Numerous Bug fixes (esp in X2Studio, Accounts and Sales)
- Products Products module
- Keep track of products used to generate quotes
- Quotes Module
- Use Products to generate Quotes
- Link Quotes to Contacts
- Generate email quote
- Added dashboard and charting module
- Customizable reports on sales pipeline and user performance
- Enhancements to page navigation
- Updated the X2 Publisher (create actions, comments, etc)