Installation and deployment Questions on installation, system configuration and deployment to the live server.
Version 4.x > Installation and deployment > Moving security permissions from development to production? View modes: 
User avatar
Member
Member
bluerhino_avanmeter - 4/21/2009 5:59:53 PM
   
Moving security permissions from development to production?
There does not seem to be a decent way to make permission changes on a development / staging server and then export those changes to a production environment.

After numerous experiments with the site Export / Import functionality and digging through the export xml files, I've found that ACL changes are successfully exported, but they do not seem to be imported on the production site.

For example, I have a document with node id 397 on the development server. If I go in and change a role (in this case, RoleID == 90) from deny to approve on Read and then export the site, I can open up the exported zip file and go to Data/Documents/cms_acl.xml.export, view the file and see that the ACL change was exported:

<cms_aclitem>
<ACLItemID>992</ACLItemID>
<ACLID>19</ACLID>
<RoleID>90</RoleID>
<Allowed>0</Allowed>
<Denied>1</Denied>
<LastModified>2009-04-21T16:49:25.027-04:00</LastModified>
<LastModifiedByUserID>66</LastModifiedByUserID>
</cms_aclitem>


Digging back through the file, I can see that ACLID 19 is owned by node 397:

<cms_acl>
<ACLID>19</ACLID>
<ACLInheritedACLs></ACLInheritedACLs>
<ACLOwnerNodeID>397</ACLOwnerNodeID>
<ACLGUID>5959173c-2c06-4ea2-8159-919b838b6584</ACLGUID>
<ACLLastModified>2009-04-17T18:08:14.02-04:00</ACLLastModified>
</cms_acl>


Everything looks correct, so far. However, when I run the Import on production, ACLItemID 992 is not inserted into the cms_aclitem table! We had to backup and restore the entire database in order to make ~50 permission changes.

Going farther, I implemented content staging to see if the security permissions could be synchronized to the production server. However, it doesn't look like permissions are synchronizable? Changing a permission does not generate a synchronization task. Saving and republishing the page the permission change was made on does generate a synchronization task, but running the task does not push permission changes to the production server.

Is there no way to push permission changes from development to production short of restoring the entire database to production?

User avatar
Kentico Support
Kentico Support
kentico_jurajo - 4/24/2009 4:58:00 AM
   
RE:Moving security permissions from development to production?
Hi,

I already sent you an e-mail but I will post it also here.

Using the import only new documents are created, existing documents are not updated. that is the limitation of the export/import module.

Regarding content staging - this behavior is by design and it was also in the previous versions. Anyway, it would be nice to change the behavior to be as described in previous post. So I hope that it will be changed in one of the next versions.

Best Regards,
Juraj Ondrus

User avatar
Member
Member
Peter - 10/12/2009 9:31:30 PM
   
RE:Moving security permissions from development to production?
Hi Juraj,

could you please post a solution to the problem with content staging of security permissions? We are having the same problem that we set security permissions on a document on the staging server and when we synchronize it with the production, it does not synchronize the security.

Thanks,
Peter

User avatar
Kentico Support
Kentico Support
kentico_jurajo - 10/13/2009 6:12:26 AM
   
RE:Moving security permissions from development to production?
Hi,

The security settings/permissions are not synchronized in current version (4.1). It is planned to be added in one of the next versions. At this moment you need to set the permissions manually on the live server.

Best Regards,
Juraj Ondrus