Is there a way to deploy the security configuration for Organizational & Functional Roles from Development to Production?

Is some kind of binding needed?

Like 0

Like

2 comments
Best reply

Hello,

Thank you for your question. 

Please, note that it's not recommended to bind users, organizational structure, roles, licenses, and other administrative things to a package. It will be very hard to handle that if you decide to install that package after the moment when the client adjusts that administrative things according to his or her needs directly on the production.

Unfortunately, there is no script we could provide you with but in case you decide to bind this data and transfer it to another environment we suggest checking all changes on the copies before delivering it to the production websites. The organizational structure is in the "SysAdminUnit" and "SysAdminUnitInRole" tables and you are right, it's possible to bind it to the package via SQL scripts only.

Best regards,

Hello,

Thank you for your question. 

Please, note that it's not recommended to bind users, organizational structure, roles, licenses, and other administrative things to a package. It will be very hard to handle that if you decide to install that package after the moment when the client adjusts that administrative things according to his or her needs directly on the production.

Unfortunately, there is no script we could provide you with but in case you decide to bind this data and transfer it to another environment we suggest checking all changes on the copies before delivering it to the production websites. The organizational structure is in the "SysAdminUnit" and "SysAdminUnitInRole" tables and you are right, it's possible to bind it to the package via SQL scripts only.

Best regards,

Mykhailo Zeleniuk,

Thank you Mykhailo for the quick response.  Appreciate the callout of the risks.  Based on this, I see makes sense to stick with managing security configuration directly in Production.

Show all comments

Hello all! Which part of the code do I have to edit to show the contact phone number in the contact card visible in leads / opportunities? Thanks for your help.

Like 0

Like

1 comments

Hi,

Due to a system change I now have over 1,000 records that need the change case launched. Is there an efficient and quick way to do this?

Thanks, Mai 

Like 1

Like

3 comments

Hi!



Currently there is no possibility of mass records edition (like assigning an owner to multiple records), however, you can do it with the simple business process. Here is the example with the Accounts.



I used to have different owners:

image.png



 but after running this process

image.png

 all of them were changed to the Supervisor:

image.png



 We have already registered the idea for our R&D team to implement this functionality in further releases. I will assign your case to this project in order to increase its priority.  



Best regards,

Anton

Yes please !

Anton Starikov,

Could you please reshare your pictures - they are not shown now. And changing Case is not the same as changing Owner, as I understand



Thank you!

Vladimir

Show all comments

Hello!

I got a business need to send the users dashboard in xls format according to the schedule.

How can i do that using BPMN functional in Creatio?

Like 0

Like

1 comments

Hello!



We have consulted with the product owners of this feature and we are certain that this task can only be achieved by the means of development.

Also, we have created a request for our developers in order to bring this functionality in future releases.

 

Thank you for this suggestion, this helps to make our product better!

In the meantime, as a workaround, we recommend creating a Word report and generating it within a business process, followed by sending it via email. This approach should help you achieve the desired outcome. 

For detailed instructions on setting up this business process, please refer to the following articles on the Creatio Academy:

https://academy.creatio.com/docs/user/customization_tools/print_ready_r…

https:/academy.creatio.com/docs/user/bpm_tools/process_elements_reference/system_actions/process_file/process_file_element?check_logged_in=1

https://academy.creatio.com/docs/7-17/user/bpm_tools/process_elements_r…

 

Please note that a Word report is generated for each section record separately.

I hope this information helps you resolve your business task.

 

Best regards,

Kate

Show all comments

Hi Creatio Community,

 

I would like to know the name of the function/handler that's called when creating a record and saving it in an editable detail in FreedomUI so that we can override it. We also noticed SaveRecordRequest doesn't seem to be called here.

 

Thanks in advance.

 

Regards,

Abilash.S

Like 0

Like

4 comments

Hello,

 

These should be the crt.CreateRecordRequest request and the crt.CreateRecordHandler handler. Try those in either:

 

