Dear colleagues,

 

How can AVOID this? The link to an object in dev is "https://dev-XXXXX.creatio.com/Navigation/Navigation.aspx?schemaName=Ndo…]" and in TESTING or production, when deploy packages remains https://dev-XXXXX.creatio.com, when it must be https://pre-XXXXX.creatio.com or https://XXXXX.creatio.com

 

Some idea, how to solve this?

Like 0

Like

1 comments

Hello!

 

Please create a separate case for Support Team support@creatio.com  and we will analyze it deeply. 

Show all comments

Hi Guys,

How to make mobile phone number hyperlink on the section page? I have made it hyperlink on the record page using below code and it is working fine.

 

{

                "operation": "insert",

                "name": "STRING1f27bc1d-c936-4310-96b7-9d648cf0459e",

                "values": {

                    "layout": {

                        "colSpan": 12,

                        "rowSpan": 1,

                        "column": 12,

                        "row": 2,

                        "layoutName": "Header"

                    },

                    "bindTo": "SMPhone",

                    "enabled": false,

                    "showValueAsLink": true,

                    "href": {

                        "bindTo": "SMPhone",

                        "bindConfig": {

                            converter: "getLinkValue"

                        }

                    },

                    "linkclick": {

                        "bindTo": "onCallClick"

                    },

                    "controlConfig": {

                        "autocomplete": Terrasoft.generateGUID(),

                    }

                },

 

 

 

Like 0

Like

1 comments

 

Hello Singla,

You can add  "showValueAsLink": true  in diff. More information you can find here:

https://community.creatio.com/articles/how-can-we-store-url-and-make-field-clckable-form?_gl=1*17twi4f*_gcl_au*MTYxNTAzNjkzMi4xNjkyOTU4NzI3 

Best regards, Anhelina!

Show all comments

Hello!



What link can I use to open product page on Portal from link? Product is not a separate section on Portal, but we need to give link to that.

 

We have tried the same method, like on main site, but links goes to Main page

Thank you!

Like 1

Like

1 comments

Hello Vladimir!

 

I will presume that you are using OOTB pages to provide you with an example of this logic.

 

The product has an Id and it is the same for system and portal users. The difference is only the edit page they see.

 

System user:

https://YOUR_WEBSITE.creatio.com/0/Nui/ViewModule.aspx#CardModuleV2/ProductPageV2/edit/b0e9bbd0-a818-4400-9163-d5a6a0e7aa9a

 

Portal user:

https://YOUR_WEBSITE.creatio.com/0/Nui/ViewModule.aspx#CardModuleV2/PortalProductPageV2/edit/b0e9bbd0-a818-4400-9163-d5a6a0e7aa9a

 

There how it is only different by the prefix "Portal" before the %Object%PageV2 part of the link. It is true for all OOTB sections.

 

With secure routing /ssp/ part is added after  "0":

https://academy.creatio.com/docs/developer/application_components/porta…

 

Example:

https://YOUR_WEBSITE.creatio.com/0/ssp/Nui/ViewModule.aspx#CardModuleV2/PortalProductPageV2/edit/b0e9bbd0-a818-4400-9163-d5a6a0e7aa9a

 

What I believe would be the best to use the business process to form links for portal users by using the first part of the link that is the same for all users and the id of the record (string+[macro]):

 

https://YOUR_WEBSITE.creatio.com/0/ssp/Nui/ViewModule.aspx#CardModuleV2/PortalProductPageV2/edit/[%Id%]

 

I hope my answer was useful to you.

 

Best Regards,

Dan

Show all comments

Hi Community

 

I want to remove the hyperlink from lookup fields. To achieve this I have followed this community article. This worked fine on the edit page. But on the section list view hyperlinks are still showing as shown below.

 

 

Is there a way I can remove the hyperlink on the list view conditionally as well instead of removing the "Display value" property from the object setting?

 

 

Any lead will be appreciated.

 

Regards,

Sourav Kumar Samal

Like 0

Like

5 comments

Hi, the logic for marking columns as links on section pages is based on the method addLookupColumnLink and if you want to modify it, you need to override it. For example, in the contact section, I need to remove a link to the column "Owner". The code to do this:

 

define("ContactSectionV2", [], function() {
	return {
		entitySchemaName: "Contact",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
		methods: {
			addLookupColumnLink: function(item, column) {
				if (column.columnPath == "Owner"){
					console.log("We don't add link");
				} else {
					this.callParent(arguments);
				}
			}
		}
	};
});

 

Dmytro Vovchenko,

 

I have tried the above code, but the method was never called, attached a screenshot for reference.

 

 

Is there anything I am missing here?

 

Regards,

Sourav

Sourav Kumar Samal,

If you want to remove a link from a primary column the method you need in this situation is addPrimaryColumnLink

define("ContactSectionV2", [], function() {
	return {
		entitySchemaName: "Contact",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[
		]/**SCHEMA_DIFF*/,
		methods: {
			addLookupColumnLink: function(item, column) {
				if (column.columnPath == "Owner"){
					console.log("We don't add link");
				} else {
					this.callParent(arguments);
				}
			},
			addPrimaryColumnLink: function(item, column) {
				return false;
			}
		}
	};
});

Result:

Dmytro Vovchenko,

 

Is there a way to do the same thing on the dashboard list?

 

Regards,

Sourav

Sourav Kumar Samal,

In this case, look at the DashboardGridModule schema. I believe you would need to modify the same methods. But, overriding the 

DashboardGridModule is much more difficult than the section pages.

Show all comments

Hello,

 

I have a detail in which I have added a column from another table using the "diff" array. Please see below Code. I would like the "Link" column to get hyperlinked. Unfortunately, the code I added does not seem to add hyperlink.

Can someone help please?

getShareLink: function(value) {
 
                return {
                        url: value,
                        caption: value,
 
                };
        	},
        	onShareLinkClick: function(url) {
                if (url != null) {
                        window.open(url, "_blank", "height=" + this.get("WindowHeight") + ",width=" + 								this.get("WindowWidth"));
                        return false;
                }
   },
 
//diff array
{
	"operation": "insert",
	"name": "PsgDataGrid",
	"parentName": "Detail",
	"propertyName": "items",
	"index": 0,
	"values": {
			"itemType": Terrasoft.ViewItemType.GRID,
			"listedZebra": true,
			"collection": {"bindTo": "Collection"},
			"activeRow": {"bindTo": "ActiveRow"},
			"primaryColumnName": "Id",
			"isEmpty": {"bindTo": "IsGridEmpty"},
			"isLoading": {"bindTo": "IsGridLoading"},
			"multiSelect": {"bindTo": "MultiSelect"},
			"selectedRows": {"bindTo": "SelectedRows"},
			"sortColumn": {"bindTo": "sortColumn"},
			"sortColumnDirection": {"bindTo": "GridSortDirection"},
			"sortColumnIndex": {"bindTo": "SortColumnIndex"},
			"linkClick": {"bindTo": "linkClicked"},
			"type": "listed",
			"useListedLookupImages": true,
			"visible": {
				"bindTo": "isImageManagerDetailView",
				"bindConfig": {"converter": "getDataGridVisible"}
					},
					"listedConfig": {
						"name": "DataGridListedConfig",
						"items": [
							{
 
								"name": "Link",
								"bindTo": "Link",
								"position": {
									"column": 16,
									"colSpan": 8
								},
								"caption": Resources.localizableStrings.Link,
								"values":
								{
 
									"config": {
											"className": "Terrasoft.TextEdit",
											"linkclick": { bindTo: "onShareLinkClick"},
											"showValueAsLink": true,
											"enabled" : true,
											"href": {
											"bindTo": "Link",
											"bindConfig": {"converter": "getShareLink"}
										}
									}
								},
							}

 

Like 0

Like

8 comments

Hello,

If you want to make a text fields display as a hyperlink you need to add these parameters to the "values" part of the diff:

"showValueAsLink": true,

 "href": {

        "bindTo": "UsrLink",

        "bindConfig": {"converter": "getLinkFormat"}

 },

 "controlConfig": {

        "className": "Terrasoft.TextEdit",

        "linkclick": { bindTo: "onLinkClick"}

}

Note that "UsrLink" is the Code of the column.

And in the methods part add these methods:

            getLinkFormat: function(value) {

                return {

                    "url": value,

                    "caption": value

                };

            },

 

            onLinkClick: function(url) {

                var link = document.createElement("a");

                link.href = url;

                link.target = "_blank";

                document.body.appendChild(link);

                link.click();

                document.body.removeChild(link);

                return false;

            }

After this, your text should be displayed as a hyperlink.

Dmytro Vovchenko,

 

kindly see the code above. I have pasted the code with href, control config and showvalueaslink. It does not seem to work which is why I would like to check if the team can help here

Shivani Lakshman,

In that case, can you please show a screenshot of the detail so I can see how it looks like with values?

Sure



Shivani Lakshman,

I can see that you have two parameters named "values", inner and outer ones. Can you please try moving parameters "showValueAsLink", "bindConfig" and others to the outer "values" 

Dmytro Vovchenko,

I believe the outer values is for the detailgrid. I anyway tried outside the inner value and it still did not work. I am attaching the code

 define("FileDetailV2", ["FileDetailV2Resources", "PsgCurrentStorageImageConstants", "ViewUtilities", "ConfigurationConstants", "ConfigurationEnums", "ServiceHelper", "ProcessModuleUtilities","terrasoft", "BusinessRuleModule", "ImageListViewModel", "GridUtilitiesV2","ConfigurationGrid", "ConfigurationGridGenerator", "ConfigurationGridUtilities"],
function(Resources,PsgCurrentStorageImageConstants, ViewUtilities, ConfigurationConstants, ConfigurationEnums, ServiceHelper, ProcessModuleUtilities,Terrasoft, BusinessRuleModule) 
		{
	return {
		rules: {
		},
		attributes: {  
			"ShareButtonMenuItems": {
				dataValueType: Terrasoft.DataValueType.COLLECTION
			}
		},
 
		messages: {
		},
 		mixins: {
         ConfigurationGridUtilites: "Terrasoft.ConfigurationGridUtilities"
        },
		methods: {
 
				init: function() {
						this.callParent(arguments);
						this.loadSPConfiguration();
 
					},
 
 
 
			initLoadFilesQueryColumns: function(esq) {
				this.callParent(arguments);
				esq.addColumn("[PsgFileLink:PsgFileId].PsgCurrentStorage", "CurrentStorage");
				esq.addColumn("[PsgFileLink:PsgFileId].PsgShareableLink", "ShareLink");
 
			},
 
			getImageByCurrentStorage: function() {
 
				var imageUrl = PsgCurrentStorageImageConstants.Icons.DataBase;
				var storageType = this.get("CurrentStorage");
				if(storageType) {
					if(storageType.displayValue === "SharePoint") {
						imageUrl = PsgCurrentStorageImageConstants.Icons.Cloud;
					}
 
				}		
 
				return imageUrl;
			},
 
			decorateItem: function(item) {
				this.callParent(arguments);	
				item.columns["CurrentStorage"] = {
					caption: "",
					columnPath: "CurrentStorage",
					dataValueType: Terrasoft.DataValueType.LOOKUP,
					isLookup: true,
					name: "CurrentStorage"
				};
 
				item.defGetLookupImageUrlMethod = "getIconByCurrentStorage";
				item.getIconByCurrentStorage = this.getImageByCurrentStorage;
			},
 			addColumnLink: function(item, column) {
                this.callParent(arguments);
            },
 
			getShareLink: function(value) {
 
                return {
                        url: value,
                        caption: value,
 
                };
        	},
        	onShareLinkClick: function(url) {
                if (url != null) {
                        window.open(url, "_blank", "height=" + this.get("WindowHeight") + ",width=" + 								this.get("WindowWidth"));
                        return false;
                }
        	}
		},
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "remove",
				"name": "DataGrid",
			},
 
			{
				"operation": "insert",
				"name": "PsgDataGrid",
				"parentName": "Detail",
				"propertyName": "items",
				"index": 0,
				"values": {
					"itemType": Terrasoft.ViewItemType.GRID,
					"listedZebra": true,
					"collection": {"bindTo": "Collection"},
					"activeRow": {"bindTo": "ActiveRow"},
					"primaryColumnName": "Id",
					"isEmpty": {"bindTo": "IsGridEmpty"},
					"isLoading": {"bindTo": "IsGridLoading"},
					"multiSelect": {"bindTo": "MultiSelect"},
					"selectedRows": {"bindTo": "SelectedRows"},
					"sortColumn": {"bindTo": "sortColumn"},
					"sortColumnDirection": {"bindTo": "GridSortDirection"},
					"sortColumnIndex": {"bindTo": "SortColumnIndex"},
					"linkClick": {"bindTo": "linkClicked"},
					"type": "listed",
					"useListedLookupImages": true,
					"visible": {
						"bindTo": "isImageManagerDetailView",
						"bindConfig": {"converter": "getDataGridVisible"}
					},
					"listedConfig": {
						"name": "DataGridListedConfig",
						"items": [
							{
								"name": "NameListedGridColumn",
								"bindTo": "Name",
								"position": {
									"column": 0,
									"colSpan": 4
								},
 
							},
							{
								"name": "VersionListedGridColumn",
								"bindTo": "Version",
								"position": {
									"column": 5,
									"colSpan": 2
								}
							},
							{
								"name": "CurrentStorage",
								"bindTo": "CurrentStorage",
								"position": {
									"column": 7,
									"colSpan": 6
								},
								"caption": Resources.localizableStrings.CurrentStorageColumnCaption,
 
							},
 
							{
								"name": "ShareLink",
								"bindTo": "ShareLink",
								"position": {
									"column": 13,
									"colSpan": 11
								},
								"caption": Resources.localizableStrings.Link,
								"values":
								{
											"showValueAsLink": "true",
											//"enabled" : true,
											"href": {
											"bindTo": "Link",
											"bindConfig": {"converter": "getLink"},
											},
 
											"controlconfig": {
												"className": "Terrasoft.TextEdit",
												"linkclick": { bindTo: "onShareLinkClick"},
 
										},
										"viewType":"url"
									}
 
							}
						]
					},
					"tiledConfig": {
						"name": "DataGridTiledConfig",
						"grid": {
							"columns": 24,
							"rows": 3
						},
						"items": [
 
						]
					},
					"linkClick": {"bindTo": "linkClicked"}
				}
			},
 
			{
					"operation": "insert",
					"parentName": "Header",
					"propertyName": "items",
					"name": "Name",
					"values": {
						"generator": "HtmlControlGeneratorV2.generateHtmlControl",
						"htmlContent": {
							"bindTo": "Name"
						},
						"classes": {
							"wrapClass": ["t-label"]
						}
					}
				},
			{
				"operation": "insert",
				"name": "AddToCloudButton",
				"parentName": "Detail",
				"propertyName": "tools",
				"values": {
					"itemType": Terrasoft.ViewItemType.BUTTON,
					"tag": "addFileButton",
					"fileUpload": true,
					"filesSelected": {"bindTo": "onFileSelect"},
					"click": {"bindTo": "onAddFileClick"},
					"visible": {"bindTo": "getAddToCloudButtonVisible"},
					"imageConfig": {"bindTo": "Resources.Images.AddToCloudButtonImage"},
					 "hint": { "bindTo": "Resources.Strings.AddToCloudToolTip" } ,
				}
			},
			{
				"operation": "merge",
				"name": "AddRecordButton",
				"parentName": "Detail",
				"propertyName": "tools",
				"values": {
					"itemType": Terrasoft.ViewItemType.BUTTON,
					"tag": "addFileButton",
					"fileUpload": true,
					"filesSelected": {"bindTo": "onFileSelect"},
					"click": {"bindTo": "onAddFileClick"},
					"visible": {"bindTo": "getAddRecordButtonVisible"},
					"imageConfig": {"bindTo": "Resources.Images.AddButtonImage"}
				}
			},
			{
				"operation": "insert",
				"name": "UploadToSPRetry",
				"parentName": "Detail",
				"propertyName": "tools",
				"values": {
					"itemType": Terrasoft.ViewItemType.BUTTON,
					"click": {"bindTo": "uploadToSPRetry"},
					"visible": {"bindTo": "uploadToSPRetryButtonVisible"},
					"caption": Resources.localizableStrings.UploadToSPRetryButtonCaption
				}
			},
 
 
			]
		/**SCHEMA_DIFF*/
	};
});

for you to look at. Please let me know your suggestions.

Shivani Lakshman,

With the same issue on my end.

Federico Buffa ?,

 

The column that I wanted to hyperlink was from another table. The solution that was provided is as follows

Please try with the specific column that you want to hyperlink with the following method

addColumnLink: function(item, column) {

                const columnPath = column.columnPath;

                if (columnPath ==="[PsgFileLink:PsgFileId].PsgShareableLink") {

                    column.columnPath = "ShareLink";

                    this.callParent(arguments);

                } else {

                    this.callParent(arguments);

                }

            },

Show all comments

Hi community,

 

How do you make a link (string field) a hyperlink in a mini-page? It is displayed as a label (https://academy.creatio.com/api/jscoreapi/7.15.0/index.html#!/api/Terra…) but there is no "showValueAsLink" property like in a text field in a page.



And how can I create a field that has the same behaviour as the email field in the default contact page? I have a "linkedin" field that I need to sync with the communication option (which has a linkedin field added under "website") and I need to sync it with the same behaviour as the email field (which takes the main email in the communication option, automatically adds a new email or updates it etc.).

 

Best regards,

 

Julien

Like 0

Like

7 comments

Hi Julien,

 

As for your first question - it's not clear which string-link field on the mini page you are refering to. I hope this community post where a similar question was asked will be useful - https://community.creatio.com/questions/convert-text-field-hyperlink.

 

As for your second question - the logic behind the email column is stored in the BaseCommunication and ContactCommunication objects in the Base package (processes on these objects). You need to study how the logic is declared there.

 

Best regards,

Oscar

Oscar Dylan,

 

Thank you for your answer, about my first question I mean a mini page that shows when you hover on a record :

 

I need to change a field that shows on the minipage to a link (with target _blank). On a page directly I can use a "ShowAsLink" attribute, but the component on a minipage that shows a text field is a label, which don't have a "ShowAsLink" attribute.

 

Thank you for your answer on the second question, I'll dig into the Base Package.

 

Best regards,

 

Julien Gunther

Julien Gunther,

 

This minipage is a "view" type minipage for the section that is used as a lookup reference. So you need to create the same logic described in the community post I shared above for the field on that minipage.

 

Best regards,

Oscar

Oscar Dylan,

 

The text field is rendered as a label, and it throw me this error :

Uncaught Object { message: "Property showValueAsLink is not defined in class Terrasoft.controls.Label" }

 

here is my diff :

			{
				"operation": "insert",
				"name": "Linkedin889ba056-f389-4852-a0f2-b5f8caede729",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 10,
						"layoutName": "MiniPage"
					},
					"isMiniPageModelItem": true,
					"visible": {
						"bindTo": "isViewMode"
					},
					"bindTo": "Linkedin",
					"showValueAsLink": true,
					"controlConfig": {
						"enabled": true,
						"href": {
							"bindTo": "getLinkedin"
						},
						"linkclick": {
							"bindTo": "onExternalLinkClick"
						}
					}
				},
				"parentName": "MiniPage",
				"propertyName": "items",
				"index": 13
			},

and the methods :

		methods: {
			getLinkedin: function() {
				return this.getLink(this.get("Linkedin"));
			},
			onExternalLinkClick: function() {
				return;
			},
			getLink: function(value) {
				if (Terrasoft.isUrl(value)) {
					return {
						url: value,
						caption: value
					}
				}
			}
		},

Best regards,

 

Julien Gunther

Julien Gunther,

 

Ok, we can do it in another way. We can create a virtual column, populate it with the value from the main record and display it not as a label in the minipage, but as a string field. For example using the code below (was added to the ContactMiniPage in my case):

define("ContactMiniPage", [], function() {
	return {
		entitySchemaName: "Contact",
		attributes: {
			"LinkedIn": {
				"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
				"value": ""
			}
		},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {
			onEntityInitialized: function() {
				this.callParent(arguments);
				var linkedInValue = this.get("UsrLinkedIn");
				this.set("LinkedIn", linkedInValue);
			},
			getLinkedInLink: function() {
				return this.getLink(this.get("LinkedIn"));
			},
			getLink: function(value) {
				if (Terrasoft.isUrl(value)) {
					return {
						url: value,
						caption: value
					};
				}
			},
			onLinkedInLinkClick: function() {
				return;
			},
		},
		dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "insert",
				"name": "LinkedIn",
				"values": {
					"showValueAsLink": true,
					"controlConfig": {
						"href": {
							"bindTo": "getLinkedInLink"
						},
						"linkclick": {
							"bindTo": "onLinkedInLinkClick"
						}
					},
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 11
					},
					"caption": {
						"bindTo": "Resources.Strings.LinkedIn"
					},
					"bindTo": "LinkedIn",
				},
				"parentName": "MiniPage",
				"propertyName": "items",
				"index": 5
			},
			{
				"operation": "merge",
				"name": "HeaderContainer",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 0
					}
				}
			},
			{
				"operation": "merge",
				"name": "TimezoneMiniContactPage",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 9
					}
				}
			},
			{
				"operation": "merge",
				"name": "JobInfoContainer",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 10
					}
				}
			},
			{
				"operation": "move",
				"name": "JobInfoContainer",
				"parentName": "MiniPage",
				"propertyName": "items",
				"index": 2
			},
			{
				"operation": "merge",
				"name": "Name",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 1
					}
				}
			},
			{
				"operation": "merge",
				"name": "Type",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 2
					}
				}
			},
			{
				"operation": "merge",
				"name": "Account",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 3
					}
				}
			},
			{
				"operation": "merge",
				"name": "JobTitle",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 4
					}
				}
			},
			{
				"operation": "merge",
				"name": "Department",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 5
					}
				}
			},
			{
				"operation": "merge",
				"name": "MobilePhone",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 6
					}
				}
			},
			{
				"operation": "merge",
				"name": "Email",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 7
					}
				}
			},
			{
				"operation": "remove",
				"name": "OwnerEdit"
			},
			{
				"operation": "remove",
				"name": "Owner"
			},
			{
				"operation": "remove",
				"name": "OwnerButtonContainer"
			},
			{
				"operation": "remove",
				"name": "OwnerCallButton"
			},
			{
				"operation": "remove",
				"name": "OwnerEmailButton"
			}
		]/**SCHEMA_DIFF*/
	};
});

