Dears, 

Can you advise if there is a limitation on Partner External Portal to do signup page with file attachments during signup process. How is the best approach to do self registration portal. 

I hope there is no limitation to this even if it require development efforts

Like 0

Like

1 comments

Hello Ahmad,

 

Could you please elaborate on your business task?

Show all comments

Hi all,

 

I'm trying to migrate a package from our dev site to production.



We have multiple metric widgets on one of the pages and these are not migrating with the package (only their placeholders in the diff).



Can anybody advise what needs to be bound to the package to ensure these elements migrate across?



Nb. Version is up-to-date but we are not using the Freedom UI.

Like 0

Like

1 comments
Best reply

The metric definition is stored in SysWidgetDashboard. 

 

You’ll need to locate the row and bind the data to your package. The page code will contain the Id for  the record. 

The metric definition is stored in SysWidgetDashboard. 

 

You’ll need to locate the row and bind the data to your package. The page code will contain the Id for  the record. 

Show all comments

Hello community,

 

Can portal users import files?

 

In operation permissions, in 'CanImportFromExcel' where we define the users who can import files, it is possible to add the organizational role 'all portal users,' but users still can't import.

 

 

Is it possible for them to import files?

 

Thank you!

 

Best regards,

Andreia

Like 0

Like

2 comments

Hello,



According to the application logic, the portal user cannot import data. Because the portal functionality is limited, and import is available only for administrators by default.



We will register an idea for our developers to consider the possibility of importing for portal users. Currently, this can only be done by internal users.

Malika,

Thank you, Malika, for the reply.

Show all comments

Hi Community,

 

We are using the case section with 4 different pages based on the case types. We are required to disable the creation permission for different page types based on the user roles.

The OOTB Operation permission functionality in the object permission allows the Restriction at the object level. However, according to the requirement, we require this permission at the page level. Is there any workaround for us to achieve this?

 

I also tried the code attached below to achieve this requirement. But seems like I am missing something and the code is not working as expected.

 

initEditPages: function () {
    var roleName = "System administrators";
 
    var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
        rootSchemaName: "SysUserInRole"
    });
    esq.addColumn("SysRole");
 
    esq.filters.add("UserFilter", Terrasoft.createColumnFilterWithParameter(
        Terrasoft.ComparisonType.EQUAL, "SysUser", Terrasoft.SysValue.CURRENT_USER.value
    ));
 
    esq.filters.add("RoleFilter", Terrasoft.createColumnFilterWithParameter(
        Terrasoft.ComparisonType.EQUAL, "SysRole.Name", roleName
    ));
 
    esq.getEntityCollection(function(result) {
        if (!result.success || result.collection.getItems().length === 0) {
            // the user is *not* in the role 
            // do something here if needed
        }
        else {
            // the user *is* in the role
            var scope = this;
            var Ext = this.Ext;
            var Terrasoft = this.Terrasoft;
            var collection = Ext.create("Terrasoft.BaseViewModelCollection");
            var entityStructure = this.getEntityStructure(this.entitySchemaName);
            if (entityStructure) {
                Terrasoft.each(entityStructure.pages, function(editPage) {
                    var typeUId = editPage.UId || Terrasoft.GUID_EMPTY;
                    if (editPage.cardSchema === "BEACRCase2Page") {
                        collection.add(typeUId, Ext.create("Terrasoft.BaseViewModel", {
                            values: {
                                Id: typeUId,
                                Caption: editPage.caption,
                                Click: {bindTo: "addRecord"},
                                Tag: typeUId,
                                SchemaName: editPage.cardSchema
                            }
                        }));
                    }
                    else if (editPage.cardSchema === "BEACRCase1Page") {
                        collection.add(typeUId, Ext.create("Terrasoft.BaseViewModel", {
                            values: {
                                Id: typeUId,
                                Caption: editPage.caption,
                                //Click: {bindTo: "addRecord"},
                                Tag: typeUId,
                                SchemaName: editPage.cardSchema
                            }
                        }));
                    } else if (editPage.cardSchema === "BEACCCase1Page") {
                        collection.add(typeUId, Ext.create("Terrasoft.BaseViewModel", {
                            values: {
                                Id: typeUId,
                                Caption: editPage.caption,
                                //Click: {bindTo: "addRecord"},
                                Tag: typeUId,
                                SchemaName: editPage.cardSchema
                            }
                        }));
                    } else if (editPage.cardSchema === "BEAKRCase1Page") {
                        collection.add(typeUId, Ext.create("Terrasoft.BaseViewModel", {
                            values: {
                                Id: typeUId,
                                Caption: editPage.caption,
                                //Click: {bindTo: "addRecord"},
                                Tag: typeUId,
                                SchemaName: editPage.cardSchema
                            }
                        }));
                    }
                }, scope);
            }
            this.set("EditPages", collection);
        }
    }, this);
},

 

