The correct way of keeping user info synchronized between different system is using DiscourseConnect - Official Single-Sign-On for Discourse (sso). However that may be too much if all you want is a static page with the current forum admins. In that case you can maybe have a daily/weekly script that parses /about.json and updates it?
Yeah, we’re more than happy with having users register on the actual site, so SSO seems a bit overkill. As for the about page, the issue with that is there’s no place for a bio or outside contact info, which really kills its ability to be a one-stop shop. We also imagine it might be harder to add all of this to the about page than to get an updating image working on another page.
A script isn’t a bad idea, although an instant response time would obviously be better if possible - it’s helpful for a user to be able to visually connect the profile picture with the status, and it could be disorienting to new users if the picture on the page and in use don’t match.
Plus, the fact that the old profile picture is still saved rather than overwritten by a new one seems disadvantageous for storage reasons anyways. If we could simply give each user one link that their profile picture is stored in, and replace that image if they change it, that seems like it really kills two birds with one stone.
There is a site setting to add an external contact method to the about page.
Didn’t mean for the about page to be parsed on your page rendering process, but in a background task and only periodically.
This depends on what tech you use to build said page. For example if you are on the JAMstack, this makes sense on the compilation phase. If it’s a Rails app, maybe an Active Job that runs daily and updates your local cache in the database.
We call those orphaned uploads, and they are cleaned up after a few days automatically via a background task.