BarnsleyBloke Hi @nick0
You are right. The update and centralisation of the users is why you have this error. There is a package which will get you passed this.
You will find instructions here: https://github.com/Pathologic/MODxAPI
As well as that you need to make a small adjustment in the userHelper plugin. Goto the plugin and change the configuration Model to
Pathologic\EvolutionCMS\MODxAPI\modUsers
Hi and thanks for the assistance BarnsleyBloke ...
Hmmmmm, I must have messed something up trying this hack as now the user login form doesn't show at all in the frontend... where's the facepalm emoji when I need it 😆.
Following the Installation instructions on the MODxAPI page is no doubt where I went unstuck
Add "pathologic/modxapi" to "require" section of your core/custom/composer.json, then run "composer update" in core folder:
In particular scracting my head at run "composer update" hehe.
1 I changed my userHelper > configuration > Model to: Pathologic\EvolutionCMS\MODxAPI\modUsers
2 I changed my Formlister form from:
[!FormLister?
&formid=`loginForm`
&controller=`Login`
&context=`web`
&userGroups=`WebUsers`
&checkActivation=`1`
etc
to (removing &context and &userGroups and adding &model):
[!FormLister?
&formid=`loginForm`
&controller=`Login`
&model=`Pathologic\EvolutionCMS\MODxAPI\modUsers
&checkActivation=`1`
etc
3 I added the "pathologic/modxapi: *" line to the composer.json file with this path - /core/custom/composer.json:
{
"name": "evolutioncms/custom",
"require": {
"barryvdh/laravel-ide-helper": "~2.4"
"pathologic/modxapi": "*"
},
"autoload": {
"psr-4": {
"EvolutionCMS\\Custom\\": "src/"
}
}
}
4 To /core/src I uploaded the following 7 files (full path shown):
/core/src/Traits/ContentTV.php
/core/src/Traits/RoleTV.php
/core/src/APIhelpers.php
/core/src/autoTable.php
/core/src/modResource.php
/core/src/modUsers.php
/core/src/MODxAPI.php
5 This is what I interpreted as then run "composer update" in core folder:
...
I added the require line
"pathologic/doctrine-cache-bridge": "*"
and the autoload psr4 line
"Pathologic\\EvolutionCMS\\MODxAPI\\": "src/"
into the existing composer.json file located at core/composer.json so that it's content became:
{
"name": "evolutioncms/core",
"type": "project",
"description": "Evolution CMS is a Content Management System, ex MODX Evolution",
"keywords": [
"content",
"CMS",
"routing",
"templating",
"core"
],
"homepage": "http://evo.im/",
"license": "GPL-2.0+",
"authors": [
{
"name": "Evgeniy Borisov",
"email": "modx@agel-nash.ru",
"homepage": "https://agel-nash.ru",
"role": "Developer"
},
{
"name": "Dmytro Lukianenko",
"email": "dmi3yy@gmail.com",
"homepage": "http://dmi3yy.com",
"role": "Developer"
}
],
"require": {
"php": ">=7.3",
"ext-SimpleXML": "*",
"ext-dom": "*",
"ext-iconv": "*",
"ext-json": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
"lib-iconv": "*",
"lib-libxml": "*",
"doctrine/dbal": "~2.3",
"phpoption/phpoption": "*",
"vlucas/phpdotenv": "^5.2",
"guzzlehttp/guzzle": "^7.0.1",
"composer/composer": "*",
"illuminate/cache": "8.*",
"illuminate/redis": "8.*",
"illuminate/config": "8.*",
"illuminate/console": "8.*",
"illuminate/container": "8.*",
"illuminate/database": "8.*",
"illuminate/events": "8.*",
"illuminate/filesystem": "8.*",
"illuminate/log": "8.*",
"illuminate/pagination": "8.*",
"illuminate/routing": "8.*",
"illuminate/support": "8.*",
"illuminate/translation": "8.*",
"illuminate/view": "8.*",
"illuminate/validation": "8.*",
"illuminate/http": "8.*",
"league/flysystem": "^1.0.8",
"phpmailer/phpmailer": "6.*",
"tracy/tracy": "~2.5",
"wikimedia/composer-merge-plugin": "2.*",
"symfony/process": "^5.1",
"dmitry-suffi/redis-session-handler": "*",
"rosell-dk/webp-convert": "*",
"predis/predis": "*",
"james-heinrich/phpthumb": "1.*",
"evolutioncms-services/user-manager": "1.*",
"evolutioncms-services/document-manager": "1.*",
"evolution-cms/salo": "1.*"
"pathologic/doctrine-cache-bridge": "*"
},
"require-dev": {
"roave/security-advisories": "dev-master"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"prestissimo": {
"maxConnections": 6,
"minConnections": 3
},
"vendor-dir": "vendor"
},
"extra": {
"merge-plugin": {
"include": [
"custom/composer.json"
],
"recurse": true,
"replace": true,
"merge-dev": false,
"merge-extra": true,
"merge-scripts": false
}
},
"autoload": {
"psr-4": {
"EvolutionCMS\\": "src/",
"Database\\Seeders\\": "database/seeders/"
"Pathologic\\EvolutionCMS\\MODxAPI\\": "src/"
},
"classmap": [
"database/migrations/"
],
"files": [
"functions/actions/bkmanager.php",
"functions/actions/files.php",
"functions/actions/help.php",
"functions/actions/logging.php",
"functions/actions/mutate_content.php",
"functions/actions/mutate_plugin.php",
"functions/actions/settings.php",
"functions/helper.php",
"functions/laravel.php",
"functions/nodes.php",
"functions/preload.php",
"functions/processors.php",
"functions/rss.php",
"functions/tv.php",
"functions/utils.php"
]
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"upd": "composer update --lock --ansi",
"post-autoload-dump": [
"@php artisan package:discover"
]
},
"scripts-descriptions": {
"upd": "Updating sub-levels composer.json files"
},
"support": {
"email": "dmi3yy@evo.im",
"issues": "https://github.com/evolution-cms/evolution/issues/",
"source": "https://github.com/evolution-cms/evolution/",
"docs": "http://docs.evo.im",
"telegram": "https://t.me/evolutioncms"
}
}
6 Now I have no login form visible (even after cache clearing) and I laugh out loud at my lack of skills... you may have guessed I am no programmer hehe.
Can you see where I went wrong with that @BarnsleyBloke ? Thank you kindly for any assistance.
The thing is - the frontend login form is on my starter / test site with a login section using FormLister. There is only one front end "web user" and I would happily use the Evo 3 FormLister method without hacking... if only I knew what to put into my FormLister login call 🙂