現在、読書メーターのようなサイトを作成しており、読んだ本を登録できて、その本についてディスカッション......

現在、読書メーターのようなサイトを作成しており、読んだ本を登録できて、その本についてディスカッションできるようなものです。

各ユーザーが好き勝手に登録できる一方、同じ本の場合は既に登録されているとして登録できないようにしたいのですが、どのような方法・設計が考えられますでしょうか。(どんな情報を使って同じ本であるとみなせば良いでしょうか。タイトルの場合、最後の「〜」を入れる入れないで別の本であると見做されると厄介だなと思っております)

また、本の登録については、全てユーザーに写真やタイトルをマニュアルで登録してもらうしか方法はないのでしょうか。

ヒントをいただけますと幸いです。

回答者1
ISBNコードかな?

質問者
本をISBNコードで区別した場合、すでに登録されていると同じものを登録できないようにするには、どのような設計にすれば良いのでしょうか。ワークフローか何かでできるのでしょうか。
また、今、本のジャンルをドロップダウンで選択させて本の登録をさせようとしているのですが、
ジャンル別で本の画像をRepeating Groupへ表示させようとする場合、
例えば「漫画」というジャンルものだけ選択するためにはどうすればよいのでしょうか。
Book Genre(フィールド名) contains “漫画“では上手く行きませんでした。

回答者2
①すでに登録されているISBNコードを区別
ISBNコードをinputに入力して登録すると想定した場合、
→input 〇〇’s value is not in Search for “ISBN”
上記コードで、
インプットに入力された値が指定のデータフィールド(ここでは"ISBN")に含まれているかを調べることができます。
これに
→:formatted as number
"Yes"では1を"Noでは0を返す
を組み合わせることで、
→input 〇〇’s value is not in Search for “ISBN”:formatted as number is 1
inputに入力されたISBNが新規の場合
→input 〇〇’s value is not in Search for “ISBN”:formatted as number is 0
inputに入力されたISBNが既にある場合
の条件を作ることができます。

②「漫画」というジャンルのものだけをリストに表示
データベースにそれぞれの本のジャンルが登録されていれば、
→Search for 〇〇 :filtered
上記のコードで、本全体から指定したカテゴリーの本をフィルタリングすることができます。
以上、一例ですのでHIROさんの要望にフィットするか分かりませんが、ぜひ試してみてください。

質問者
早速教えていただいた通りにしてみたのですが、なぜか上手く行かないようです。。
ISBNコードをinputに入力して登録すると想定した場合、
→input 〇〇’s value is not in Search for “ISBN”
上記コードで、
インプットに入力された値が指定のデータフィールド(ここでは“ISBN”)に含まれているかを調べることができます。

回答者2
確かに"only when"からだと設定できませんね。いつも"only when"で設定していなかったので分かりませんでした。
私がよくやる方法は↓
登録ボタンの"Conditional"に条件を設定します。
ISBNコードが既に存在する場合、"This element isn’t clickable"にすると二重の登録を防げると思います。
同じ条件で、ISBNコードが既に存在するときのみ"This element is visible"になるテキスト(例:「このISBNコードは既に登録されています」)を配置して頂くとなお良いかと思います。

追記
"only when"からでも設定できました。
もし"ISBN"データフィールドのフィールドタイプが"number"であれば、"text"に変えて頂くとうまくいくかもしれません。

質問者
ご丁寧に何度もご回答いただきありがとうございました!!じょんさんのおかげで全て解決しました!
【学び】
・formated as number 0 or 1という場合わけがあることに驚きました。ISBNデータを数字にした場合は、formated as textとし、yes or noでいけるんですね
・本のジャンルはOption Setsで「Genre」を設定し、漫画や小説などを設定し、BOOKというデータベースのフィールドとしてOption Setsで設定した「Genre」を設定するといけました

参考画像