Developing Web Apps (OutSystems 11)のExerciseメモ(2)

OutSystems公式のWebアプリケーション開発トレーニングコースについてのメモです。

主にExerciseについてのメモです。初めてOutSystemsに触る人にはわかりにくそうかなと思ったところについて書いています。

List and Detail Screens Exercise

  • p5 c)で、Manage Dependenciesに、Coreモジュールで定義したEntityが表示されない場合。EntityをPublic=Yesにしているか、ダイアログ内の「Public elements in ‘OSMDb_Core’」というテキストの右下にあるコンボボックスでShow Allを選んでをいるか確認してください
  • p10,11でTitle areaとかMainContent areaというのがいきなり出てきます。これはWidget Tree表示(Screen表示中にCtrl+Wで表示されます)で以下の場所のことです。点線の四角形はPlaceholderといって、この場所にWidgetを配置することができます。

    Canvas上で該当エリアをクリックすると、エリアの名前が左上に表示されます。下の例は、MainCotentを選んだところ
  • p15 ScreenのAnonymouseのチェックボックスを入れると、アクセスに認証が要求されなくなります。つまりログインしなくても見られる
  • p17 Movie.Id = MovieIdの読み方。左辺のMovieは検索対象のEntityを表しています。よって検索対象EntityのId Attributeに対して絞り込みを行います。Id Attributeの値が、ScreenのInput Parameter “MovieId”と等しい行を抽出
  • このあたりで、FormとTableRecordsの違いをまとめておくと
    • Formは1レコードを対象に、表示または編集させるためのWidgetを配置します
    • TableRecordsはNレコード(レコードのリスト)を表形式で表示するもの(HTMLではTableタグ)。1レコードが1行に対応

Modeling Data Relationships Exercise

  • テーブル設計の知識が無いとわかりにくいです。動画に一応解説されていますが、英語が得意な人以外は、日本語の入門書でテーブル設計を勉強しておいた方がいいです
  • テーブル間関連の用語
    • one-to-many relationship
      • 1方のテーブルの1レコード(行)に対して、もう1方のテーブルの複数レコードが対応する
      • OutSystemsでは、1レコード側のEntityのIdentifier Attributeを、複数レコード側のEntityのAttributeの1つとして持つことで実現する
      • 例:見積Entity(1)に対して、見積明細(many)の関係を作るには、見積明細に見積 Identifier型のAttributeを作成する
    • many-to-many relationship
      • テーブルをそれぞれ、A/Bと呼ぶとする。Aの1レコードにB複数レコードが対応し、B1レコードにA複数レコードが対応する
      • OutSystemsでは、この関連を管理するため、新しいEntity ABを作成する(AとBの関連を管理するEntityであることを明確にするため名前はABとする)。ABにA Identifier型のAttributeとB Identifier型のAttributeを追加する。さらに、A+Bの組み合わせが重複しないように、ABでユニークなインデックスを作成する
  • Delete Rule
    •  AとBというEntityがあり、AからBを参照している(B Identifier型のAttributeを持っている)とする。Bのレコードを削除するとき、Aのレコードをどうするかを決めるルール
    • RDBでいうとトリガー的なもの
    • Ignore:何もしないルール
    • Protect:参照がある内は、Bのレコードの削除をさせないルール
    • Delete:Bと一緒に参照しているAのレコードも削除するルール

一覧

シェアする

  • このエントリーをはてなブックマークに追加

フォローする