Forum OpenACS Q&A: Re: Combining user accounts

Collapse
Posted by Richard Hamilton on
OK, here we go - first sweep through on a basic install with just the photo album, ecommerce module and payment gateways installed.

I am assuming that the key values user_id, person_id, object_id and party_id are the same numeric key and therefore relatable between tables.

I created a user whose user_id was 4740, then deleted him as a member of the acs then after deleting him I searched for all references to this key in the acs. Results as follows :

Appears as party_id in:

  • parties
  • party_approved_member_map
  • party_element_map
  • party_member_map
  • party_names

Appears as person_id in:
  • persons

Appears as user_id in:
  • users
  • user_portraits
  • user_preferences
  • cc_users

Appears as object_id in:
  • acs_objects
  • acs_object_context
  • acs_object_context_index
  • acs_object_grantee_priv_map
  • acs_object_party_privilege_map
  • acs_object_paths
  • acs_permissions
  • acs_permissions_all
  • acs_rels
  • all_object_party_privilege_map

I think that this list takes care of most of it except where an object (user) is the parent of content in the content repository. I think that someone really familiar with the content repository data model would be needed to create the required queries to remove content. Presumably requires a self join to work down the hierarchy. Maybe each package owner could create a query to drop all content by object_id which someone else could then collate into a global drop script.
Richard