As a result I received a clickable linkedin field in the view-minipage:

Hope it will work in your case as well.

 

Best regards,

Oscar

Oscar Dylan,

 

I still have the same error :

Uncaught Object { message: "Propriété showValueAsLink is not defined in class Terrasoft.controls.Label" }

 

Here is my code :

define("MTF_Candidat1MiniPage", [], function() {
	return {
		entitySchemaName: "MTF_Candidat",
		attributes: {
			"LinkedinVirtual": {
				"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
				"value": ""
			}
		},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {
			onEntityInitialized: function() {
				this.callParent(arguments);
				this.set("LinkedinVirtual", this.get("UsrLinkedin"))
			},
			getLinkedinLink: function() {
				return this.getLink(this.get("LinkedinVirtual"));
			},
			onExternalLinkClick: function() {
				return;
			},
			getLink: function(value) {
				if (Terrasoft.isUrl(value)) {
					return {
						url: value,
						caption: value
					}
				}
			}
		},
		dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
		diff: /**SCHEMA_DIFF*/[
			// other items in diff ....
			{
				"operation": "insert",
				"name": "Linkedin889ba056-f389-4852-a0f2-b5f8caede729",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 10,
						"layoutName": "MiniPage"
					},
					"caption": "Linkedin",
					"isMiniPageModelItem": true,
					"bindTo": "LinkedinVirtual",
					"showValueAsLink": true,
					"controlConfig": {
						"href": {
							"bindTo": "getLinkedinLink"
						},
						"linkclick": {
							"bindTo": "onExternalLinkClick"
						}
					}
				},
				"parentName": "MiniPage",
				"propertyName": "items",
				"index": 39
			}
		]/**SCHEMA_DIFF*/
	};
});

