OSEE was not designed for users to be deleted.

Whilst it is possible to delete the User attribute when you are looking
at it in the Everyone group, this will not yield the behaviour you
expect.

To remove a user, the intended mechanism is to make them "Inactive".

This is beneficial, as the history of what the user did before they were
made inactive is maintained. It is also the way the designers intended
users to be removed.



  - Open the Common branch
  - Go to "User Groups" and double-click "Everyone"
  - Go to the "Users" relationship and click on the + by "User" to open
    the tree up
  - Double-click on the user you want to remove
  - Un-tick the "Active" box