InvalidParameterException Part 3 - Problem with User Administration

Come into my elgglaxy ;-)

From:- Bill Sawyer

````````````````````````````````````````````````````````````````````````````

@Dhrup ...
and for documentation purposes,
here are the tables and the column within those tables
that I looked at to find orphaned objects.

Table                              Column        
elgg_access_collections            owner_guid
elgg_access_collections_membership user_guid
elgg_annotations                   owner_guid
elgg_entities                      owner_guid
elgg_entity_relationships          guid_one and
guid_two
elgg_metadata                      owner_guid
elgg_river                         subject_guid and
object_guid (possibly)
elgg_system_log                    owner_guid
elgg_users_apisessions             user_guid
elgg_users_entity                  guid

`````````````````````````````````````````````

I hope this helps with the possible cleaning script.
I checked all those tables for data related to the users I deleted.
I found nothing in them, but I still have missing data. 
And, I still have 208 vs. 211 users (as documented above).

    `````````````````````````````````````````````

    • In 1.7, is the data going to be stored in MySQL?

    • @ Bill, no in 1.7 data will still be in folders. According to Elgg News, data will be on owner_guid defining the directory path instead of user name characters

    • The plan for v1.7+ is to still use matrix'ed folders but derive the matrix in a different manner. The code for formatting the matrix (from SVN) is this :-=

      	protected function user_file_matrix($guid) {
      // lookup the entity
      $user = get_entity($guid);
      if ($user->type != 'user'){
      // only to be used for user directories
      return FALSE;
      }
      if (!$user->time_created) {
      // fall back to deprecated method
      return $this->deprecated_file_matrix($user->username);
      }
      $time_created = date('Y/m/d', $user->time_created);
      return "$time_created/$user->guid/";
      }

      So the idea seems to be to use the user's elgg entity time_created value to generate a unique filestore matrix. The owner guid for matrix was considered initially, but progressed to the time_created style.

    • Thanks Tom. That makes a little more sense. If nothing else, it will flatten the directory structure.

    • @Dhrup: Thanks... just got it from news and never saw update... Wondering why the change... it is now like impossible to hand-dig the matrix without trying to find time_created first...

    • well...
      true that the news mentioned the guid#.. some topic posts somewhere - were discussions on this to fix the matrix problem caused by "illegal" chars in username (non-roman/ cyrillc, etc).

      it was gonna be guid# 123456 -->
      matrix 1/2/3/4/5/12345/...

      then for whatever the rationale was ==>
      became -->
      date('Y/m/d', $user->time_created) / guid

      e.g.
      2010/1/15/123456/...

      with my prior interest in this (we still run v1.5 on prod site) i had followed discussions re: v1.7 code-fix, somewhat 'bugged" brett about this.. he had sent me link to svn code for filestore.php -- http://code.elgg.org/elgg/trunk/engine/lib/filestore.php

      ;-)

    • @Bill:

      Where are the files stored ?
      e.g.
      /var/www/vhosts/xxxxx.com/httpdata/D/h/r/u/p/Dhrup2000A

      >cd Dhrup2000A;ll
      .        custombackground
      .        custombackground.jpg
      .        custombackground_thumb
      .        groups
      .        profile