1

After changing some user's user_name attribute with DFS Object web service consistency checker fails. It seems Documentum uses user_name as foreign key in other documents and renaming this attribute on dm_user doesn't change all foreign keys of this user.

Anyone knows how to correctly change user_name value and all its 'dependencies'? Is this even possible with DFS?

Oh, I am using .NET c#, so any solution have to be compatible with that.

Consistency checker report:

WARNING CC-0002: User 'FirstName LastName' is referenced in dm_group with id '1200400186008806' but does not have a valid dm_user object ....

It goes like this for about 50 users. after that comes:

WARNING CC-0007: ACL object with r_object_id '4500000160051328' has a non-existent user 'FirstName LastName' ...

and about 50000 more lines for ACL, sysobjects,...

tnx

EDIT: some clarifications

EDIT 2: added consistency checker report

dsolimano
  • 8,870
  • 3
  • 48
  • 63
grega g
  • 1,079
  • 1
  • 12
  • 25

4 Answers4

3

Dm_userrename job is the way to do it. Having the user_name as the foreign key was not a great design choice but we have to live with it.

Robin east
  • 31
  • 1
  • Thanky you. So how do I use it? First rename user (like I already have with DFS) and than run this job? Can I run jobs with DFS? – grega g Dec 11 '10 at 18:55
3

Ok, figured it out:

What you have to do is create new dm_job_request with following attributes:

            object_name = "UserRename",
            job_name = "dm_UserRename",
            method_name = "dm_UserRename",
            request_completed = false,
            priority = 0,
            arguments_keys = "OldUserName,NewUserName,report_only,unlock_locked_obj".Split(','), //stringarrayproperty
            arguments_values = "test,test123,F,T".Split(',') ////stringarrayproperty

After that you manually run dm_userrename job. I tried to set priority to 1 (that was supposed to be "run Now" option) but it didn't automatically start dm_userrename

Hope this helps someone.

grega g
  • 1,079
  • 1
  • 12
  • 25
1

I'm not quite sure what you mean buy renaming dm_user, but I expect that you're going to get a heap of problems, considering it's pretty fundamental to the whole platform.

Documentum is effectively an object-orientated database, so you should be able to create a sub-type of dm_user, call it what you like and it should behave in the same way.

Rikalous
  • 4,514
  • 1
  • 40
  • 52
  • I mean changing value of attribute user_name of certain dm_user. I want to change data of a few instances of dm_user, not scheme – grega g Dec 10 '10 at 10:06
  • OK, I see. If you change the user_name attribute then you will orphan the records that used it. You'll have to devise a mechanism to perform the change. I don't think there's a built in way. – Rikalous Dec 10 '10 at 10:20
  • So by hand for all orphaned objects? No other way? Someone mentioned DFC *might* have it, but didn't know anything else. – grega g Dec 10 '10 at 10:21
-1

You could use a DQL query to do the update, which you could issue through DFC. Something like

UPDATE dm_document set user_name='new name' where user_name='old name'
Rikalous
  • 4,514
  • 1
  • 40
  • 52