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