© 2015 X2Engine Inc.

Difference between revisions of "Frequently Asked Questions"

From X2Engine
Jump to: navigation, search
(All my images are broken!)
(All my images are broken!)
Line 45: Line 45:
 
= Email =
 
= Email =
 
== Attachments and embedded media ==
 
== Attachments and embedded media ==
=== All my images are broken! ===
+
=== Why are all my images broken? ===
 
The first thing you should check and double-check is whether, in "Public Info Settings", the public web root / base URI are set.
 
The first thing you should check and double-check is whether, in "Public Info Settings", the public web root / base URI are set.
  

Revision as of 22:40, 2 January 2014

API

Contacts

I made a contact through the API. Why doesn't the assignedTo field get set according to lead routing rules?

When creating records through the API, all fields must be explicitly defined. One can, however, obtain an assignee for a new contact that is distributed according to lead routing type via the public "getLeadRoutingType" action of AdminController. An example of this can be found in APIModel (which is a class that was written for the express purpose of creating contacts and other records via the API).

Why doesn't the "Record Created" X2Flow trigger fire when creating a contact via API?

Note, the data submitted to the server should not contain the "createDate" field. If it does not, the field will be automatically set to the current timestamp at record insertion, and the "Record Created" trigger will be activated. Otherwise, it is assumed that a data import of some sort is happening, because a non-empty creation date implies that it was created on some other system first. In the latter case, the record created trigger will not be activated, and the field will not be automatically set.

Why doesn't the "Web Lead" X2Flow trigger fire when creating a web lead via API?

The "create" API method, intended as a generic method for creating records, cannot assume that it is being used for creating a web lead in particular. One might choose instead to create a flow triggered by record creation and add the criteria that the lead type must be "Web", and set the lead type to "Web" in the submission to the API, which be practically the same as having the web lead trigger activate in the API.

Customization

Custom fields

I made a custom field and it doesn't show up. Now what?

Once you create a field, you must add it to the view and form as you see fit, as follows:

  1. Go to "Admin"
  2. Scroll down to the section "Utilities"
  3. Go to "Form Editor"
  4. Open the views/forms for the model by selecting the model from the "Model" dropdown
  5. Select "Form (Default)" from the "Version" dropdown
  6. Drag and drop the custom field into the form where it is desired.
  7. Hit "Save"
  8. Repeat the process with the "View" to change the record view page for the model type.

Why isn't any data going into my custom field getting saved?

If this occurs for a user that has been assigned any role, you will need to add permissions to that field for the role:

  1. Go to the "Role Manager" in Admin.
  2. Select the role to be edited from the dropdown menu.
  3. Under "View" and "Edit" permissions, click the "+" sign next to the field in the right panels to add them.
  4. Click "Save".

Custom modules

Why don't I see anything when I go to create/view a record in a new custom module?

The first step after creating a custom module is designing a form and view for it. To do so:

  1. Go to "Admin"
  2. Scroll down to the section "Utilities"
  3. Go to "Form Editor"
  4. Open the views/forms for the model corresponding to the new module by selecting it from the "Model" dropdown
  5. Select "Form (Default)" from the "Version" dropdown
  6. Drag and drop the custom field into the form where it is desired.
  7. Hit "Save"
  8. Repeat the process with the "View" to change the record view page for the model type.

Email

Attachments and embedded media

Why are all my images broken?

The first thing you should check and double-check is whether, in "Public Info Settings", the public web root / base URI[[wikipedia:Uniform Resource Identifier]]: The part of a URL that identifies the resource on the server to be accessed. In the context of the API, this refers to the relative path within the web server based in the web root of X2Engine, i.e. ''index.php/api2/Contacts/324.json'' as opposed to the full URL, which begins with the protocol (i.e. "http") and might also contain a path relative to the web site's document root are set.

If they are not, and you access your CRM at a non-public URL when sending email, the image links will be generated such that they point to the CRM through that inaccessible URL. Thus, the images will naturally be broken in any browser accessing the web from a network that cannot access your CRM. This is what the public info settings options were meant to address. In order for campaigns to work properly, there must be some way of publicly accessing the CRM from the web. This is so that, among many things, the "unsubscribe" link works (the user is essentially visiting a page in the CRM that unsubscribes them).

This happens in GMail even if the CRM is accessible from where you're using GMail because Google tries to access and cache images in emails. Google's servers won't be able to access them on account of Google not dwelling within your subnet (or network where the CRM is accessed), so naturally, all images with non-public URLs will show up broken regardless of how you're accessing the network.