"isMiniPageModelItem" is a required attribute, if set to false or removed it raise this error:

Uncaught Object { message: "DataValueType.null is not supported" }

 

Do you have another solution ?

 

Best regards,

 

Julien

 

 

Julien Gunther,

 

Your error comes from some place that is not present in the code I shared. Everything is working on my end, please perform an absolutely same setup.

 

Best regards,

Oscar

Show all comments
Question

Dear Community,

 

As you all may know, it is possible to highlight (link) people in the FEED chat by using '@'. https://prnt.sc/22xks00

 

I was wondering if we can link products or other objects as well within the FEED tab.

If not, is it possible to have an embedded link within the FEED like this (link to google) instead of like this: 'www.google.com'?

 

 

Kind regards,

Yosef

Like 0

Like

1 comments
Best reply

Hi Yosef,

 

It's theoretically possible, but will require overriding:

 

1) prepareEntitiesExpandableList and getContactItems methods in the SocialMentionUtilities module

2) the ESNFeedModuleService class and creating your own logic of finding Orders or Products (like it's done for contacts (the logic can be found in the GetContactsForMention method of the ESNFeedModuleService class))

 

As for your second question - you can copy this using CRTL+C/CTRL+V and paste it inside the feed and you will see that the link will be copied as well. It's because feed supports HTML and the href is also copied with the CRTL+C/CTRL+V. So the fast workaround here could be:

 

1) Open the "Attachments and notes" tab

