1. フォーミュラエディタが改良され、執筆と編集が簡単になりました。

  1. 複数行編集可能な新しい拡張エディタになりました。
  2. エディタボックスで直接タイプチェックやハイライトができるようになりました。
  3. プロパティはこれまで prop("日付") のように記述していましたが、エディタ内での選択制になり図のように 日付 のように灰色背景で表示されるようになりました。
  4. キーボードの矢印キー(↑↓)はこのプロパティなどの選択を切り替える機能に割り当たっています。エディタ内で上下移動する場合には、Option/Alt キーを押しながら矢印キー(↑↓)を押してください。

Untitled

2. 大きな変更点

より多くのユースケースをフォーミュラでサポートするために、製品の改良が行われています。

  1. 数式がリストをサポートするようになりました。結果として以下の型が利用できるようになりました

    型 内容 対応するプロパティ
    Text テキスト Title, Text, Select, Email, URL, Phone number, ID
    Number 数値 Number, Rollup (Number)
    Date 日付・日付範囲 Date, Created Time, Last Edited Time, Rollup (Date)
    People 人 Created by, Last Edited by
    Boolean true か false Checkbox
    Page ページ
    List (array) 上のものの配列 (異なる型は同居できない) Multi-Select (List of Text),
    Person (List of People),
    Relation (List of Page),
    Rollup (List of any type)
  2. 式が改行したりインデントしたりできるようになりました。また、式中に /* コメント */ が記載できるようになりました。

  3. 数式がページ、ブロック、ピープルのリッチデータ出力に対応しました。

  4. 数式からリレーションの特定のプロパティにアクセスできるようになりました。ほとんどロールアップの必要性がなくなりました。

    例: relation.map(currentValue.number_property).sum(): リレーション relation に登録されるているページ群を number_property の値に変換した上で合計します。

  5. People プロパティでワークスペースレベルの情報(電子メールとフルネーム)にアクセスできるようになりました。

  6. 関数がメソッド形式でも呼び出せるようになりました。メソッド形式の場合、関数の第一引数に対して呼び出す形になります。

    例: unc(obj, arg1, arg2) → obj.func(arg1, arg2)

    これによりこれまでのような括弧の対応を探す作業がなくなります。

    /* Formula 1.0 */
    dateSubtract(dateSubtract(now(), hour(now()), "hours"), minute(now()), "minutes")
    
    /* Formula 2.0 */
    now().dateSubtract(now().hour(), "hours")
     .dateSubtract(now().minute(), "minutes")
    

3. Formula 2.0 の関数一覧

Formula 2.0 の関数一覧は以下の通りです。ページ内に具体的な使い方も書いてあります。

Formula functions ver 2.0

4. Formula 1.0 との非互換部分

現在わかっている Formula 1.0 との非互換部分は以下のとおりです。ただし、多くのものは自動的に変換されます。