Hi community,

is it possible to hide the register link in SSP login page ?

 

Like 1

Like

3 comments

+1 for this

Hello Stefano,

 

If user self-registration is not required, you can remove the “Register” button from the portal login page:



change the ShowPortalSelfRegistrationLink parameter in the Web.config file to:

 

<add key="UseStaticFileContent" value="false" />



Best regards,

Bogdan

Bogdan,

thank you bogdan

So, if my instance is on  cloud I have to open a case for the support 

Show all comments

Hi Creatio Community,

I have a portal user connected with an account for eg, Tesla.

Now on customer portal, I have an account lookup but it is only showing the account with which the Portal User is connected to (As shown in the screenshot below).

I want to know is there any way to show every Account names in the lookup?

 

Similarly, there is a contact lookup on portal which is only showing the current portal user name (As shown in the screenshot below).

Is there any way to show every Contact names in the lookup?

Thank you.

Like 0

Like

4 comments
Best reply

Nisarg Soni,

Hi!

The problem is that the record permissions are turned on and portal users don't have any permissions there. Therefore portal users don't get access to any records. 

Please add permissions of kind (All employees -> All portal users), clear the cache, re-login under a portal user and you should see the records in the list!

 

Best regards,

Max.

Hello,

Please check the object permission for the Contact and Account for "All portal users" in the “Object permissions” section?

alonadolya,

Hi

For Contact and Account, the permission is set for "All portal users". Images attached for reference.

Nisarg Soni,

Hi!

The problem is that the record permissions are turned on and portal users don't have any permissions there. Therefore portal users don't get access to any records. 

Please add permissions of kind (All employees -> All portal users), clear the cache, re-login under a portal user and you should see the records in the list!

 

Best regards,

Max.

Max,

Hi

Thanks for the solution. It works!

Show all comments

Hi Community,

 

I've an custom assembly package, with a custom business process.

In the business process I added a script block element.

If I move a process element to the designer and try to save, I get the error "Object reference not set to an instance of an object."

To solve the problem I have to change something in the script block and save the BP.

Is there any other way to do this?

 

In the Error.log file there is this error:

