Page 1 of 2

Extern Userdatabase

Posted: 15 Jun 2021, 05:34
by Shopmister
Hey,
TYPO3 Version 10.4.13
Webserver Apache
PHP Version 7.3.27-1~deb10u1
Database (Default) MySQL 5.5.5-10.3.27-MariaDB-0+deb10u1
Application Context Production
Operating System Linux 4.19.0-9-amd64
Last Scheduler run 24-05-21 at 15:36, Duration 0 min, (started automatically)
aimeos 21.4.2

I want to use the databasetables for fe_users and groups from extern. The Problems now:
- How its possible to configure the userfolder then? I have to configure the folder where the registerred Users where stored normally.
- And do you have an idea how to replace the Register during checkout with something like an link to the logininstallationpage. Okay, a link i would be can do for my self, i think. But exist a better idea for use the extern installation for login and register too?
Ps. Are something more complications on my way?


Thank you :)

Re: Extern Userdatabase

Posted: 16 Jun 2021, 08:58
by aimeos
Do you want to move the fe_users table into a separate database or use an external authentication mechanism?

Re: Extern Userdatabase

Posted: 16 Jun 2021, 12:36
by Shopmister
Do you want to move the fe_users table into a separate database or use an external authentication mechanism?
The second i tryed, but i think im not good anough and will use , first only fe_users and fe_groups in external database. In an own typo3installation with fe_managerextension to register, edit, and login users :).

I need to use later things from aimeos like: if user buyed product xy, he become group xy for frontendaccess for another site :)

Re: Extern Userdatabase

Posted: 18 Jun 2021, 05:45
by aimeos
Shopmister wrote: 16 Jun 2021, 12:36 The second i tryed, but i think im not good anough and will use , first only fe_users and fe_groups in external database. In an own typo3installation with fe_managerextension to register, edit, and login users :).
From the Aimeos point of view it's described here:
https://aimeos.org/docs/latest/infrastr ... -databases

For TYPO3 you have to adapt the TableMapping in LocalConfiguration.php:
https://aimeos.org/docs/latest/typo3/op ... #databases
Shopmister wrote: 16 Jun 2021, 12:36 I need to use later things from aimeos like: if user buyed product xy, he become group xy for frontendaccess for another site :)
The Email subscription processor is able to do that if you create a product with a (long) subscription period:
https://aimeos.org/docs/latest/cronjobs ... rocessors/

Re: Extern Userdatabase

Posted: 05 Jul 2021, 06:34
by Shopmister
I think i did it like you said for some days. But now it have this error if the file only exist the resource.php file in config folder:
Return value of Aimeos\MW\Config\Base::includeFile() must be of the type array, int returned
in /home/users/username/www/Typo3_10/Firsttest_july/typo3conf/ext/aimeos/Resources/Libraries/aimeos/aimeos-core/lib/mwlib/src/MW/Config/Base.php line 38

if( !isset( $this->includeCache[$file] ) ) {
$this->includeCache[$file] = include $file;
}

return $this->includeCache[$file];
}
}

at Aimeos\MW\Config\Base->includeFile('/home/users/username/www/Typo3_10/Firsttest_july/typo3conf/ext/ai_overwrite/Resources/Private/Extensions/ai_overwrite/config/resource.php')

And if i have this in:
<?php

'db-customer' => [
'adapter' => 'mysql',
'host' => '127.0.0.1',
'port' => '3306',
'database' => 'database',
'username' => 'database',
'password' => 'pw',
'stmt' => ["SET SESSION sort_buffer_size=2097144; SET NAMES 'utf8mb4'; SET SESSION sql_mode='ANSI'; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED"],
'limit' => 2,
'opt-persistent' => 0
],

I became tat error:
syntax error, unexpected '=>' (T_DOUBLE_ARROW)
in /home/users/username/www/Typo3_10/Firsttest_july/typo3conf/ext/ai_overwrite/Resources/Private/Extensions/ai_overwrite/config/resource.php line 3

<?php

