If it's not too much trouble, I'd recommend moving everything stored in the profile's 'extended' to the custom DB table. It will be a lot faster, and I think in the long run, easier.
yeah, you're absolutely correct with this I think! That's what I wanted to achieve last night...getting rid of those profile "extended" fields and only use the DB-table.
So I edited my resource which is responsible for showing the profile, from this:
#1
[[!mySession]]
[[!SetUserPlaceholders]]
[[!Profile? &user=`[[+user]]`]]
to that
#2
[[!mySession]]
[[!SetUserPlaceholders? &userId=`[[+user]]`]]
The mySession-snippets checks first for the correct userid like that:
$userId = $_GET['user'];
$myUserId = $userId ;
$profile = $modx->getObject('modUserProfile', array('internalKey' => $myUserId));
$modx->setPlaceholder('user', $myUserId);
by using this I'm getting the profile "extended"-fields by using #1, and by using #2 I'm getting the DB-table-values.
Furthermore within this mySession-snippet I'm checking for some of the extended values and create some placeholders if some of those extended values are not empty (that's what your reply #16 did help me yesterday to get those values out of the DB-table and not off the profile's "extended"-ones).
But by implementing this I think the updating-process did get faulty in the (in reply #17, EDIT 2) mentioned 100 charactes that now get stored only to the DB-table; I think before the DB-table stored all values, not regarding how many characters are involved.
So in my "view-user-profile"-resource I got back to a "mixed" version of calling the snippets like this:
[[!mySession]]
[[!SetUserPlaceholders? &userId=`[[+user]]`]]
[[!Profile? &user=`[[+user]]`]]
By using this I can see the whole profile "extended" values that got stored, not the "faulty" DB-tables values that are limited to 100 characters. So I somehow thought I need to stick to those profile "extended" values.
I suspect I'm getting something wrong and run a much too "try'n'error" version of this...
Once the extra fields are in the custom DB table, a utility snippet could move the values for you.
The DB-table "ext_user_data" is created, all the profile "extended"-fields are created within. And it stores the values, but with the mentioned error of only storing 100 characters...