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.
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.
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?
Select the current permissions manually with SQL
the tables are:
SysEntitySchemaOperationRight for object permissions
SysEntitySchemaRecordDefRight for record permissions
SysEntitySchemaColumnRight for column permissions
transform the result to and insert/update statement
save those scripts in the package SQL section
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?
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
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?
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.
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:
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.
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?
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.
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.
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.
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.
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.
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.
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?