'db-customer' => [
'adapter' => 'mysql',
'host' => '127.0.0.1',
'port' => '3306',
'database' => 'database',

at Aimeos\MW\Config\Base->includeFile('/home/users/username/www/Typo3_10/Firsttest_july/typo3conf/ext/ai_overwrite/Resources/Private/Extensions/ai_overwrite/config/resource.php')


Maybe this thing hang together with the other:
no overwrituingextension of the aimeos 2021 oeverwriting from your website overwrite templates anymore. But if i create in configfolder of overwrite the resource.php file:
Return value of Aimeos\MW\Config\Base::includeFile() must be of the type array, int returned in /home/users/username/www/Typo3_10/firsttestjuly2/typo3conf/ext/aimeos/Resources/Libraries/aimeos/aimeos-core/lib/mwlib/src/MW/Config/Base.php line 38 if( !isset( $this->includeCache[$file] ) ) { $this->includeCache[$file] = include $file; } return $this->includeCache[$file]; }}at Aimeos\MW\Config\Base->includeFile('/home/users/username/www/Typo3_10/firsttestjuly2/typo3conf/ext/shopoverwrite/Resources/Private/Extensions/shopoverwrite/config/resource.php')in /home/users/username/www/Typo3_10/firsttestjuly2/typo3conf/ext/aimeos/Resources/Libraries/aimeos/aimeos-core/lib/mwlib/src/MW/Config/PHPArray.php line 150 if( $entry->isDir() ) { $config[$key] = $this->load( $config[$key], $filepath ); } elseif( $entry->isFile() ) { $config[$key] = array_replace_recursive( $config[$key], $this->includeFile( $filepath ) ); } }   }                                                           

Re: Extern Userdatabase

Posted: 06 Jan 2022, 09:28
by Shopmister
Hey,
Whatts false on my code guys? From 15th July?

Re: Extern Userdatabase

Posted: 06 Jan 2022, 10:22
by aimeos
You've added invalid PHP syntax, it must be:

Code: Select all

<?php
return [
	'db-customer' => [
		'adapter' => 'mysql',
		'host' => '127.0.0.1',
		'port' => '3306',
		'database' => 'database',
	]
];
Most likely, you can't overwrite the resource definition in:
typo3conf/ext/ai_overwrite/Resources/Private/Extensions/ai_overwrite/config/

Add it instead to:
typo3conf/ext/ai_overwrite/Resources/Private/Config/

The configuration in Resources/Private/Config/ has precedence over Resources/Private/Extensions/ai_overwrite/config/ and the resources are originally defined in typo3conf/ext/aimeos/Resources/Private/Config/

Re: Extern Userdatabase

Posted: 07 Jan 2022, 13:03
by Shopmister
Thanks,

atm its "Error retrieving data" in aimeos customer modul. WHatts are the requrements for using extern frontend Users with typo3 and aimeos? I have now created an user in an folder on the other installation. An folder with an ID that exist too in the shopinstallation. And same with te usergroup named "customer".

I used that code:


<?php
return [
'db-customer' => [
'adapter' => 'mysql',
'host' => '127.0.0.1',
'port' => 'port ...',
'database' => 'database ...',
'username' => 'username ...',
'password' => 'Finkadink_.33',
'stmt' => ["SET SESSION sort_buffer_size=2097144; SET NAMES 'utf8mb4'; SET SESSION sql_mode='ANSI'; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED"],
'limit' => 2,
'opt-persistent' => 0
]
];


?>


Ps. I added btw an "[" to close the "return" because its needed if i wanted to have no error in frontend. Maybe you forgot in your codesnippet :)

Re: Extern Userdatabase

Posted: 09 Jan 2022, 14:18
by aimeos
Thanks, the missing bracket is fixed now in the orignal post.

Besides the "db-customer" configuration in the resource.php, you only need to set up the PID that should be used:
https://aimeos.org/docs/2021.x/config/m ... id-default

Re: Extern Userdatabase

Posted: 11 Jan 2022, 08:37
by Shopmister
Besides the "db-customer" configuration in the resource.php, you only need to set up the PID that should be used:
https://aimeos.org/docs/2021.x/config/m ... id-default
Thats in the log
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'mcus.siteid' in 'where clause':
SELECT COUNT(*) AS "count"

I think its not anough to write in the resource.php. It seems something different.
Its not needed a siteid that the aimeos extension with checkout etc. works.
But it seems to need the databasefield from extern. Okay that i can try to add. But i hope its not the siteid whattsa missing for system. Than for sure its not possible to add without Registers are about the aimeos checkout at extern database...

Id didf made that i have exactly same databasetbale fe_users in the extern database from typo3. But a different error in log now and same in customer module:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'databasename_db87.fe_users_address' doesn't exist:
SELECT

But its existing. I checked that. ANd i import the fe_users table from my aimeos installation. Its same now.