Мы пытаемся создать страницу «Сотрудники сайта» с информацией для наших администраторов и модераторов, и в идеале там должны быть их фотографии профиля. Например:
codinghorror
Биография: Я существую Контактная информация: данные
Однако мы не хотим вручную обновлять эту страницу каждый раз, когда сотрудник меняет свою фотографию профиля.
Мы видим два способа решить эту задачу: либо при загрузке пользователем новой фотографии профиля сразу заменять старую, сохраняя ту же ссылку (что, на наш взгляд, предпочтительнее), либо использовать ссылку, которая перенаправляет на текущее местоположение аватара пользователя.
Есть ли у вас идеи, как лучше всего это реализовать? По нашим тестам, простое копирование ссылки на текущее изображение не работает должным образом.
Как отмечалось выше, это помогло бы сэкономить место для хранения, если бы мы могли заставить каждого пользователя загружать новую фотографию профиля в одно и то же место. Это автоматически позволило бы той же ссылке работать как надо и одновременно сэкономило бы место на диске.
Правильный способ синхронизации информации о пользователях между различными системами — использование DiscourseConnect — официальное решение для единого входа (SSO) для Discourse. Однако это может быть излишним, если вам нужна просто статическая страница с текущими администраторами форума. В таком случае можно, например, написать скрипт, который ежедневно или еженедельно анализирует /about.json и обновляет страницу.
Да, мы вполне довольны тем, что пользователи регистрируются непосредственно на сайте, поэтому SSO кажется излишним. Что касается страницы «О нас», то проблема в том, что там нет места для биографии или контактной информации извне, что сильно снижает её эффективность как универсального решения. Кроме того, мы предполагаем, что добавить всё это на страницу «О нас» может быть сложнее, чем реализовать обновление изображения на другой странице.
Скрипт — неплохая идея, хотя, конечно, мгновенный отклик был бы предпочтительнее, если это возможно: пользователям полезно визуально связывать аватарку со статусом, и для новых пользователей может быть дезориентирующим, если изображение на странице и используемое не совпадают.
К тому же, тот факт, что старая аватарка сохраняется вместо перезаписи новой, с точки зрения хранения данных выглядит невыгодным. Если бы мы могли просто предоставить каждому пользователю одну ссылку, по которой хранится его аватарка, и заменять это изображение при его смене, это решило бы сразу две проблемы одним махом.
Существует настройка сайта для добавления внешнего способа связи на страницу «О нас».
Я не имел в виду, что страница «О нас» должна обрабатываться в процессе рендеринга вашей страницы, а скорее в фоновой задаче и только периодически.
Это зависит от того, какие технологии вы используете для создания этой страницы. Например, если вы работаете с JAMstack, это имеет смысл на этапе компиляции. Если это приложение на Rails, возможно, это будет Active Job, который запускается ежедневно и обновляет ваш локальный кэш в базе данных.
Мы называем это «сиротскими» загрузками, и они автоматически удаляются через несколько дней с помощью фоновой задачи.