1) Page where detail is added

2) Detail schema

3) Edit page of the detail

 

and it should be triggered.

Oleg Drobina,

 

Tried these two methods. They don't seem to be called when creating and saving the records in an editable detail.

Abilash,



I tried this handler:

handlers: /**SCHEMA_HANDLERS*/[
			{
				request: "crt.CreateRecordRequest",
				handler: async (request, next) => {
					return next?.handle(request);
				}
			}
		]/**SCHEMA_HANDLERS*/,

on the schema where detail is added and it's successfully triggered:

It also depends on which handler you have specified in the "Add button" properties, you need to find it in the schema diff (in my case it was crt.CreateRecordRequest):

{
				"operation": "insert",
				"name": "GridDetailAddBtn_z5e8jja",
				"values": {
					"type": "crt.Button",
					"caption": "#ResourceString(GridDetailAddBtn_z5e8jja_caption)#",
					"icon": "add-button-icon",
					"iconPosition": "only-icon",
					"color": "default",
					"size": "medium",
					"clicked": {
						"request": "crt.CreateRecordRequest",
						"params": {
							"entityName": "Contact"
						}
					},
					"visible": true,
					"clickMode": "default"
				},
				"parentName": "FlexContainer_n5yrzkv",
				"propertyName": "items",
				"index": 0
			},

 

Oleg Drobina,

 

The detail we are working with uses an inline record to create new records which doesn't seem to be calling CreateRecordHandler or CreateRecordRequest. 











 

Show all comments

Hi Community,

 

When I click reject in approval in freedom UI, comment field should be mandatory.



 





I followed this community post https://community.creatio.com/questions/make-comments-field-required-when-approval-gets-rejected-0. But its is not working for FreedomUI.



Thanks,

Regards,

Manideep

Like 2

Like

2 comments

Hello,



We don't have such functionality for now in Freedom UI.

 

We've registered it in our R&D team backlog for consideration and implementation in the future application releases. Thank you for helping us to improve our product. 

 

Yes, +1

Show all comments

I'm Getting Error while compiling the workspace everytime. I checked the error log and it's saying as below. Kindly help to resolve this. Have attached the file for reference.



[57] ERROR IIS APPPOOL\Creatio Terrasoft.Core.UserConnection OnCurrentUserConnectionChanged - Overwriting UserConnection.Current in the same context is not allowed    at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)

File attachments
Like 0

Like

1 comments

Hello Team.

I start BP on the client:

processArgs = {

                sysProcessName : "UsrSomeProcess" ,

                parameters : {

                    UsrParam : paramValue ,

                } ,

                callback : this . someProcessCallback ,

                scope : this

            } ;

            ProcessModuleUtilities. executeProcess ( processArgs )

Question: How to get the value of the output parameters of the running BP in the callback?

 

Like 0

Like

1 comments

The ProcessModuleUtilities module doesn't provide any ability to get output params in the callback. A process could take seconds, minutes, or days to complete, so the callback isn't executing when the process is complete, it's executing when it's been successfully started.

To get the params from the process you'll need to use a script task in the process to send them in a message to the front end UI and then wire up code to listen for that message. You can see an article how to do that here: 

https://customerfx.com/article/sending-a-message-from-server-side-c-to-…

Ryan

Show all comments

Hi Team,

I'm trying to call hierarchical copying from the front-end of my Creatio application, but I'm having some trouble. I've read in the Creatio documentation that I should use the callService() method, but I'm not sure how to use it correctly.

I saw an example in the documentation that uses the "ProductBankCustomerJourney" package and the "ProductConditionDetailV2" schema, but I can't seem to find these in my application.

Can anyone provide me with some guidance on how to call hierarchical copying from the front-end of my Creatio application? Any help or advice would be greatly appreciated.

Thanks in advance!

Like 0

Like

1 comments

Hello,

 