Kindly assist me in resolving this issue, please.

Like 0

Like

4 comments

Hello,

 

1) If you need to check roles and grant them access to some functionality it's much better to do via operations permissions check.

2) Because of point 1 you need to create several operation permissions and check all of them using RightUtilities.checkCanExecuteOperation method.

3) Based on the check result from point 2 - remove edit pages from the collection of edit pages. To do that:

 

3.1) Override SeparateModeAddRecordButton in the section schema

3.2) Add the check like the following:

{
				"operation": "merge",
				"name": "SeparateModeAddRecordButton",
				"parentName": "SeparateModeActionButtonsLeftContainer",
				"propertyName": "items",
				"values": {
					"controlConfig": {
						"menu": {
							"items": {
								"bindTo": "EditPages",
								"bindConfig": {
									"converter": function(editPages) {
										if (editPages.getCount() > 1) {
											RightUtilities.checkCanExecuteOperation({operation: "CanCreateCustomerContact"}, function(result) {
												if (result) {
													editPages.collection.items = editPages.collection.items.filter(item => item.values.Caption.includes("Customer"));
													return editPages;
												}
 
											});
										} else {
											return null;
										}
									}
								}
							}
						}
					}
				}
			}

It will also check if the role of the current user is in the operation permission and you don't need to call ESQ to get the list of roles, you can control it directly via the "Operation permissions" section.

 

