Hi all,

 

We just tried installing our package on our pre-prod environment to test and unfortunately have met an error :

 

2020-10-23 10:24:19,373 System.UnauthorizedAccessException: Access to the path '_MetaInfo.json' is denied.

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)

at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)

at Terrasoft.Common.IO.FileWrapper.Create(String path)

at Terrasoft.Core.ContentGeneration.ConfigurationMetaInfoFileWriter.Write(ConfigurationMetaInfo configurationMetaInfo, String configurationMetaInfoFilePath)

at Terrasoft.Core.Packages.ConfigurationAssemblyFileStorageTransaction.UpdateConfigurationVersion(Int32 version)

at Terrasoft.Core.Packages.ConfigurationAssemblyFileStorageTransaction.Commit()

at Terrasoft.Core.Packages.WorkspaceBuilder.BuildInternalNetStandard(Boolean force, BuildResultType& buildResultType)

at Terrasoft.Core.Packages.WorkspaceBuilder.Build()

at Terrasoft.Core.AppInstallation.Packages.Operations.SystemPackageOperations.Save(IEnumerable`1 packages, PackageInstallOptions options)

at Terrasoft.Core.AppInstallation.Packages.SystemPackageManager.Save(PackageInstallOptions installOptions)

at Terrasoft.Core.AppInstallation.Packages.AppInstaller.Install(String sourcePath, String destinationPath, PackageInstallOptions installOptions, IInstalledAppInfo installedAppInfo)

at Terrasoft.Core.ServiceModelContract.PackageInstaller.AppInstallerServiceInternal.<>c__DisplayClass9_0.b__0()

at Terrasoft.Core.ServiceModelContract.PackageInstaller.BaseInstallerServiceInternal.InvokeWithLogging[TResult](Func`1 action)

 

Compilation works without errors though.

 

Any ideas how to solve this ? We are on an on-prem version.

 

Thanks and lovely day !

Like 0

Like

2 comments

Dear Amandine,

 

Usually, this error means that IIS user does not have access to all paths Creatio needs to compile the application. Try to provide full access to IIS user and check if it helps by performing full compilation. 

 

Best regards,

Angela

Angela Reyes,

Hi Angela, it was indeed a permission issue, got solved the same day :) Thanks for answering !

Show all comments

Hi Community!

 

as there is no out-of-the-box way of deploying permissions from one system to another, I'm currently trying to achieve this via SQL.

 

I'm able to add a static SQL script to the package and it will be executed fine on the target system. My problem is that the content of the SQL script is not static. I have to execute an SQL script in the source system to get all the information about the current permission setup and then use these results to build the update/insert statements for the target system.

 

Did anyone try to accompish this before?

 

Thanks for any hints!

Like 0

Like

5 comments

Dear Robert,

 

Organization Roles can be transferred only by SQL scripts. Functional roles are transferred by binding data of the System administration object. The rights to existing records should be transferred via scripts as well. To distribute rights to new records you can either set up a business process or configure object permission directly on the production environment.

 

Best regards,

Angela

Angela Reyes writes:

Dear Robert,

Organization Roles can be transferred only by SQL scripts. Functional roles are transferred by binding data of the System administration object. The rights to existing records should be transferred via scripts as well. To distribute rights to new records you can either set up a business process or configure object permission directly on the production environment.

Best regards,

Angela

Thanks Angela!

 

But the question is how can I transfer the definition of the permissions, without rewriting the SQL script over and over again?

Is the following procedure the only way?

  1. Select the current permissions manually with SQL

    the tables are:

    1. SysEntitySchemaOperationRight for object permissions
    2. SysEntitySchemaRecordDefRight for record permissions
    3. SysEntitySchemaColumnRight for column permissions
  2. transform the result to and insert/update statement
  3. save those scripts in the package SQL section
  4. export/import package

And do I have to/am I allowed to truncate those 3 tables first?

Is there a stored procedure that applies the new permissions on the target systems' records?

 

Thanks a lot and best regards

Robert Pordes,

Your description is almost correct. Please see all steps:

1. Create scrip for update/ insert records from SysAdminUnit table to use these records in the next steps

2. Select the current permissions manually from SQL the tables:

2.1 SysEntitySchemaOperationRight for object permissions

2.2 SysEntitySchemaRecordDefRight for record permissions

2.3 SysEntitySchemaColumnRight for column permissions

2.4 Also there are tables like Sys{ObjectName}Right (e.g. SysAccountRight) in which record rights are stored, so you should create script for each object. 

3. Transform the result to and insert/update statement

4. save those scripts in the package SQL section

5. export/import package

 

Best regards,

Angela

Hi Angela,

thanks, but aren't the tables Sys{ObjectName}Right storing the applied rights (they will be populated by clicking "update record permissions", correct?). If I create scripts on eg DEV system, the data will not be the same! I mean we will definitely have different eg. account and contact records on dev/test/prod system.

That's exactly why I asked this in my previous post: 

Is there a stored procedure that applies the new permissions on the target systems' records?

 

Thanks,

Robert

Robert Pordes,

There is no stored procedure. This is why I suggested workarounds like

binding data and business processes.

 

Best regards,

Angela

Show all comments

Hello

 

I want to create a lookup same like the Opportunity Client lookup from the opportunity section. A lookup from which I can choose either Contact or Account.

 

How this can be done in other custom section ?

Like 0

Like

4 comments

Hi Oren, 

 

