Topic
3 replies Latest Post - ‏2013-11-12T19:38:21Z by llandale
DebbieShannon
DebbieShannon
2 Posts
ACCEPTED ANSWER

Pinned topic Recovering CPS

‏2013-11-05T00:22:14Z |

We lost our DOORS server hardware (long story) and restored our DOORS data onto a different system from a .dpa. Our old CPS data is intact but I can't authorize any users as CP Managers now. I believe this is because the User IDs in the CP modules don't match our new User IDs. We did not have a .dua. 

If you're curious, a symptom of the problem is that when, as Administrator, I configure the CP to add a CP User it looks like the user was added because I don't receive an error message.  But, when I re-open the CP Users list, the list is blank.

While I'm hesitant to fiddle with the CPS data, I'm hoping that a few minor adjustments could fix this and I'd try it on a test system. One possible solution would be to change the User IDs in the CPS modules to match the new User IDs but I don't know how to find the new User IDs.

Does anyone have experience with this problem?  Or, does someone know of a way to find the new User IDs?

Thank you.

  • llandale
    llandale
    635 Posts
    ACCEPTED ANSWER

    Re: Recovering CPS

    ‏2013-11-05T21:06:27Z  in response to DebbieShannon

    Yes.  The "Administrator" cannot (..err.. disallowed) configure CPS (since it's user account is not accessible to DB Managers).  You need to tweak the CPS to define a new "CPS Manager".  Lets suppose that will be you.  Login and run the following.

    User uCurr = find()
    string Name = uCurr.name
    string ID = uCurr.identifier
    print Name "\t" ID "\n"

    The ID will look like this: [00000000000002c1]

    Now open the CPS folder and edit the Users module.  You should see some Headings that look like the ID.  The 1st one's role should be "CP Manager".  Change the Object Heading to your printed ID.  Save and close.  You should now be able to "Configure CPS" for that project; adding other Managers and Users.  Modules and Attributes and Groups should already be setup OK.

    Note that existing active CPs will have no real Author and folks won't be able to edit "their" old CPs.  They can still be adjusted and appied by the managers.  Matching them up is a daughnting task, you'll need to modify ALL the CPS module Object Headings once you figure out which is which.  If you want a headache ask and I can point you in that direction.

    -Louie

    Well, now you know to get a User archive as well.

    • DebbieShannon
      DebbieShannon
      2 Posts
      ACCEPTED ANSWER

      Re: Recovering CPS

      ‏2013-11-08T22:20:59Z  in response to llandale

      Louie,

      You are golden!  This worked great. 

      In case anyone refers to this in the future, I did need to open the module's Proposed module in full edit mode.  Otherwise, I got the error message "A failure occurred attempting to lock section '0000000000000002' within module '/xxx/Change Proposal System/YYY Proposed'.  I don't know why this is happening now but I can work with it.

      Also, my new User ID (0000000000000002) already existed in the Proposed modules.  I tried both (1) adding change proposals under that old 0000000000000002's section and (2) changing the ID for the old 0000000000000002 and creating a new section for the 0000000000000002.  Both approaches worked in my case.

      As for matching up the CPs with the old authors and reviewers, fortunately we don't need to do that.  So, I'll leave it to the next distraught user to ask that question.

      Thanks again, Louie.

      Debbie

      Updated on 2013-11-08T22:21:58Z at 2013-11-08T22:21:58Z by DebbieShannon
      • llandale
        llandale
        635 Posts
        ACCEPTED ANSWER

        Re: Recovering CPS

        ‏2013-11-12T19:38:21Z  in response to DebbieShannon

        Sorry about the inadequate advise, thanks for being the Guiney Pig and posting results.   lol

        Oops, restored modules have no shared sections and CPS relies heavily on them.  Also, "you" must have proper power and rights.

        You must have Edit User powers, such as do Database Managers.

        Change the Access rights of the CPS folder to be "Specific" (de-select "inherited") and make sure you have full RMCDA access and "Everyone else" has "R".

        Login and run the following.

        User uCurr = find()
        string Name = uCurr.name
        string ID = uCurr.identifier
        print Name "\t" ID "\n"

        The ID is exactly 16 digits and will look like this: [00000000000002c1]

        EDIT the Users module and search your ID.  If found, modify the "Role" to be "CPS Manager".  If not found, ADD an object to the top of the module, edit Object Heading and paste your ID, change "Role" to CPS Manager", and I suppose Email Updates to True.

        Delete all other objects (which represent other users) in the User's module.  I am quite but not perfectly confident this is adequate and you don't need to repeat that in all the Proposal modules.

        Change the Access rights of the "Groups" module such to not inherit, and Everyone else has full RMCDA access.

        Edit each and every Formal Module in the CPS folder; Users/Groups/Suggestions/All the various Proposal modules:

        • Change showing "All Levels" to just "Level 1".
        • Change the access of these objects (which look like user IDs) to no longer Inherit,  and provide "Everyone" full RMCDA access.
        • Save and close

        I'm thinking you are OK if you configure a new user that accidentally has the same ID as some old user.  If you get some odd Add User error then edit the user module, show deleted objects, and purge the one with the same ID as the one you are adding.  Or just go ahead and purge all the deleted objects.

        Spot check individual CPs in the Proposal Modules, that they are linked to the proper Requirement object.

        Spot check you can create a CP from a configured requirement module.

        Spot check you can adjust the status of a CP.

        -Louie

        Also "Oops", if IBM asks about it then deny deny deny; you would never ever ever violate your service agreement.