как создать новый ACL в Documentum с помощью DQL

Я делаю проект Java, связанный с хранилищем данных Documentum, и мне нужно создать ACL с использованием DQL. Любая идея о том, как я могу это сделать? Я нашел следующее в своих исследованиях на форумах EMC, но я действительно не понимаю, как его использовать?

create,c,dm_acl  
set,c,l,object_name  
your_acl_name  
set,c,l,owner_name  
dm_dbo  
grant,c,l,dm_world,1      // Granting Permission  
revoke,c,l,dm_world,execute_proc,change_permit  // Revoking permission  
grant,c,l,your_admin,7,execute_proc,change_permit  // granting permission with extended permissions  
save,c,l 

person Danial Kosarifa    schedule 14.09.2016    source источник


Ответы (2)


Вы можете создать объект dm_acl с помощью DQL следующим образом:

СОЗДАЙТЕ НАБОР ОБЪЕКТОВ dm_acl object_name='your_acl_name', SET owner_name='dm_dbo'

но вы не сможете предоставлять, отзывать разрешения с помощью DQL.

Если вы подключены к Content Server из Java и можете выполнять DQL-запросы, почему бы вам просто не использовать DFC API для создания ACL? Я думаю, у вас есть доступ к IDfSession?

E.g.

IDfACL acl = (IDfACL)session.newObject("dm_acl");
acl.setObjectName(name);
acl.setDescription(description);
acl.save();

И тогда вы можете легко предоставить, отозвать:

IDfPermit permit = new DfPermit();

permit.setAccessorName("some group");
permit.setPermitType(IDfPermit.DF_ACCESS_PERMIT);
permit.setPermitValue(IDfACL.DF_PERMIT_READ_STR);
acl.grantPermit(permit);
acl.save();
person KarolBe    schedule 14.09.2016

То, что вы написали, это набор команд API для создания ACL. Вам нужно что-то вроде

IDfACL acl = (IDfACL)getSession().newObject("dm_acl");
acl.grant("<user_or_group_name>", IDfACL.DF_PERMIT_WRITE, IDfACL.DF_XPERMIT_CHANGE_LOCATION_STR)
... // you can countinue to add permissions here
person Miki    schedule 14.09.2016