2) Form the URL inside the text there:

3) Copy the created text and paste it into the feed:

I will also create a suggestion for our R&D team so they could add a feature of selecting the entity which should be used for feed messages posting out-of-the-box.

 

Thank you for this idea and helping us in making the app better!

 

Best regards,

Oscar

Hi Yosef,

 

It's theoretically possible, but will require overriding:

 

1) prepareEntitiesExpandableList and getContactItems methods in the SocialMentionUtilities module

2) the ESNFeedModuleService class and creating your own logic of finding Orders or Products (like it's done for contacts (the logic can be found in the GetContactsForMention method of the ESNFeedModuleService class))

 

As for your second question - you can copy this using CRTL+C/CTRL+V and paste it inside the feed and you will see that the link will be copied as well. It's because feed supports HTML and the href is also copied with the CRTL+C/CTRL+V. So the fast workaround here could be:

 

1) Open the "Attachments and notes" tab

2) Form the URL inside the text there:

3) Copy the created text and paste it into the feed:

I will also create a suggestion for our R&D team so they could add a feature of selecting the entity which should be used for feed messages posting out-of-the-box.

 

Thank you for this idea and helping us in making the app better!

 

Best regards,

Oscar

Show all comments

Hi Team,

I have a requirement for adding feed notification based on particular action in a section, say marking a record inactive by making a boolean true. Once the record is inactive, the record related information and its connected Account should be posted in feed message in the below format,

