I'm trying to automate the creation of application-specific IDs for existing DACS IDs, but I can't get that to work from the Web Services API. Say I have an existing user "asmith", and I want to create "asmith#56" as a sub user for Eikon.
Initially, I'm not clear on whether this is done as an update (setDacsUserDefinition) to the user "asmith", or a creation (createDacsUserDefinition) of "asmith#56" - but I've tried both, and neither seem to do what I want.
Creating "asmith#56" with mIsMIPOn=0 makes a user in its own right named "asmith#56". With mReportedUser="asmith" and withmIsMIPOn=1, it errors out with "User name supplied is invalid".
On the other hand, updating "asmith" with mRenamedUsers=<a dacsUser object with mDacsUser=asmith#56> successfully updates any other changed attributes, but doesn't actually make a sub user.
Please help point me in the right direction. I think just knowing which approach to take will help massively, but a primer on when / how to use mRenamedUsers, mIsReportedUser and mIsMIPOn would save me a lot more trial and error.
As a disclaimer, I am a developer, rather then a dacs admin, so my understanding of what you are trying to achieve is not as complete...
I think you are looking to create new users via API?
Try not setting mName. Just mLogin. Something similar to:
_dud2 = client.factory.create('dacsUserDefinition') _dud2.mLogin = 'asmith#56' _res = client.service.createDacsUserDefinition(_dl, _ds, _dud2)
You should see those new users (asmith#56) reflected within you admin ui, and should not see "user name supplied is invalid" error on create.
In addition to that, I think you are looking to set properties on the current users to co-relate them to the new eikon users and making those new ones sub-users?
So something similar to this:
_dud.mIsReportedUser = False _dud.mIsMIPOn = True _dud.mReportedUser = 'asmith#56'
If within dacs ui the user definition does not have what you expect, you can always delete it and try a different property:
_du.mDacsUser = 'asmith#56' _res = client.service.deleteDacsUserDefinition(_dl, _ds, _du)
Let us know if this approach discussion was of help?