This package is a part of the bank-sales-bank-customer-journey installation files so probably that's why you cannot find it in your app. It would be easier to get such a demo or onsite installation files and review the logic there. Here are the methods from the ProductConditionDetailV2 schema:

getCopyRecordConfig: function() {
                return {
                    serviceName: "HierarchyDataCopyingService",
                    methodName: "CreateRecordCopy",
                    data: {
                        schemaName: this.entitySchemaName,
                        recordId: this.$ActiveRow
                    },
                    scope: this
                };
            },
...
copyRecordServiceCallback: function(response) {
                response = response || {};
                response = response.CreateRecordCopyResult || {};
                this.hideBodyMask();
                if (!response.success) {
                    var errorMessage = this.extractErrorMessage(response);
                    this.showInformationDialog(errorMessage);
                    return;
                }
                const copiedRecordId = response.recordId;
                this.openCard(configurationEnums.CardStateV2.COPY, this.Terrasoft.GUID_EMPTY, copiedRecordId);
            },
...
validateConditionsDueDateCallback: function(result) {
                if (result.success) {
                    this.callCopyRecordService();
                    return;
                }
                this.showInformationDialog(result.message);
            },
....
copyRecord: function() {
                this.isCanCopyRecord(function(isCan) {
                    if (!isCan) {
                        var denyMessage = this.get("Resources.Strings.RecordRightsErrorMessage");
                        this.showInformationDialog(denyMessage);
                        return;
                    }
                    this.validateConditionsDueDate(this.validateConditionsDueDateCallback, this);
                }, this);
            },
 
....
 
callCopyRecordService: function() {
                this.showBodyMask();
                var config = this.getCopyRecordConfig();
                this.callService(config, this.copyRecordServiceCallback, this);
            },

The chain is: copyRecord -> validateConditionsDueDate -> validateConditionsDueDateCallback -> callCopyRecordService -> getCopyRecordConfig -> copyRecordServiceCallback.

 

To call the service the config is used:

serviceName: "HierarchyDataCopyingService",
					methodName: "CreateRecordCopy",
					data: {
						schemaName: this.entitySchemaName,
						recordId: this.$ActiveRow
					},

and the actual call is performed:

this.callService(config, this.copyRecordServiceCallback, this);

callback function determines what should be done once the service response is received.

Show all comments

Hi Creatio community,

 

While creating a list page or form page in FreedomUI, we noticed that the option to view the changelog is not present even after enabling changelog for that particular object. 

 

We would like to know how to get this option in the form page (edit page) like in the previous versions. 

 

 

 

Thanks in advance.

 

Regards,

Abilash.S

Like 2

Like

6 comments
Best reply

Hi Abilash,

As far as I'm aware, this custom action is not yet available out of the box. I would assume in version 8.1 it would be present.

One workaround would be to call a handler to navigate to another URL, where you can construct the url for the specific change log of that record.

Hi Abilash,

As far as I'm aware, this custom action is not yet available out of the box. I would assume in version 8.1 it would be present.

One workaround would be to call a handler to navigate to another URL, where you can construct the url for the specific change log of that record.

Hi!

 

At the moment, Freedom UI doesn't have a quick way to go to the Change Log. This should be available in new versions. 

 

A workaround would be to call a handler to navigate to another URL.

 

Regards, Anton 

 

Is there any update on this? I can't see the change log option in a recently created 8.1 free cloud environment after turning it on for an object, nor an action that would correspond to it similar to what the Access Rights has for that button.

Hi,

Any news on this?

we also need to view change log.



As a temporary solution, is it possible to turn on the change log and view the changes in a lookup?

If yes, what object should be used to view the changes?

Thanks,

Luis

+1

There's been an update on this - in release 18.2 there's a possibility to add a button with an action "Change log" - it can open a page with a change log for the record or entire object. The only thing is that it is still the old design and the button opens a new tab, so it's not visible on the record itself.

Show all comments