I am creating a new project where it reads data from Salesforce and pushes the data into the Google Search Appliance (GSA). In the Salesforce SOQL statement, I have a query where it gets all the comments for the case. When I use Salesforce workbench, I am able to see all the CaseBody from the CaseComment for that case. But when I use the datamapper in MULE, the CaseComment.CommentBody does not display. Is there a way to log that into a file or on the console what the Salesforce is getting back? I tried to map the CaseComment as a List, but still no luck. Is there a way to see that that Salesforce Connector is returning?
Here is the SOQL:
SELECT Id, LastModifiedDate, CaseNumber, Subject, InternalSubject__c, Description,
IsClosed, POC__r.FirstName, POC__r.LastName, Owner.FirstName, Owner.LastName,
InformationFrom__c, Contact.FirstName, Contact.LastName, Account.Name,
ProductName__c, ProductVersion__c, ProductProblemType__c, SubjectMatterExpert__r.Name,
CaseProductRegion__r.Name, CaseProductModel__r.Name, CaseProductSecondaryModel__r.Name,
CreatedBy.FirstName, CreatedBy.LastName,
LastModifiedBy.FirstName, LastModifiedBy.LastName,
(SELECT CommentBody From CaseComments),
(SELECT Subject, Description FROM Tasks),
(SELECT Subject, Headers, Textbody FROM EmailMessages)
FROM Case limit 5
Here is the answer:
On the input side of the equation (left side of datamapper), right click on the top level Case, click on add field.
In the type, select Collection from the drop down.
In the name, type CaseComments (don't press enter yet or you won't be able to add the child elements).
Click plus on the child elements:
Change field_0 to queryLocator of type String. (Remember to press enter after typing in queryLocator or else the name falls back to field_0).
Click the plus again and type in done (Remember to press enter) of type String.
Click the plus again and type in size and select type Integer.
Now right click on the CaseComments, and add field again.
Type Collection
Name records (Don't press enter yet, click plus on the child elements)
Replace field_0 with CommentBody of type String (remember to press enter)
Replace field_1 with type of type String (Press enter)
Now do the same for the right hand side of the data mapper
Remember that you don't need to be at the top field, when you click the plus on the right side, it is actually Add metadata field, not just add field.
You need to map the CaseComments from the left side to the right side.
But you are not done yet. Just mapping the top field will not automatically map the fields underneath (needs improvement!)
You will need to map the records from the left side to the right side also.
Related
I am using Sharepoint workflow 2013 and my issue is with assignment email body in the action "Start a task process".
Whenever I add lookups using "Add or Change Lookup" button, it is changed to this "{#index of the lookup}", and if i added just one lookup i get the following error.
Using the special characters '[%%]' or '[%xxx%] in any string, or using the special character '{' in a string that also contains a workflow lookup, may corrupt the string and cause an unexpected result when the workflow runs.
I follow these steps:
From the drop down on the right of the "start a task process" action, I choose properties.
I open "AssignmentEmailBody" string builder.
Assignment Email Option
I add my lookups to be used the email.
LookUp Added
I press ok for the string builder window and ok for the properties window.
If I opened the properties again I find the lookups replaced.
Replaced lookup
I want to preserve the lookups.
Any help would appreciated.
Trying to learn basic blue prism.
I have made an object to login to my gmail account.
It enters the page where mail id has to be entered. The email id gets entered and the next page appears where the password has to be entered. But in the writer tool it shows the following message : "Internal : Failed to perform step 1 in Write Stage 'Writer2' on page 'Initialise' - No elements match the supplied query terms"
I looked into all the most obvious bugs and I cant find anything wrong. Can someone please give any suggestions as to what the problem could be?
The specific error message you're getting indicates there's an issue with your spying of the element you're attempting a Write on.
Without knowing anything else about the way you've included/excluded certain attributes of the element you're attempting to write to, the only sound advice one could offer would be to open the Application Modeler and trial-and-error the "Match?" for each attribute until you're able to use the "Highlight" button and verify a single interface element is selected. (Usually in circumstances such as yours, the "Value" attribute of the element you've spied has its Match checkbox selected, but the value has changed since spying it, thus making it not a match.)
check if the data item you are storing the password in is of password type.
You can reset the password by going ahead with the "write" property and delete once and drag-drop again at the same place and click OK. reset the flowchart and run them again, you'll not get the error. I had faced the same issue earlier and got fixed.
It sometimes happens due to the slowness of your internet connection BP not able to read the data item info and directly moved to next steps, to fix it, you can use wait functionality and give the 8-10 sec of wait time.
Hope this helps.
stay blessed!
When spying a browser please make sure you are using HTML mode to capture the necessary Element (please note that BP only supports IE, so no Chrome or other browser!). Also, please remember that the browser page you are spying has to be launched from the Application Modeller in order to be "attached" by BP.
To cycle between modes, simply hit the Alt key after clicking "Identify" on the Application Modeller. After you have captured the correct area of the page where your password goes, uncheck all the attributes of the element that are blank and also the URL attribute (you should be left with 4 maybe 5 atributes left), then hit "Apply" and "OK". Click "Highlight" to make sure BP still finds the element of the page that you want. Then in your Process or Object canvas, use a "Write" stage and drop this element you just created in the Element field, and the password into the Value field (the value has to be between "" unless you are using a data item instead of typing it in). If you have done all this, the "Write" stage should most definitely enter the password into the password field. Good luck!
Does Drupal provides interchanged/partial word search for example: If i'm searching for "search term" should also return search result says that "term search".
Actually there's a quick way to set this up with the Search API and the Search API Database Search modules. No need for Solr.
Enable both the modules and go to the Search API configuration page
(admin/config/search/search_api)
Add a server and give it a recognizable name (such as "MySQL"), make sure it's enabled
Choose the following service class: Database service (normally the only option. If you don't see it, make sure that the "Search API Database Search" module is enabled).
Selecting this service class will provide you the option Search on parts of a word (make sure you enable it). Now hit "Create server". Next, go back to the Search API configuration page, and add an index. Again give it a recognizable name, such as "Contentindex", and make sure it's enabled.
Select the server you recently created (in this example "MySQL"). Datasource options: check the content types you want to index (the description of this field may be a bit confusing, but make no mistake: you should check the content types you want to index, not the ones you want to leave out).
You could check "Index items immediately", but that depends on the size of your content. This option is alright for smaller websites. In the other case: let cron take care of it. Hit "Create index".
Next, you want to enable the fields (in the fields tab) to that very index, e.g.: contant type, title, status and author - and hit "Save changes" (we'll take care of the related fields later).
Then you want to configure the filters (in the filter tab). Here you can enable the bundle filter, if you want to finetune the content types once again (probably won't need to).
Down below you'll find the highlight filter, to highlight the search word in the results.
Now return to the fields tab and unfold the "Add related fields" tab. Add all the fields of which you want to get the content indexed, and hit Save Finally go to the "view" tab of the index, and index now all the items.
The last step is to create search results page and search block in Views, which only takes a few minutes.
Make sure the submodule Search Views is enabled and create a view page which will show "Contentindex" (select the name you gave to your index configuration instead of "content" which is selected by default.
Add all the fields (make sure your format is "fields") that every search result should consist of (title [link to content], body, …).
You'll notice that these fields look like this Indexed Node: Title
Add an exposed filter: Search: Fulltext search; and select the following in its settings: Contains any of these words, and use as: Search keys.
You're done!
There's an excellent video tutorial on this partial search method without Solr, which also incorporates faceted search (which is not necessary for partial search, but in case you're interested…). If you're only looking for a partial search option, you can watch the video until 5:08 and after that skip to 6:45.
Reference:
https://www.drupal.org/node/84631
I customize the campaign form and i face the some problem
1.How to customize the name "GENERAL".i need the name instead of GENERAL .Where to change?or which property should i change?
2.cant delete Lock symbol fields if we try , its saying "It is allowed only for business units".How to unlock and How to delete this?
As Guido suggests, double you can edit the name of the tab by opening up the form in the form editor, double clicking on the tab, and changing the label.
As far as the locked field, you'll have to mark the field as not required, in the entity customization, publish your changes, then you can delete the field from the form.
The label for any tab can be changed by the form editor, if you want a dynamic value you can set using supported customization as this example:
var firstTab = Xrm.Page.ui.tabs.get(0);
firstTab.setLabel("new tab name");
If a field is locked, it means that is business required (in your case is the name of the campaign that must be filled), you can always hide the field and pre-fill the value using javascript code inside onload, onchange or onsave events.
Perhaps someone else can suggest a better (i.e. supported) solution but until then - why not find out the id of those elements and edit them directly from JS in onload? Let me repeat, though, that such an operation is unsupported.
This should be a simple thing, but as I am quickly finding out with CRM 2011, simple things almost never are...
Anyway, I have a custom activity type, a "Trip". A Trip represents a single visit by a service technician to a client's site. Trips are always created in connection with a Case (Incident) and never with any other entity type, so the entity exists as a custom activity that does not "Display In Activity Menus". That allows me to drop a subgrid of Trips into the primary Case view, making it the only place these things can be created.
The problem is that when I try to create a new Trip from the Case form (by clicking the subgrid and choosing "Add New Trip" from the ribbon), the "Regarding" field isn't populated with the Case that I was on when I clicked "Add". Any of the "built-in" activity types will default their corresponding field with no problem, so it would seem to me that I can do the same here. The field's supposed to be read-only once this defaulting works, but just so I can set up the reference when creating new Trips, I've made it editable, and of course when you pop up the lookup, you can assign this Trip to anything (which is why I want the field read-only in the first place).
I need the form to default the parent Case when the Trip form loads. It has to be there when it's first created, because if it isn't there on the first save, then some plugin code that sets other default values (namely data relating to other Trips that may or may not exist for the same Case) won't work properly.
I read about relationship field mapping, where you can default the values of various fields based on fields of the parent entity, but the relationship between the Incident and my Trip is not listed as mappable from either side and I can't figure out how to make it mappable. I also know it's possible to set default values using JavaScript, but if there's a less "custom" way to set this particular behavior up I would love to know how.
As an epitaph based on Mike's comment, it does indeed seem that Microsoft doesn't want this done. But, it's still possible to do it. The basic steps are:
Download the Ribbon Workbench solution and import it into CRM.
Create a new solution containing the entity or entities you want to be able to customize.
Create a JavaScript file containing functions that will open the form you want and pass the information you need as a parameter. There are two ways to specify the parameters; you can define custom parameters on the form, or you can use Microsoft's undocumented parameters for the Regarding field:
function OpenNewTripFromCase()
{
var entityId = Xrm.Page.data.entity.getId();
var entityTypeCode= Xrm.Page.context.getQueryStringParameters().etc;
var entityDisplayName = Xrm.Page.getAttribute("title").getValue();
var params = {};
params["pId"] = entityId;
params["pType"] = entityTypeCode;
params["pName"] = entityDisplayName;
Xrm.Utility.openEntityForm("cst_trip", null, params);
}
Import this JavaScript file as a Web Resource, and add it to the Solution so it will be available to Ribbon Workbench.
Open up Ribbon Workbench and open the solution you created with your entity and resources. Click the Solution Elements tab, and find the "Commands" item. Right-click and select "Add New". Now expand the list, find and click on your new command. In the Properties pane, change the name of the command to be more descriptive (it's recommended you only change the third "Command#" term), then click the magnifying glass button to the right of the Actions field.
In the window that pops up, click "Add", then choose "JavaScript Function Action". A new item will be added to the action list. Click it, then in the properties pane to the right, find the library containing your function, then type in the function name. I didn't get any sort of IntelliSense here, so be careful typing in the function name. Add parameters if you need to (you shouldn't need to with the code above), then click OK
Now click the custom activity entity in the Entities list of Ribbon Workbench, then in the dropdown to the upper right of the ribbon layout, select the SubGrid ribbon. Create a button in this Ribbon, give it the icon and text you want, and in the Properties pane, set the Command to the command you just created.
Publish the customized Solution, and you should, if you did everything correctly, have a new button that will do the same thing as the "Add New" button when you've selected a sub-grid, but will additionally populate the Regarding field.