The record connected to is inactive.

 

Screenshots added for better clarity.

Right now I am getting only the id of the record instead of the record with Hyperlink.

 

The record 5320276a-20a5-4396-b2fe-401da61a2a08 connected to 4d77085b-362d-4eb1-a120-cb32abb86f01 is inactive.

Like 0

Like

4 comments

Hello, 

 

I would suggest to create a separate process parameter and add Formula element for a link and refer to that parameter from the Add element from your screenshot. 

In order to do so, create a new process parameter "Contact record link" for example, then add Formula element as on the attached screenshot, "094718-crm-bundle.creatio.com" should be replaced with your site name, and as well, take into account to which section/page you are referring.

Once done, you can simply refer to "Contact record link" parameter. 



Also, there are two more instructions  from Oscar:

https://community.creatio.com/questions/link-based-feed-notification

https://community.creatio.com/questions/how-add-particular-section-reco…



Hope, this helps!



Best regards, 

Anastasiia

Anastasiia Zhuravel,

Thanks for the detailed reply. I implemented a similar thing as follows (screenshots attached)

 

Step 1 

I added a system setting for the link so that we can change it based on the env we install the package.

 

Step 2 :

Used the system setting in formula element in BP to assign it to a parameter.

 

Step 3: 

Got the below output.



 