In the example above all edit pages but "Customer" will be removed from the list if the user has access to the "CanCreateCustomerContact" operation (for all other users the "New" button in the Contacts section won't do anything).

 

So you need to test this approach and apply it to your business task.

Hi Oleg,

 

I appreciate your support. Please see the steps below, that were executed. I seem to be missing something and cannot see the expected result.

 

1. Step 01:

Created a new operation permission with the code - "CanCreatePendingDocumentCase" and added the relevant user roles who can create the particular type of case (Pending Document)

 

2. Step 02:

Added the below code snippet in the replacing section schema in the diff array

{
                "operation": "merge",
                "name": "SeparateModeAddRecordButton",
                "parentName": "SeparateModeActionButtonsLeftContainer",
                "propertyName": "items",
                "values": {
                    "controlConfig": {
                        "menu": {
                            "items": {
                                "bindTo": "EditPages",
                                "bindConfig": {
                                    "converter": function(editPages) {
                                        if (editPages.getCount() > 1) {
                                            RightUtilities.checkCanExecuteOperation({operation: "CanCreatePendingDocumentCase"}, function(result) {
                                                if (result) {
                                                    editPages.collection.items = editPages.collection.items.filter(item => item.values.Caption.includes("Pending Document"));
                                                    return editPages;
                                                }
                                            });
                                        } else {
                                            return null;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

 

Step 03:

Cleared the cache and checked whether only pending document case is available in the new button drop-down of the section.

 

But the dropdown is showing all the case types in the new button regardless of the user role.

Geeviniy Vazavan,



1) Is the Edit page called "Pending Document" (with this uppercase in P and D)? Includes method is case sensitive in JS.

 

2) which result is passed to the result of checkCanExecuteOperation method execution?

 

3) Have you added the button to the correct schema (for example it should be in ContactSectionV2, not in the ContactPageV2)?

 

4) Is the converted code triggered in the debugger?

Hi Oleg,

 

Please see the answers below.

 

1. Yes. The edit page "Pending Document" is in upper case P and D.

2. Result is "true"

3. It is added to the "CaseSection" schema

4. Yes. It is triggered.

Show all comments

Hi Creatio Community,



The documentation says we can add up to 3 custom sections on the Creatio Portal. Does this refer to only the new objects that I setup (as sections) from scratch or in other words objects that are not available as Out of the Box section, or does it refer to even from the Base set of Sections (For example: Product, Contracts & Invoices) that I might choose to add to the portal?



Additionally, if I create a custom object from scratch and define it as a detail (instead of creating it as a standalone section) within a portal section can I bypass this limitation of the portal license?

Like 0

Like

4 comments
Best reply

Vishal,

Yes, this is what I was told by support, and also confirmed by attempting to add other base sections in the portal (they didn't show up at all). 

For customer portal, you can only expose the base sections: Applications (only applies to FinServ Creatio), Documents, KB, Cases, and 3 custom sections.

Yes, you can expose these as details on a section that is exposed in the portal. They just can't be "sections" - meaning cannot be on the nav workspace and have list page etc.

Ryan

A custom section is a section you've made from scratch using the section wizard. Not an existing section that you've exposed as a section in the portal (such as Product, Contracts, Invoices, etc). Additionally, many ootb sections are not allowed to be exposed in the portal. See the table in this academy article, if it's not listed in the list of allowed sections it can't be exposed in the portal https://academy.creatio.com/docs/user/more_apps/portal/overview/portal_…

However, a lot of this changes with the switch to "external users" from "portal users" with the new composable pricing/model.

Ryan

Ryan Farley,

 

This is very helpful Ryan, however in the link you pasted, I can only find one table (and not the list the possible sections?) and it says the Customer Portal only offers the following:

 

"Customer portal[ Portal cases ],

[ Portal knowledge base ],

[ Applications ] (for Financial Services Creatio, Customer Journey edition),

[ Documents ] (if available in the main Creatio application)"

 

Does this mean I cannot add the any more Base Sections to the Customer portal and additionally, if I these 'custom' objects were set up as sections, can I overcome the portal limitation by just listing them as details?



 

Vishal,

Yes, this is what I was told by support, and also confirmed by attempting to add other base sections in the portal (they didn't show up at all). 

For customer portal, you can only expose the base sections: Applications (only applies to FinServ Creatio), Documents, KB, Cases, and 3 custom sections.

Yes, you can expose these as details on a section that is exposed in the portal. They just can't be "sections" - meaning cannot be on the nav workspace and have list page etc.

Ryan

This is what I thought as well. Thanks Ryan! 

Show all comments

Hi,

I have 2 VMs for Creatio v8.0.8.4807:

1 on Windows Server 2016 wirh iis where located all Creatio files

2 on Ubuntu 20 with Postgres 12 + Redis

So after all installation steps i face with a problem 

Config Error   The configuration section 'terrasoft' cannot be read because it is missing a section declaration

Config File   \\?\C:\inetpub\wwwroot\8.0.8.4807_ServiceEnterprise_Softkey_PostgreSQL_ENU\Terrasoft.WebApp\web.config

I have checked web.config and ConnectionString and all seems fine

Also attached the error screen and in rar format web.config + ConnectionString



Thanks in advance

 

File attachments
Like 0

Like

3 comments

Hi @Babyshark! How are you? I strongly recommend to double check the necessary windows componentes: https://academy.creatio.com/docs/7-18/user/on_site_deployment/applicati…

Regards.

Uriel Nusenbaum,

Hi, Uriel

I have checked everything and all seems installed. Unfortunately still have the same problem. No idea how to solve the issue.



Thanks for trying to help me.

You are welcome! If you want you could share a print with the result of this command. Please see the image below:

 

Thank you

Regards.

Show all comments

Hi community,

I'm following the available documentation to achieve this but when I try to create the Replacing view model module the system doesn't find any existing "Parent object" with the code OperatorSingleWindowPage.

I already created a custom package called "Test", as you may notice in the previous screenshots and I can't find anymore information about this problem.

I don't know if the more recent versions of Creatio doesn't support this anymore. I would like to know if I'm doing something wrong and if there is any other way to hide that panel.

The version of the environment I'm using is 8.0.8.4807

Thanks in advance for your help! 

Like 0

Like

2 comments
Best reply

Ryan Farley,

It worked, thank you very much!

Show all comments

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

Hi Team,

We have an issue when installing packages in the production environment some js files (Client module) and business Rules are not updated with new fields.

we make an overwrite page and section file properly in the custom package but the issue is only in production can't see new fields and business Rules in page and in js file



also we perform a compile all & Generate for all schemas but still same issue

Like 1

Like

2 comments

Hello,



Could you please elaborate on the issue? 



Are transferring modifications between environments by packages? 

Is it working properly on the website where it was developed?

Bogdan,

Hi  Bogdan, Thanks for reply 

Yes transferring modifications between environments by packages and it is work successfully on my development environment

Show all comments

Hi all,

 

In Freedom UI (and possibly 7.x), you are unable to use the "open new record"  button from a record page of an object where the user only has read only access. To me this doesn't really make sense and I'm hopeful there is a way around it? 

 

For example, the user has read only access to "Account", but the user has write access to "Contact". On the Account page there is a list of contacts (detail) with the button to add new. 

 

The user has the permissions to add this contact, but the system says permissions do not exist to edit object "Account" - even though the user is not editing the object account - it is simply trying to open the new record page for Contact. 

 

Am I missing something here? 



Thanks!

Like 0

Like

2 comments

Hi Harry,

 

I wasn't able to reproduce the issue on the 8.0.7 version, therefore we recommend updating your application to the latest version.

Thanks Bogdan, yes it looks like it was a bug which is now fixed. 

Show all comments