ノーコードツールAdalo
前回、ノーコードツールAdaloで、Formを使用し、Usersコレクションではない、コレクションへのデータの追加方法を解説しました。
今回はやはりFormを使用しますが、Usersコレクションへのデータの追加を試してみましょう。
ということでまずは準備を行います。
事前準備
今回は「Usersコレクション」へのデータの追加なので、Usersコレクションの準備をしていきます。
まずプロパティは最初の状態と同じで「Email」、「Password」、「Username」、「Full Name」の4つがあります。
登録されているデータとしては「test1」、「test2」、「test3」の3つです。
この状態に対し、今回データを追加するプロパティを作成していきます。
Usersコレクションの中にある「+ADD PROPERTY」をクリックします。
「Text」をクリックします。
新しいコレクションの名前を「Town」にして、「SAVE」をクリックします。
これで新しいプロパティ「Town」が作成できました。
Formの追加
それでは「Usersコレクション」の「Town」にデータを追加するためのフォームを追加していきましょう。
左上の「+マーク」をクリック。
「Forms & Fields」の「Form」を「Homeスクリーン」にドラッグ&ドロップします。
「Whick data collection?」のプルダウンメニューをクリックして開きます。
「Users」コレクションをクリックします。
ここからが重要です。
「What do you want the form to do?」(このフォームで何をしたいのか?)のプルダウンメニューをクリックして開きます。
ここで3つの動作が選択できます(ちなみに前回は「Create New Town」だけ)。
- Log the User In:このユーザーをログイン
- Sign the User Up:このユーザーをサインアップ
- Update Logged in User:ログインしているユーザーのアップデート
つまり「Users」コレクションはユーザーの情報を集めているコレクションのため、このフォームで入力された情報を使って、ログインするのか、サインアップするのか、情報をアップデートするのかの3つを選択できるというわけです。
今回は「Users」コレクションの「Town」プロパティにデータを追加したいため、「Update Logged In User」をクリックします。
するとHomeスクリーン上のフォームが変わり5つの入力欄が表示されました。
これがどういうものなのか「Fields」を開いて確認してみましょう。
「Fields」には「Email」、「Password」、「Username」、「Full Name」、「Town」の5つがありました。
今回変更したいのは「Town」プロパティだけなので、他のプロパティを変更するフィールドはゴミ箱マークをクリックして削除していましましょう。
また「Town」の項目をクリックすると、ラベルや入力欄の文字、行の設定、必須項目かどうかを設定することができます。
次に「Submit Button」をクリックして、ボタンを押したときの動作を見てみます。
今回はデータのアップデートなので「Click Actions」に「Update」という項目があるのが分かります。
クリックして開いてみると、「このボタンをクリックしたら、ユーザーをアップデートするよ」と表示されるだけです。
これでFormの設定は完了です。
シミュレーターで確認
それではどのように動作するかシミュレーターで確認してみましょう。
右上の「PREVIEW」をクリック。
前回のログイン状態が引き継がれるため、今回はログインが省略でき、Homeスクリーンからの開始になりました。
「Tokyo」と入力し、「UPDATE USER」をクリック。
ついでにもう一回、「Osaka」と入力し、「UPDATE USER」をクリック。
左上の✖️マークでシミュレーターを終了します。
さて結果がどうか確認してみましょう。
「Database」の「Usersコレクション」の横にある「3 Records」をクリック。
先ほどログインしていたユーザーは「test1」なので、「test1」の行の「Town」の列を見てみます。
すると「Osaka」としか書かれていません。
これは当然のことでデータをアップデートしているため、一度消去され、入力された内容が保存されるという動作がされているわけです。
ちなみに前回の「Townコレクション」を作成し、そこにデータを追加していった場合はこんな感じでした。
このことから重要なのは、どんなデータベースを作りたいのかを考えて、コレクションやプロパティ、リレーションシップを使っていかなければいけないということです。
例えば各ユーザーの出身地を保存したい場合は、ユーザーと出身地が1体1で結びつくため、今回のような「Usersコレクション」に「出身地プロパティ」を追加するのがいいでしょう。
またこの場合は、他のユーザーが特定のユーザーの出身地を勝手に変えられないようにすることも重要です。
しかし「これまで旅行したことがある場所」だとすると、ユーザーと場所は1対1では結びつきません。
ユーザー一人に対して複数の場所が存在しますし、それぞれの場所に複数のユーザーが行ったことがあることでしょう。
となるとリレーションシップを使って、別のコレクションとして保存した方がいいでしょう。
そしてこの場合は、出身地の例とは別に誰でも登録できるようにする方がユーザーの利便性は高まることでしょう。
といった感じで使っているフォームは同じにしても、内部のデータベースへの登録の仕方やデータベースの構造によって意味合いが全然変わってくるので、そこを意識してAdaloを使っていくのが重要だなと感じています。
次回はFormを使わずに入力欄とボタンを使って独自のFormを作る方法を試していきます。
ではでは今回はこんな感じで。
コメント