管理者とモデレーター向けの「サイトスタッフ」ページを作成しようとしています。理想を言えば、すべてのスタッフのプロフィール写真も掲載したいところです。例えば:
codinghorror

自己紹介: 存在します
連絡先情報: 各種情報
ただし、スタッフがプロフィール写真を変更するたびにこのページを 手動 で更新したくはありません。
これを実現する方法として、私たちが考えているのは以下の2通りです。ユーザーが新しいプロフィール写真をアップロードするたびに、古い写真を直接上書きしてリンクを同一に保つ(これが望ましいと考えています)、あるいは現在のユーザーのアバターがある場所へリダイレクトする何らかのリンクを用意する、というものです。
最適な方法についてご意見をお聞かせください。現在の写真からリンクをそのままコピーしても、テストでは意図通りに動作しませんでした。
上記の通り、各ユーザーが新しいプロフィール写真を常に同じ場所にアップロードするように強制できれば、ストレージ容量の節約にもなります。これにより、同じリンクが意図通りに機能し、同時にストレージスペースも節約できるはずです。
Falco
(Falco)
2
それは基本的に、About - Discourse Meta のような「概要」ページと同じではありませんか?
異なるシステム間でユーザー情報を同期させておくための「正しい」方法は、DiscourseConnect - Discourseの公式シングルサインオン(SSO)を使用することです。しかし、現在のフォーラム管理者の静的ページが欲しいだけであれば、これはやりすぎかもしれません。その場合、/about.json を解析して更新するスクリプトを毎日/毎週実行するという方法も考えられます。
はい、実際のサイトでユーザーが登録することに満足していますので、SSOは少しやりすぎのように思えます。アバウトページについては、経歴や外部連絡先情報を記載する場所がないため、ワンストップショップとしての機能が損なわれるという問題があります。また、アバウトページにこれらすべてを追加することは、別のページで更新可能な画像を取得することよりも難しいと考えています。
スクリプトは悪くないアイデアですが、可能であれば即時の応答時間が望ましいです。ユーザーがプロフィール写真とステータスを視覚的に結びつけることができるのは便利であり、ページ上の写真と使用中の写真が一致しない場合、新規ユーザーを混乱させる可能性があります。
さらに、古いプロフィール写真が上書きされるのではなく保存されているという事実は、ストレージの観点からも不利であるように思われます。各ユーザーにプロフィール写真が保存されているリンクを1つだけ提供し、変更があった場合にその画像を置き換えることができれば、一石二鳥になるように思われます。
Falco
(Falco)
4
サイト設定で、アバウトページに外部連絡先を追加できます。
アバウトページをページレンダリングプロセスで解析するのではなく、バックグラウンドタスクで定期的に実行することを意図していました。
これは、そのページを構築するために使用するテクノロジーによって異なります。たとえば、JAMstackを使用している場合、これはコンパイルフェーズで理にかなっています。Railsアプリの場合は、毎日実行され、データベース内のローカルキャッシュを更新するActive Jobが考えられます。
これらは孤立したアップロードと呼び、バックグラウンドタスクによって数日後に自動的にクリーンアップされます。
孤立したアップロードを新しいアップロードに置き換える方が理にかなっているのではないでしょうか?
私にはウィンウィンのように思えますが、私はウェブ開発者ではないので、何か見落としている可能性があります。