Luminis crash because of Layout resetter

Hi,

One of our admins wanted to cleanup "usertemplate" user and ran Layout resetter on this user. Now no one can login to the system.

I am attaching cp.log output for your review. This is kind of a dire situation, so please help.
Thanks

0
No votes yet

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Fixup

First, find out the user ID of this user (in our case, we got the value 10):

select * from up_user u
where u.user_name='usertemplate';


Next, insert the layout components back for this user (make sure you substitute 10 with whatever user ID you got from the query above):

insert into UP_LAYOUT_STRUCT (USER_ID, LAYOUT_ID, STRUCT_ID, NEXT_STRUCT_ID, CHLD_STRUCT_ID, EXTERNAL_ID, CHAN_ID, NAME, TYPE, HIDDEN, IMMUTABLE, UNREMOVABLE)
values (10, 1, 1, 5, 2, null, null, 'Header folder', 'header', 'N', 'Y', 'Y');
insert into UP_LAYOUT_STRUCT (USER_ID, LAYOUT_ID, STRUCT_ID, NEXT_STRUCT_ID, CHLD_STRUCT_ID, EXTERNAL_ID, CHAN_ID, NAME, TYPE, HIDDEN, IMMUTABLE, UNREMOVABLE)
values (10, 1, 2, 3, 0, null, 10, null, null, 'N', 'N', 'N');
insert into UP_LAYOUT_STRUCT (USER_ID, LAYOUT_ID, STRUCT_ID, NEXT_STRUCT_ID, CHLD_STRUCT_ID, EXTERNAL_ID, CHAN_ID, NAME, TYPE, HIDDEN, IMMUTABLE, UNREMOVABLE)
values (10, 1, 3, 4, 0, null, 203, null, null, 'N', 'N', 'N');
insert into UP_LAYOUT_STRUCT (USER_ID, LAYOUT_ID, STRUCT_ID, NEXT_STRUCT_ID, CHLD_STRUCT_ID, EXTERNAL_ID, CHAN_ID, NAME, TYPE, HIDDEN, IMMUTABLE, UNREMOVABLE)
values (10, 1, 4, 0, 0, null, 99, null, null, 'N', 'N', 'N');
insert into UP_LAYOUT_STRUCT (USER_ID, LAYOUT_ID, STRUCT_ID, NEXT_STRUCT_ID, CHLD_STRUCT_ID, EXTERNAL_ID, CHAN_ID, NAME, TYPE, HIDDEN, IMMUTABLE, UNREMOVABLE)
values (10, 1, 5, 12, 6, null, null, 'User Preferences', 'regular', 'Y', 'Y', 'Y');
insert into UP_LAYOUT_STRUCT (USER_ID, LAYOUT_ID, STRUCT_ID, NEXT_STRUCT_ID, CHLD_STRUCT_ID, EXTERNAL_ID, CHAN_ID, NAME, TYPE, HIDDEN, IMMUTABLE, UNREMOVABLE)
values (10, 1, 6, 7, 0, null, 1, null, null, 'N', 'N', 'N');
insert into UP_LAYOUT_STRUCT (USER_ID, LAYOUT_ID, STRUCT_ID, NEXT_STRUCT_ID, CHLD_STRUCT_ID, EXTERNAL_ID, CHAN_ID, NAME, TYPE, HIDDEN, IMMUTABLE, UNREMOVABLE)
values (10, 1, 7, 0, 0, null, 92, null, null, 'N', 'N', 'N');
insert into UP_LAYOUT_STRUCT (USER_ID, LAYOUT_ID, STRUCT_ID, NEXT_STRUCT_ID, CHLD_STRUCT_ID, EXTERNAL_ID, CHAN_ID, NAME, TYPE, HIDDEN, IMMUTABLE, UNREMOVABLE)
values (10, 1, 12, 0, 13, null, null, 'Footer folder', 'footer', 'N', 'N', 'N');
insert into UP_LAYOUT_STRUCT (USER_ID, LAYOUT_ID, STRUCT_ID, NEXT_STRUCT_ID, CHLD_STRUCT_ID, EXTERNAL_ID, CHAN_ID, NAME, TYPE, HIDDEN, IMMUTABLE, UNREMOVABLE)
values (10, 1, 13, 0, 0, null, 19, null, null, 'N', 'N', 'N');
commit;

I think that should be all you need... however, you may want to check and make sure that there is still row in each of these tables for that user:

  • up_user_profile
  • up_user_layout

A few more things

Sorry, I forgot a few of things:

1. If the up_user record is not in place for this user, you can insert it (first making sure that the USER_ID is not in this table for another record):

insert into UP_USER (USER_ID, USER_NAME, USER_DFLT_USR_ID, USER_DFLT_LAY_ID, NEXT_STRUCT_ID, LST_CHAN_UPDT_DT)
values (10, 'usertemplate', 1, 1, 16, null);
commit;

2. The value for next_struct_id in up_user table for this user may vary by installation; in ours it is 16, hopefully this will work for you.

3. You will notice some channel ID's in the first SQL that I gave you. Again, I'm assuming and hoping that the default channels (header,footer, etc) all get assigned the same ID's when they are installed. If not, the SQL won't work for you as it should, it would have the wrong channel IDs.

Still Doesnt work

Todd

Is there a list of tables that need to be populated? Our sys admin ran through the sql you recommended and it still didnt seem to fix the problem.

Thanks!!!

Todd,

You are a life saver. I am looking into this now.

Thx
Kiran

...more tables to add records back to...

insert into up_user_profile values(10,1,'Netscape','Netscape',1,1,1);
insert into up_user_layout values(1,10,'Netscape',1);
insert into up_layout_struct values(10,1,1,0,0,Null,Null,'Root folder','root',Null,'N','Y');
commit;

A defect has been opened at Luminis Support to resolve this issue. Thanks for your help Todd.