Topic
  • 1 reply
  • Latest Post - ‏2019-02-01T00:48:27Z by llandale
DOORSguy
DOORSguy
3 Posts

Pinned topic No User Session = No User History Records?

‏2018-09-11T16:23:11Z | history session user

Is it true that, if a module has no Session History record for a particular user, then there can be no (regular) History records created by that user?

Creation of a Session History record happens when a module is opened in Shareable or Exclusive Edit mode. Is there any way a history record can be created while in Read Only mode?

The reason for my question:

I have a user, let's say, Joe Schmo, that was assigned an account, schmoj, a few years ago. I have been transitioning usernames in my database to be a bit more people-friendly, and, if I was creating this account today it would be Schmo,Joe.

Background:

In case you are not aware, in DOORS 9.x or earlier, if you ever change a username there is a strong likelihood that all of the history records that they generated will be thrown behind the curtain of "Read Locked Data", meaning they will only be readable to someone logged in with the Administrator account. I say "strong likelihood" because I'm not 100% certain, but I've seen it happen and read some background on the behavior. My understanding is that, when a username is changed, the system loses all track of what permissions applied to the history records generated under the old username. The result is (some might call this a fail-safe feature), all of the old username's history records turn to "Read Locked Data", except for the Administrator account, which ignores all permissions. My understanding is that this is fundamental to the pre-Next-Gen DOORS database structure, so it's never been eligible for a "fix".  If this has changed please reply to let us all know.

When I decided to transition usernames, I searched through my login history for usernames that had never logged in, which, for sure, meant that they could never have generated any history. I could update those names, zero risk. (In my DBs, usernames are pre-populated in the login box based on the System username recorded in the user's "profile.")  I now have a user that logged in just twice, three years ago, but they are about to become a very active, history-generating user.

I cobbled together a dxl script that reads all of the Session History records in all of the modules in a project and reports if a particular username is found. I ran it in all of my projects, and this user was not found anywhere in my database.  Does that guarantee that they could not have generated any history? I'm pretty sure, "yes", but I thought I'd float the question to the Community.

 

Thanks,

Bill Adelman

  • llandale
    llandale
    254 Posts

    Re: No User Session = No User History Records?

    ‏2019-02-01T00:48:27Z  

    The database has the loginhistory file, logging all logins.  That should be good enough.
    No, you cannot generate History without Edit or Shared session.  (However, see below)
    The "username" of a History records the name, not the UserID.  If you rename a user, say "X" to "Y", all that old History is read-locked because you don't have access to user "X" which no longer exists.  Be advised if you create a new user X, then viola you can see the History.  But as you notice for the wrong user.

    If you dump your user directory listing and save that file, you can find out the system user name associated with a user name at a particular point in time; in case you wanted to verify who really is doing what.

    I wonder though what happens in the following sequence:
    Login as admin "A1"
    edit the module
    rename my user from "A1" to "U1"
    make a change, and save module close module
    Rename self back to "A1"

    Read the module, and check the user name of that History record.  Is it "A1" or "U1"?
    No other weird sequence comes to mind.
    -Louie