I would like to see a more user friendly readable format, something like Interaction Name in the link instead of the entire link being shown to the user!

Kindly help me achieve this.

 

Thanks,

Dharini

Dharini, 

 

As of now, it's pretty much the only way to display the link in the feed using basic system functionality. There could be other variants, however they will require implementation by code. 

 

Best regards, 

Anastasiia

 

 

Anastasiia Zhuravel,

If we can display a readable string in place of the link and its feasible only by implementation with code, can you pls help me with some examples?

Show all comments

Hello,

 

I want to open a webpage in browser in mobile application by tapping on a custom string field but could not find any solution in academy or community.

 

Regards,

Malay

Like 1

Like

4 comments

Dear Malay,

 

In detail Communication option for accounts and contacts, you can find the communication option Web - after the link is added to it you will be able to click it. To add this logic to your field check the code of this detail in OOB mobile application and mimic it for your field. 

 

Best regards,

Angela

Hello Angela,

 

I have seen this field, but in the advanced settings it is hidden from me as it is a out of the box field. I cannot find it in any lead mobile page or lead edit page v2.

If you have source code for this, please provide me so that I can implement that on my field.

 

Regards,

Malay

Malay,

Check MobileAccountCommunicationModelConfig schema or simular schema for contact section. 

 

Best regards,

Angela

Angela Reyes,

 

I have checked all the schemas related to account and contact, but could not find the definition for that "Web" field which is clickable in mobile.

I have checked the MobileAccountCommunicationModelConfig  also but could not find anything.

 

Regards,

Malay

Show all comments

Dear community,

We have a usecase where a field on a section references a detail. Is there a way to hyperlink this field so that when user clicks it, they are directed to the edit page of the detail?

Thanks

Like 0

Like

2 comments

Dear Shivani,

 

You can add this field as a "Display value" in the object settings of the detail itself - it will become a hyperlink.

 

Best regards,

Angela

Hi Angela,

 

I have already added the "Displayed value" in the object settings. However, the name of the detail is not hyperlinked, rather it is a plain text. Please see attached images. The field I want to hyper link is "Reading".

 

 

Thanks

Show all comments