Jump to content


Member Since 18 Jun 2013
Offline Last Active Feb 26 2016 04:45 PM

#11745 X2CRM 5.5

Posted by X2Derek on 26 February 2016 - 04:46 PM

General Changelog / Developer Notes

  • PHP7 compatibility
  • Yii updated to 1.1.17
  • PHPMailer updated to 5.2.14
  • File attachment feature added to most X2Touch modules, including custom modules
  • Added "Copy to Sent" dropdown to email client configuration to explicitly store sent messages
  • Added "Reply All" button to email client
  • New Office365 credentials type
  • Added web tracker JavaScript code export functionality
  • Fixed importer bug which created erroneous relationships
  • Automated email logging bugfixes
  • Fixed bug preventing records export download button from showing
  • Fixed email client quota issue with Office365

Tracked Bug Fixes:

  • 3335: CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous
  • 3336: Trying to get property of non-object
  • 3348: array_combine() expects parameter 1 to be array, null given
  • 3358: User Report
  • 3363: Undefined variable: id
  • 3367: Undefined index: dupeCheck
  • 3376: User Report
  • 3379: file_exists(): open_basedir restriction in effect.
  • 3383: User Report
  • 3643: User Report

#11580 Enhance Permissions on Docs - Create Email

Posted by X2Derek on 25 January 2016 - 02:07 PM

Hi Ken,


This should be fairly straightforward to implement in code. A line could be added to the method actionCreateEmail in DocsController.php to check if the user is admin and respond with a 403 if they're not. Another method, insertMenu, is used to determine which menu items appear in the Action Menu widget. Inside that method you could add a permissions check to determine whether the "Create Email" menu item should be displayed.


Keep in mind that even if email template creation is restricted, ad hoc templates can be created in Campaigns by inserting dynamic attributes into the email body manually.




Edit: added code implementation outline

#11085 X2Flow condition trigger based on email action

Posted by X2Derek on 16 November 2015 - 02:05 PM

Hi Eugene,


Based on the problem you're describing, it seems like you could use the following features:

  • Support for redirect tracking links outside of campaigns
  • An X2Workflow trigger for redirect tracking link clicks
  • A generic "Email Opened" X2Workflow trigger
  • An X2Workflow condition to check the email subject/body

These would all be really useful, and I'll see what can be done about getting them into one of our upcoming feature releases.



#11040 X2CRM 5.3.1

Posted by X2Derek on 06 November 2015 - 01:07 PM

General Changelog / Developer Notes:

  • Fixed bug which caused "Discard unsaved changes?" dialog to display incorrectly in certain cases
  • Fixed bug in module import which could break link-type fields
  • Fixed bug in records export which caused the custom delimiter/enclosure to be ignored in the resulting CSV header
  • Fixed bug in records import causing Action descriptions to be ignored if the ID field was mapped
  • Fixed bug in records import which attempted to insert ActionText even if the Actions model failed validation, resulting in a constraint violation

Tracked Bug Fixes:

  • 3099: Missing argument 1 for Google_Client::authenticate(), called in /var/www/html/crm/protected/components/GoogleAuthenticator.php on line 146 and defined
  • 3115: Undefined offset: 0

#10945 X2CRM 5.3

Posted by X2Derek on 16 October 2015 - 04:51 PM


  • Professional Edition Changes:
    • Google+ integration:
      • Google+ Profile widget allows display of Google+ Profile data on record view screens.
      • Google+ Profile search feature
    • New X2Workflow Splitter enables concurrent execution of flow branches, simplifying creation of complex flow logic.
    • Added mass actions to Email Inbox profile widget. It's now possible to delete, log, and flag emails directly from the profile page.
    • X2Workflow Remote API Call action now supports nested JSON payloads
  • Default processes can now be set on a per module basis.
  • New "Redirect URL" option in web form designer
  • Tags column now available in more module grid views, including custom modules.
  • Added ability to select and move multiple Docs or folders at a time from the Docs grid view

General Changelog / Developer Notes:

  • The Calendar Module now only displays events and actions. Logged time, logged calls, comments, and emails will no longer show in the calendar view.
  • In order to simplify Lead conversion reporting, Leads are now preserved after conversion to Contact or Opportunity and designated as "Converted". Two new fields have been added, "Converted" and "Conversion Date", which get set automatically upon Lead conversion.
  • Fixed bug which prevented Actions from being synced with Google Calendar
  • SASS-generated CSS has been minified. CSS customizations can be made by regenerating the CSS from customized SASS.
  • Updated Google PHP API client Library to version 1.1.5
  • Fixed bug which broke inline editing on Service Cases with associated Contacts.
  • Fixed bug which caused an error when attempting to create a reminder from the Action update page
  • Added back red asterisks appearing alongside required fields on record edit pages.
  • Fixed off-by-one bugs in X2Workflow Periodic Trigger scheduling
  • "Disable automatic record tagging?" option moved out of user preferences. Automatic record tagging can now be disabled globally from the "General Settings" admin page.
  • Added print view feature to Opportunities