2022-05-17 09:40:55,788 [92] ERROR IIS APPPOOL\creatio Terrasoft Post - ManagerServiceLog - ErrorCode = NullReferenceException; Message = Object reference not set to an instance of an object.; InnerException: ; StackTrace =    in Terrasoft.Core.Process.ProcessSchemaManager.GetIsProcessExistsInAssembly(ProcessSchema processSchema)

   in Terrasoft.Core.Process.ProcessInterpretationValidator.ChangedSchemaMethodsRule.ValidateCompiledMethodsInAssembly(ProcessSchema processSchema)

   in Terrasoft.Core.Process.ProcessInterpretationValidator.ChangedSchemaMethodsRule.Validate()

   in Terrasoft.Core.Process.BaseInterpretationValidator`1.Validate(TProcessSchema processSchema, List`1 validationRules, Boolean checkAllRules)

   in Terrasoft.Core.Process.ProcessSchemaManager.GetProcessValidationResult(ProcessSchema process, UserConnection userConnection)

   in Terrasoft.Nui.ServiceModel.WebService.BaseProcessSchemaDesigner`1.ValidateSchema(ISchemaManagerItem item, BaseProcessSchemaResponse response)

   in Terrasoft.Nui.ServiceModel.WebService.BaseProcessSchemaDesigner`1.Save(ContractBaseProcessSchema`1 schema, BaseProcessSchemaResponse response)

   in Terrasoft.Nui.ServiceModel.WebService.ProcessSchemaManagerService.Post(ContractProcessSchema processSchema)

Like 0

Like

2 comments

Dear Stefano,

Sometimes you can catch a bug when trying to save a new version of the process with script-task to assembly package.

This bug is actual for 7.18.5 and lower versions, for example. But in 8.0+ versions it's already fixed.

As a workaround, I can suggest you use a simple package, not an assembly one. 

Of course, the best way to fix it is to update your application to 8.0+.

Best regards, Alex.

 

Aleksei Efimenko,

Thank you Aleksei

Show all comments

Hi Community,

 

In mobile we need to add validation in delete event. In the business rule only "Terrasoft.BusinessRuleEvents.ValueChanged" and "Terrasoft.BusinessRuleEvents.Save" is available. Any idea how we can set validation on record delete event? 

Like 0

Like

2 comments

Hi Fulgen,

 

Please refer to the following article:

https://academy.creatio.com/docs/developer/back_end_development/objects…

 

There you can find the description of the Terrasoft.Core.Entities.Events.BaseEntityEventListener class that provides the handler methods of various entity events.

 

To find some examples, you can run the following script in the database:

 

SELECT * FROM "SysSchemaSource" WHERE "Source" LIKE '%OnDeleting%'

 

It will show you schemas that use the OnDeleting handler method.

 

Best regards,

Max.

Max,



Any example in mobile client side? The same manner as how these two works in mobile business rule:

"Terrasoft.BusinessRuleEvents.ValueChanged" and "Terrasoft.BusinessRuleEvents.Save"

 

Show all comments

Hello Creatio Community!

Is there any easy way to transfer changes from section Pages the (Full User) to Portal Pages. I have created three pages as a Full User, and i want to transfer these modifications to Portal also. I want to create the same pages in Portal. Is there an easy way to do this automatically ?

Or i would have to repeat dhe same process to Portal by hand ?

Thanks !

Like 0

Like

3 comments
Best reply

Hello Petrika,



That shouldn't cause any problems as the Application Form Edit Page that you are setting as the parent inherits it's properties from the base section page.



Best regards,

Dariy

Hello Petrika,

 

In order to achieve this you can go to the Advanced settings and find the page that you would like to transfer, the data type will be "Client module". Then you can copy all the content that is inside of the "Diff" array of objects and paste it into the page that you have in the portal. If there are any business rules or other differences you should copy them as well. In the portal page you should leave as it is the entitySchemaName and the details of the page, the rest should look as it looks in the page that you are transfering.

 

Best regards,

Dariy

 

Dariy Pavlyk,

Thanks for the response Dariy. I made something like this. Base Section was the parent page by default for the Application Form Portal Page.

I changed the Parent object 

In this way i inheriteted everuthing from the Application Form Edit Page . Will this bring me any kind for Problems ?

Hello Petrika,



That shouldn't cause any problems as the Application Form Edit Page that you are setting as the parent inherits it's properties from the base section page.



Best regards,

Dariy

Show all comments

Hi All,

 

I want to use Wait Timer element in multiple business processes. I want it to wait upto 28 days. Will there be any issue if I specify 28 days (24,19,200 seconds) ? or is there any recommendation what is the maximum wait duration can be given?

 

Thanks,

Sourav Kumar Samal

Like 0

Like

3 comments

Hi Sourav,

 

Please be informed that the [WAIT FOR TIMER] element will not work correctly with such a big value, it will definitely drift off the needed amount of time at some point. Could you please elaborate on what business logic you're trying to implement, so we could try to find a possible alternative for you?

 

Kind regards,

Mira

Hi Mira,

 

We have a similar case although not so much time, "just" 5 days.

Will the wait timer element not work for a period like this?

Also the expectation is to have several hundred cases that will be simultaneously be in this "wait" mode.

 

Thanks,

Luis

Luis Tinoco Azevedo,

 

I'm sorry for the confusion, we have double-checked this functionality with our R&D team and they confirmed, that Wait Timer will work correctly even with such a big value specified. Please feel free to try it out and in case you do face any issues, make sure to register a case for our support team.

 

Kind regards,

Mira

Show all comments

Hello community,

 

I am trying to implement a service for portal and system users using the documentation in https://academy.creatio.com/docs/8-0/developer/application_components/portal/self_service_portal/overview

 

The service has the following code:

using Terrasoft.Web.Common;
using Terrasoft.Web.Common.ServiceRouting;
 
[ServiceContract]
[DefaultServiceRoute]
[SspServiceRoute]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class Service1 : BaseService
{ 
       //Code
}

For system users the service works fine but when I try to access the service from postman authenticated as a portal user I get the following message : "IS 10.0 Detailed Error - 403.0 - Access to non-SSP API is denied for portal users" with 403 status code. Is something that I am missing in the service implementation or in web.config?

Like 0

Like

2 comments

Hello!

 

Ensure that you add the /ssp prefix to the route when making a request as a portal user.

A feature called "EnableCustomPrefixRouteApi" enables web services custom routing and restricts SSP user access services without the /ssp prefix.

In order to enable it you need to run the following script in the database:

 

INSERT INTO AdminUnitFeatureState (SysAdminUnitId,FeatureState,FeatureId)

VALUES ('720B771C-E7A7-4F31-9CFB-52CD21C3739F',1,'17ED5BE9-CA87-42A4-A761-3466DBABF925')

 

Another feature called "UsePortalDataService" divides services into the portal and non-portal ones. To enable it run the following script:

 

INSERT INTO AdminUnitFeatureState (id, SysAdminUnitId, FeatureState, FeatureId)

VALUES (newid(), '720B771C-E7A7-4F31-9CFB-52CD21C3739F', 1, '45D7102E-42D5-4E61-ADF8-77F00CD2F3E8')

 

So make sure you are using the /ssp prefix and both features are active in the system.

 

Best regards,

Max.

We also suggest replacing 

[DefaultServiceRoute]
[SspServiceRoute]

with

 

[DefaultServiceRoute, SspServiceRoute]

 

Best regards,

Max.

Show all comments

I need to allow only some authorized users to add new email accounts.

I didn't find any feature or operation permission that could allow mailbox creation only to certain users or groups. I only found something regarding managing shared mailboxes.

How can it be done?

Thanks

Like 0

Like

3 comments

Hello Massimiliano,

 

Ability to add mailboxes to the system can be limited through the "System Designer" -> "Object permissions" -> "Mailbox synchronization settings".

This way you can temporarily or permanently limit the ability to add mailboxes to the system for a specific user or role. 



Also, if you are using one of the latest versions of a system you can do the following:

1) Add all the mailboxes under one system user, for example under Supervisor.

2) Supervisor user can perform all the needed settings for the mailboxes, for example from which folder exactly emails should be synchronized.  

3) After that Supervisor user will set up the access rights for the mailbox ("Allow Shared access" setting in the mailboxes settings). 



This way user will be able to work with emails, but will not be able to apply changes to it's settings themselves.

 

Best regards,

Anastasiia

Anastasiia Zhuravel,

I tried giving object permissions only to system administrators but my test user is still able to add a mailbox: the UI reports a javascript error and the mailbox creation doesn't complete (see image below), but it's not what I expected.

 

Is there something I'm missing or that object permission doesn't work as expected?

Thanks

Hello Massimiliano,

 

This is the correct behaviour. There will be no notification about missing access rights, only the loading screen, but the user will not be able to add the mailbox. There is already a request created for our R&D team to add a meaningful notification for users, it will be implemented in future releases. I have assigned your request to the project in order to increase its priority. As for now, the solution described by Anastasiia is the only option.

 

Best regards,

Anastasiia

Show all comments
Question

Hi community,

I changed the image of a custom resource in the CasePage client schema.

When I install the package, the image does not change.

I see that the image is stored in the "SysLocalizableValue" table.

What is the best way to add the new version for the resource image into the package?

Like 0

Like

2 comments

Hi Stefano,

 

You can create a data binding for the SysLocalizableValue object and add all the records regarding the image to this data and it will be transferred when the package is moved between the environments.

 

Best regards,

Oscar

Oscar Dylan,

thank you Oscar

a data binding for the SysLocalizableValue object require the databinding for a lot of object:

- SysSchema

- SysPackage

- SysWorklplace

I choose to create an update script for the SysLocalizableValue.ImageData column

Show all comments

Hello Creatio Community!

I want to change the text that appears in this pop-up, "Detail Product Terms is not filled". This pop-up appears when i click save and one of the product terms is not filled.

I have also seen in the SysTranslation table and i havent found it.

Like 0

Like

3 comments

Hello Petrika,

 

Unfortunately, It is not possible to change the text in the error message. The problem here is that the schema that defines it is very hardcoded in the application core. It is not possible to replace and modify it. 



Best regards,

Bogdan

Thank you Bogdan ! Best regards

Petrika,

 

Assuming the field is a text field, you can try the following custom approach in client page schema.

 

1. Make the field not required in the section wizard.

2. In the client page schema, add the following code in the methods:

methods: {
	// Redefining the base method initiating custom validators.
	setValidationConfig: function() {
		this.callParent(arguments);
		this.addColumnValidator("UsrProductTerms", this.ProductTermsValidator);
	},
	ProductTermsValidator: function(){
		var invalidMessage ="";
		var ProductTerms = this.get("UsrProductTerms");
		if(ProductTerms.length != 0){
			invalidMessage ="";
		}else{
			invalidMessage = "Product Term is required in order to proceed"; //Put your custom message
		}
		return {
			invalidMessage : invalidMessage
		};
	},
},

Now you can see your custom validation message. Similar approach can also be used for fields of type Lookup, Date, Integer etc.

 

Regards,

Sourav Kumar Samal

Show all comments