The logic is controlled by a multilookup field in the out of the box code. The part of the code responsible for it is located in the OpportunityPageV2 schema. I would suggest looking at it and copying it for your business case:



 

 

Thanks philip

 

Are you sure this text exists in the OpportunityPageV2 schema ?

I checked on all OpportunityPageV2 schemas and on several sites, just to make sure. It's not there.

 

Maybe it is under a diferent schema name ?

Hi Oren, 

 

You can check out the BaseOpportunityPage in the opportunities package. I found another reference of it there at line 105

Let me know if this helped!

Thanks Philip

 

I will try to figure it up from this point.

Show all comments

Hello,

 

I’m trying install add-on from marketplace on Sales (Team) 7.16 Trial version but installation ends with error (log file in attachment).

 

This error results that i can't add Quotes to section Sales (no association after choose section and click Select button).

Is there any newest version of this package ? Or there is some additional step to fix this error ?

 

Regards,

 Marcin Kott

File attachments
Like 0

Like

1 comments

Hello Marcin, 

 

Could you please try to install the add-on once again?

 

In case the installation fails with the same error message ('Insufficient memory to continue the execution of the program') we kindly ask you to contact Creatio technical support team (support@creatio.com) for further assistance on this matter. Please, do not forget to specify the URL of your trial instance in the request. 

 

Thank you in advance!

Olga. 

Show all comments

Good morning,

 

Somebody knows how can I remove and active activity integration account to replace with a new one.

 

We cannot use more than one account, the current one, at least on Activities have no an option to remove,

 

Thanks in advance

Like 0

Like

1 comments

Dear Julio,

 

Go to Profile settings -> accounts in external sources. There you will see a list of all accounts that are used for synchronisation. 

 

Best regards,

Angela

Show all comments

Hi all,

 

We have into system a mailbox already created and working (ie mymail@mydomain.com) , but associated to our own mail server (internal).

Right now, we move same mailbox to Office 365.

 

Is possible to change the provider's mailbox into Creatio without delete and create again the same mailbox into system?

 

In case that only option wil be recreate mailbox, what happen with old emails linked to previous configuration, we lost it when delete/create mailbox again?

 

thanks!!

 

 

Like 0

Like

1 comments

    Hi Ernesto, 



    You have two options here.



    The first one is to disable the synchronization of the mailbox by switching off the trigger "Download email to Creatio" leaving this mailbox in the system. 



Then, you can add your new mailbox in the system. It will be the soft transition that allows you to keep all the information on its place.

 

    As for the second option, you can delete the old mailbox from the system and it will delete EmailMessageData only (you won't have your mails stored in the CTI panel on the right.

    Emails are stored in the system as activities. The deletion of the mailbox will not delete activities.



    Though, we recommend you use the first option.



    Thank you.



 

Show all comments

Is it possible to have the sort setting and columns for the Lookup pop-up view to be deployed to another environment using Data bind or other method?

 

An example here is I added a new column in the list and it should be sorted by Full Name. When I deploy my changes to another environment, I want this to be included in the change.

Like 0

Like

1 comments

Hello Rozelle,

 

Please perform following steps:

 

1) Open developer console in your web browser (network tab)

2) Change the sorting order in this lookup

3) Catch "UserProfile" request that is sent when sorting is changed and you need to find the "key" value there (in the request payload)

 

4) Go to the database and execute

 

select * from SysProfileData where [Key] like '%key_from_step_3%'

 

double-check query result using ModifiedOn column

 

You will find a needed record about system user profile settings in such a way (exactly about sorting of the column). And the only thing left is to bind SysProfileData table data to your package.

 

Best regards,

Oscar

Show all comments

Hello,

I'm getting problems with the meeting data, because the process to get Activity participants in the Zoom Meeting associates the participants with a wrong contact, as you can see in the image on http://prntscr.com/rij3k8.

 

Please your help,

 

Thanks in advance

Like 0

Like

5 comments

Hello Julio,

 

please confirm that there are no emails in Zoom for the participants with the wrong contact.

Irina Lazorenko,

Irina, the problem is the activity participants have no email and what the process did is to found the first contact with no email and attach this contact to the participant.

 

I think the process must see if no mail on particpant, it must no associate no one contact to avoid confusions.

 

Thanks

Julio.Falcon_Nodos,

 

thank you for the issue clarification. I have submitted it to the responsible team and come back to you with the response.

Julio.Falcon_Nodos,

 

the responsible team requested to add the ZoomUserId column to the detail list on the screenshot. Please, send the screen with the ZoomUserId column on the Zoom Meeting Participant detail.

Irina Lazorenko,

Hello Irina,

 

I have no this column, see at http://prntscr.com/rmqmbw, also have those info regarding ID http://prntscr.com/rmqo3j, note in this activity I correct mannualy the participants

Show all comments

Hi,

I want to add a Multiselect lookup for a custom detail in a custom section. I have created a custom section with the name of Applications and added a custom detail with the name of Bank Details. In this detail, I have added a lookup called Bank Documents. In this lookup added 3 values. So, I need a Multi Select lookup for that lookup field. Can anyone please guide me on this?  

Like 0

Like

2 comments

If I am understanding what you're after, this article outlines how to do what you need: https://academy.creatio.com/documents/technic-sdk/7-15/adding-multiple-…

Ryan

Hello Nagamani,

 

Please use this Creatio Academy article to achieve your business task.

 

Best regards,

Oscar

Show all comments