Tracked Bug Fixes:

  • 2877: "Assigned To" grid filter cannot be used to retrieve multi-assigned records
  • 2888: array_merge(): Argument #1 is not an array
  • 2889: Invalid argument supplied for foreach()
  • 2891: Trying to get property of non-object
  • 2896: Unable to resolve the request "/index.php/contacts/contacts/weblead".
  • 2931: Trying to get property of non-object
  • 2969: AdminController cannot find the requested view "deleteDropdowns".
  • 2972: Property "Docs.editPermissions" is not defined.
  • 2980: Property "Contacts.private" is not defined.
  • 2984: Undefined index: notificationUsers

#10865 Edit Relationship Widget Columns

Posted by X2Derek on 24 September 2015 - 07:14 PM

Hi halvarez,


The columns are currently fixed. It would make sense to be able to customize them, though, and we might add that ability in a future release.



#10785 X2CRM 5.2.1

Posted by X2Derek on 26 August 2015 - 03:01 PM

General Changelog / Developer Notes:

  • Fixed backwards compatibility issue affecting custom modules
  • Added public info settings validation which prevents issues with public base URI/URL formatting
  • Fixed bug which caused logged calls to display in the Actions module list view
  • Fixed bug affecting cookie-based web tracking on servers whose hostname lacked a subdomain
  • New admin option to upload a login screen logo (Professional Edition Only)

Download links:

#10683 X2CRM 5.2 Beta

Posted by X2Derek on 31 July 2015 - 04:56 PM

X2CRM version 5.2 Beta can now be demoed at preview.x2crm.com


  • Highlights
    • Professional Edition Changes
      • New Execute Workflow sidebar widget enables execution of individual workflows created in the X2Workflow Studio Designer
      • New Profile Dashboard widgets:
        • Docs Summary
        • Email Inbox
        • New Web Leads
      • New grid view mass actions:
        • Mass convert leads
        • Mass publish comments, actions, calls, and logged time
        • Mass create relationships
    • New mass dedupe admin tool simplifies and automates duplicate record management
    • New importer option to update existing records on import
    • Tags can now be exported
    • Docs can now be grouped inside nestable folders
    • New drag and drop media upload options and simplified email image attachment
    • New Web Activity record view widget
    • New interactive tips system offers step-by-step feature introductions
    • Application-wide UI improvements to record view layouts
    • New Module-specific theming options
    • New Edit Global CSS admin page
    • Themes selected on the preferences page now apply to the login screen and to X2Touch
    • New preferences option to apply background image to login screen
    • Admin index organizational improvements
  • General Changelog / Developer Notes:
    • "X2Flow" has been renamed "X2Workflow"
  • Tracked Bug Fixes:
    • 2631: Invalid address:
    • 2731: import mapping name
    • 2769: Undefined index:

#10588 X2Engine 5.0.9

Posted by X2Derek on 13 July 2015 - 03:18 PM

  • 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:
    • 2458: Undefined offset: 0
    • 2611: Trying to get property of non-object
    • 2653: Trying to get property of non-object
    • 2656: Undefined offset: 0
    • 2672: Undefined offset: 2

#10393 Error 500 after installation

Posted by X2Derek on 11 June 2015 - 12:26 PM

Hi m.dhouibi,


Have you tried logging into the app? Is that the page that you land on after entering your login credentials?



#10374 Leads Web Forms Lead fields

Posted by X2Derek on 09 June 2015 - 11:32 AM

Hi dserrano,


You can't use lead fields on the web lead form, unfortunately. The web forms are currently designed only for contacts and service cases. For now, the best option may be to design a custom lead capture form that uses our API.



#10362 Mobile notifications

Posted by X2Derek on 08 June 2015 - 08:38 PM

Hi dserrano,


You could probably use the "Remote API Call" action of X2Flow to integrate with pushover.



#10154 Email Server Configuration

Posted by X2Derek on 13 May 2015 - 12:36 PM

Hi m.dhouibi,


I assume that you're trying to set the public base URI, but can't because the base URL fails validation. Is that correct? Unfortunately, if you're hosted locally, the base URL field auto-populates with "http://localhost"which isn't valid. We'll fix this for our next release. In the meantime, if you wanted to set the public base URI, a workaround would be to clear the base URL field before saving.



#10067 X2Engine 5.0.6

Posted by X2Derek on 16 April 2015 - 04:04 PM

X2Engine 5.0.6 is now available! Here is a summary of the changes:


  • 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:
    • 2329: Undefined index: webFormId
    • 2343: Custom module summary widget links incorrectly generated



#9952 X2Studio List fields

Posted by X2Derek on 27 March 2015 - 04:38 PM

That's not something you can do without custom code, currently.


If you wanted to write a customization, you can modify default columns by editing the 'defaultGvSettings' property passed to the X2GridView widget in /protected/modules/contacts/views/contacts/index.php.