How to create hook_ds_fields_info()? - drupal-7

I want to add few custom field using display suite in drupal7 and for that i want to use hook_ds_fields_info(). I just know basics for that. Don't know how to create the hook for this. Do I need to create a different file and call the function?

Related

Functional Test With ExtJS 6

I'm using HP UFT for functional tests.
Because of dynamic id definition of ExtJS, I can't use UFT Recording feature.
I've tried many ways for assigning dynamic IDs to staticly.
I tried to change id: function() in ext-all-debug.js file.
I tried to change Components getId() function in ext-all-debug.js file.
I tried override components with afterRender method to change ids aswell.
Sometimes I achieved to change id's using component's properties (text, fieldLabel, overflowText, etc.), but for some components I couldn't achieve to assign ID's since the components properties seem empty.
Above, I listed my actions to assign static ID. So, I want to know your opinions about my actions and if you found them incorrect or not sufficient, could you offer me new approaches for using HP UFT recording feature with ExtJS6.
You can't change the dynamic id of the dom elements which represents ExtJS components. That's really bad thing and I think you would break the whole app.
The easiest way to test ExtJS app is to use already created frameworks/tools like:
Siesta by Bryntum
Sencha Test by Sencha
The Siesta is free. It has some pro features which requires the license. But you can use it for free.
If you still insists on doing it your way. You need to dynamically get the IDs of the dom elements created by ExtJS components. Basically write your own API.
You need to execute the ExtJS JS code, which will return you the ID of the component. So you need to get the ExtJS component and call getId() function on it to get the dom id.
Here is the example code:
>Ext.ComponentQuery.query('checkbox')[0].getId()
"checkbox-1047"
You will definetely need: http://docs.sencha.com/extjs/6.5.3/modern/Ext.ComponentQuery.html#method-query
And keep in mind that the query can be pretty advanced and you can use all the configs which are set on the ExtJS elements such as name, xtype, etc
You can find some other info in my other anwser https://stackoverflow.com/a/41718879/1768843

Salesforce Apex invoke Save on Edit page using PageReference

The functionality I have written works, this is for a test method.
In apex test code, I create a StandardController then a controller extension and invoke a method on that controller extension which returns a PageReference to a custom object's standard edit page. I want to change field values on that edit page and invoke the Save method/button, is this possible and how?
In advance, thanks.
No, you cannot change values in a standard edit screen from within a test method, nor do you need to. The correct way to test logic that is executed after saving on a standard edit screen is to construct an instance of a new record, populate the fields, and insert it into the database.

How to call Data Editor from Code, C1 CMS?

Under definition tree, I can attach event to open Data Editor for certain element.
However, I have no idea how to trigger the workflow to open the Editor for a given id.
I have a custom action URL which point to a custom ASPX (List of businesses about 50,000) in the console.
Now I want to trigger call the default data editor from the custom ASPX. Is that possible.
Yes you can. There is a few steps you need to take, but then you can basically mimic all console behaviors from your own aspx-page.
First of all you need to include the necessary C1 Console javascript frameworks on your page. Do that by calling ScriptLoader.Render("sub") and write the result on your page. You would also need to include this javascript on your page https://github.com/burningice2866/CompositeC1Contrib/blob/master/Teasers/Package/content/Composite/InstalledPackages/CompositeC1Contrib.Teasers/teaserConsoleFunctions.js - its some wrapper methods which are able to construct the javascript objects needed to call C1's webservice methods.
When that is setup you can trigger opening a Edit Workflow by calling the executeAction javascript method via a link containing the necessary ActionToken and EntityToken like this https://github.com/burningice2866/CompositeC1Contrib/blob/master/Teasers/Web/UI/TeaserHtmlHelper.cs#L65.
Its important to understand that everything in the C1 Console in based on these tokens. You don't edit something based on its id but always based on the EntityToken the something is represented by.
And what you want to do, whether its edit something or delete it, that thing you want to do is represented by an ActionToken. So to be able to edit something, you need an EntityToken for that something and a ActionToken for the Data Editor.

Custom object search in Salesforce Lightning

To create child record, I use e.force:createRecord but when I type the name of parent record into look-up field, it shows nothing even whole name or some letter.
I want to have the functionality as standard object like contact:
Do I need to config somewhere?
I believe Lightning shows only recently accessed records.
To have more flexibility you might need to create a completely custom component which would include custom lookup.
For my case I used custom components with custom lookup with similar approaches to this post or this one

How to copy document file from one site to another

I am looking for an example where based on the title name with in the object model I want to copy a single file from one Document library to another. I have more than 2000 files and don't want to loop through to complete collection is there any simple way to accomplish this.
There is no method like GetDocumentByName to use. But when do you want to do this? If you want it triggered by a user, you can use a custom action on the document library and when it's triggered you know what item triggered it.
If you want it done by a job I guess you could create a hidden SPView on the library that filters on the title. I'm not sure it's a great solution, but it can be done at least.

Resources