wakanda#1
Post on 21-Dec-2014
313 Views
Preview:
DESCRIPTION
TRANSCRIPT
Shibuya, Tokyo
Wakanda勉強会 #12013-08-06
2013-06-19
presented by
Shibuya, Tokyo
agenda
integration
Shibuya, Tokyo
agenda
WAK3 WAK4 WAK5
openDataStore
open4DBase
model API v4 model API v5
addOutsideCatalogaddOutsideCatalog
addRemoteStoreaddRemoteStore
integration
Shibuya, Tokyo
agenda
WAK3 WAK4 WAK5
openDataStore
open4DBase
model API v4 model API v5
addOutsideCatalogaddOutsideCatalog
addRemoteStoreaddRemoteStore
http://doc.wakanda.org/--v4/What-s-removed-after.904-991912.ja.html
removed in WAK4...
Shibuya, Tokyo
agenda
downloads
Shibuya, Tokyo
agenda
http://download.wakanda.org/ProductionChannel/v1/http://download.wakanda.org/ProductionChannel/v2/http://download.wakanda.org/ProductionChannel/v3/http://download.wakanda.org/ProductionChannel/v4/
downloads
Shibuya, Tokyo
open4DBase()
WAK3 121356 122625 124119
v12 Wrong DB4D version number
Wrong DB4D version number
Wrong DB4D version number
v13 OK OK OK
v14 OK OK OK
http://doc.wakanda.org/-/-/open4DBase.301-593664.ja.htmlhttp://doc.wakanda.org/-/-/open4DBase.301-593664.ja.html
Shibuya, Tokyo
open4DBase()
relation
Shibuya, Tokyo
open4DBase()
relation attribute
Shibuya, Tokyo
open4DBase()
プライマリーキー(必須: 1テーブルに欠落しているとWakandaが起動しない)プライマリーキーを倍長整数に(任意: UUIDとの比較,利便性,サイズ)1フィールドのインデックス(任意: デフォルトの自動をB-Treeに)nフィールドのインデックス(任意: デフォルトのなしをクラスターB-Treeに)n対1リレーション名(推奨: nテーブル名_1テーブル名)1対nリレーション名(推奨: 1テーブル名_nテーブル名)命名規則: 英数字,テーブル名は単数形,冒頭は大文字,フィールド名は小文字
checklist
Shibuya, Tokyo
open4DBase()
プライマリーキー(必須: 1テーブルに欠落しているとWakandaが起動しない)プライマリーキーを倍長整数に(任意: UUIDとの比較,利便性,サイズ)1フィールドのインデックス(任意: デフォルトの自動をB-Treeに)nフィールドのインデックス(任意: デフォルトのなしをクラスターB-Treeに)n対1リレーション名(推奨: nテーブル名_1テーブル名)1対nリレーション名(推奨: 1テーブル名_nテーブル名)命名規則: 英数字,テーブル名は単数形,冒頭は大文字,フィールド名は小文字
checklist
Shibuya, Tokyo
open4DBase()
プライマリーキー(必須: 1テーブルに欠落しているとWakandaが起動しない)プライマリーキーを倍長整数に(任意: UUIDとの比較,利便性,サイズ)1フィールドのインデックス(任意: デフォルトの自動をB-Treeに)nフィールドのインデックス(任意: デフォルトのなしをクラスターB-Treeに)n対1リレーション名(推奨: nテーブル名_1テーブル名)1対nリレーション名(推奨: 1テーブル名_nテーブル名)命名規則: 英数字,テーブル名は単数形,冒頭は大文字,フィールド名は小文字
checklist
Shibuya, Tokyo
open4DBase()
プライマリーキー(必須: 1テーブルに欠落しているとWakandaが起動しない)プライマリーキーを倍長整数に(任意: UUIDとの比較,利便性,サイズ)1フィールドのインデックス(任意: デフォルトの自動をB-Treeに)nフィールドのインデックス(任意: デフォルトのなしをクラスターB-Treeに)n対1リレーション名(推奨: nテーブル名_1テーブル名)1対nリレーション名(推奨: 1テーブル名_nテーブル名)命名規則: 英数字,テーブル名は単数形,冒頭は大文字,フィールド名は小文字
checklist
Shibuya, Tokyo
open4DBase()
プライマリーキー(必須: 1テーブルに欠落しているとWakandaが起動しない)プライマリーキーを倍長整数に(任意: UUIDとの比較,利便性,サイズ)1フィールドのインデックス(任意: デフォルトの自動をB-Treeに)nフィールドのインデックス(任意: デフォルトのなしをクラスターB-Treeに)n対1リレーション名(推奨: nテーブル名_1テーブル名)1対nリレーション名(推奨: 1テーブル名_nテーブル名)命名規則: 英数字,テーブル名は単数形,冒頭は大文字,フィールド名は小文字
checklist
Shibuya, Tokyo
open4DBase()
プライマリーキー(必須: 1テーブルに欠落しているとWakandaが起動しない)プライマリーキーを倍長整数に(任意: UUIDとの比較,利便性,サイズ)1フィールドのインデックス(任意: デフォルトの自動をB-Treeに)nフィールドのインデックス(任意: デフォルトのなしをクラスターB-Treeに)n対1リレーション名(推奨: nテーブル名_1テーブル名)1対nリレーション名(推奨: 1テーブル名_nテーブル名)命名規則: 英数字,テーブル名は単数形,冒頭は大文字,フィールド名は小文字
checklist
http://doc.wakanda.org/home2.ja.html#/-/-.300-661504.ja.html
Shibuya, Tokyo
open4DBase()
relation name
Shibuya, Tokyo
open4DBase()
relation name
Shibuya, Tokyo
open4DBase()
var modelFolder = ds.getModelFolder();var postFolder = modelFolder.parent.parent.path + "Post.4dbase/";var structureFile = File(postFolder + "Post.4DB");var dataFile = File(postFolder + "Post.4DD");
var dsPost = open4DBase(structureFile, dataFile);
Shibuya, Tokyo
openDataStore()
http://doc.wakanda.org/-/-/openDataStore.301-592820.ja.html
removed in WAK4...
Shibuya, Tokyo
openDataStore()
http://doc.wakanda.org/-/-/openDataStore.301-592820.ja.html
removed in WAK4...
WAK3 WAK4 WAK5
waModel XML JSON JSON
breakpoints XML JSON JSON
waPreferences XML XML XML
waSettings XML XML XML
waSolution XML XML XML
waProject XML XML XML
waPerm XML XML XML
waDirectory XML XML XML
Shibuya, Tokyo
openDataStore()
var modelFolder = ds.getModelFolder();var studentsFolder = modelFolder.parent.parent.path + "Students/Students/";var modelFile = File(studentsFolder + "Model.waModel");var dataFile = File(studentsFolder + "DataFolder/data.waData");
var dsStudents = openDataStore(modelFile, dataFile);
Shibuya, Tokyo
openDataStore()
var modelFolder = ds.getModelFolder();var studentsFolder = modelFolder.parent.parent.path + "Students/Students/";var modelFile = File(studentsFolder + "Model.waModel");var dataFile = File(studentsFolder + "DataFolder/data.waData");
var dsStudents = openDataStore(modelFile, dataFile);
Shibuya, Tokyo
addOutsideCatalog()
enterprise feature
http://www.wakanda.org/customers/enterprise
Shibuya, Tokyo
addRemoteStore()
enterprise feature
http://www.wakanda.org/customers/enterprise
Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
guided model
guidedModel ={! Student :! ! gradeId :! ! {! !! onGet:function()! {!
unlock script
free form syntax
model ={! Student :! ! gradeId :! ! {! !! onGet:function()! {!
model.js
reload model
Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
model.js
Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
model.js
guidedModel model
クラス GUI JavaScript
属性 GUI JavaScript
メソッド JavaScript JavaScript
コードエディターにジャンプ YES NO
ファイル数 model.js model.js+include()
Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
model.js
guidedModel ={ Student : { fullName : { onSet = function(value) { var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1]; } } }};
guided model
Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
model.js
model = {};model.Student = {};model.Student.fullName = {};
model.Student.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
free form syntax
グローバルオブジェクトmodelにアクセス
Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
model.js
model = {};model.Student = {};model.Student.fullName = {};
model.Student.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
free form syntax
グローバルオブジェクトmodelにアクセス
deprecated
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model.js
* @startlock~@endlockを除去してguidedModelをmodelに書き換えるだけ・・・
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model.js
* @startlock~@endlockを除去してguidedModelをmodelに書き換えるだけ・・・
v3 v4
モデルエディターに表示 NO YES
コードエディターにジャンプ NO NO
移行時にコードを自動変換 NO NO**
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model = {};var sc = model.addClass("Student");sc.addAttribute("ID", "storage", "long", "key auto");sc.addAttribute("firstName", "storage", "string", "btree");sc.addAttribute("lastName", "storage", "string", "btree");sc.addAttribute("name", "calculated", "string");sc.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
model.Student = {};model.Student.fullName = {};
model.Student.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
v3: グローバルオブジェクトmodelにアクセス
model.js
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model = new DataStoreCatalog();var sc = model.addClass("Student");sc.addAttribute("ID", "storage", "long", "key auto");sc.addAttribute("firstName", "storage", "string", "btree");sc.addAttribute("lastName", "storage", "string", "btree");sc.addAttribute("name", "calculated", "string");sc.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
model.Student = {};model.Student.fullName = {};
model.Student.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
v4: コンストラクターを使用
model.js
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model = new DataStoreCatalog();var sc = model.addClass("Student");sc.addAttribute("ID", "storage", "long", "key auto");sc.addAttribute("firstName", "storage", "string", "btree");sc.addAttribute("lastName", "storage", "string", "btree");sc.addAttribute("name", "calculated", "string");sc.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
v3コードを削除
model.js
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model = new DataStoreCatalog();var sc = model.addClass("Student");sc.addAttribute("ID", "storage", "long", "key auto");sc.addAttribute("firstName", "storage", "string", "btree");sc.addAttribute("lastName", "storage", "string", "btree");sc.addAttribute("name", "calculated", "string");sc.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
クラスと属性の定義をmodel API v4に書き換え
model.js
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model = new DataStoreCatalog();var sc = model.addClass("Student");sc.addAttribute("ID", "storage", "long", "key auto");sc.addAttribute("firstName", "storage", "string", "btree");sc.addAttribute("lastName", "storage", "string", "btree");sc.addAttribute("name", "calculated", "string");sc.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
計算属性の定義をmodel API v4に書き換え
model.js
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model = new DataStoreCatalog();var sc = model.addClass("Student");sc.addAttribute("ID", "storage", "long", "key auto");sc.addAttribute("firstName", "storage", "string", "btree");sc.addAttribute("lastName", "storage", "string", "btree");sc.addAttribute("name", "calculated", "string");sc.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
model.js
Shibuya, Tokyo
model API (v5)
http://doc.wakanda.org/Model/Working-with-the-Model-API-v5.200-995188.ja.html
model.js
Shibuya, Tokyo
model API (v5)
http://doc.wakanda.org/Model/Working-with-the-Model-API-v5.200-995188.ja.html
v3 v4 v5
モデルエディターに表示 NO YES YES
コードエディターにジャンプ NO NO YES
移行時にコードを自動変換 NO NO YES
model.js
Shibuya, Tokyo
model API (v5)
http://doc.wakanda.org/Model/Working-with-the-Model-API-v5.200-995188.ja.html
unlock script
waModel (JSON)
WAK4
model API (v4)
waModel (XML)
WAK3
model.js
unlock script
free form syntax (v3)
waModel (JSON)
WAK5
unlock script
model API (v5)
移行時にコードを自動変換するしない
Shibuya, Tokyo
model API (v5)
http://doc.wakanda.org/Model/Working-with-the-Model-API-v5.200-995188.ja.html
XML to JSON
Shibuya, Tokyo
Wakanda勉強会 #12013-08-06
2013-06-19
presented by
Shibuya, Tokyo
Wakanda勉強会 #12013-08-06
2013-06-19
presented by
Shibuya, Tokyo
agenda
integration
Shibuya, Tokyo
agenda
WAK3 WAK4 WAK5
openDataStore
open4DBase
model API v4 model API v5
addOutsideCatalogaddOutsideCatalog
addRemoteStoreaddRemoteStore
integration
Shibuya, Tokyo
agenda
WAK3 WAK4 WAK5
openDataStore
open4DBase
model API v4 model API v5
addOutsideCatalogaddOutsideCatalog
addRemoteStoreaddRemoteStore
http://doc.wakanda.org/--v4/What-s-removed-after.904-991912.ja.html
removed in WAK4...
Shibuya, Tokyo
agenda
downloads
Shibuya, Tokyo
agenda
http://download.wakanda.org/ProductionChannel/v1/http://download.wakanda.org/ProductionChannel/v2/http://download.wakanda.org/ProductionChannel/v3/http://download.wakanda.org/ProductionChannel/v4/
downloads
Shibuya, Tokyo
open4DBase()
WAK3 121356 122625 124119
v12 Wrong DB4D version number
Wrong DB4D version number
Wrong DB4D version number
v13 OK OK OK
v14 OK OK OK
http://doc.wakanda.org/-/-/open4DBase.301-593664.ja.htmlhttp://doc.wakanda.org/-/-/open4DBase.301-593664.ja.html
Shibuya, Tokyo
open4DBase()
relation
Shibuya, Tokyo
open4DBase()
relation attribute
Shibuya, Tokyo
open4DBase()
プライマリーキー(必須: 1テーブルに欠落しているとWakandaが起動しない)プライマリーキーを倍長整数に(任意: UUIDとの比較,利便性,サイズ)1フィールドのインデックス(任意: デフォルトの自動をB-Treeに)nフィールドのインデックス(任意: デフォルトのなしをクラスターB-Treeに)n対1リレーション名(推奨: nテーブル名_1テーブル名)1対nリレーション名(推奨: 1テーブル名_nテーブル名)命名規則: 英数字,テーブル名は単数形,冒頭は大文字,フィールド名は小文字
checklist
Shibuya, Tokyo
open4DBase()
プライマリーキー(必須: 1テーブルに欠落しているとWakandaが起動しない)プライマリーキーを倍長整数に(任意: UUIDとの比較,利便性,サイズ)1フィールドのインデックス(任意: デフォルトの自動をB-Treeに)nフィールドのインデックス(任意: デフォルトのなしをクラスターB-Treeに)n対1リレーション名(推奨: nテーブル名_1テーブル名)1対nリレーション名(推奨: 1テーブル名_nテーブル名)命名規則: 英数字,テーブル名は単数形,冒頭は大文字,フィールド名は小文字
checklist
Shibuya, Tokyo
open4DBase()
プライマリーキー(必須: 1テーブルに欠落しているとWakandaが起動しない)プライマリーキーを倍長整数に(任意: UUIDとの比較,利便性,サイズ)1フィールドのインデックス(任意: デフォルトの自動をB-Treeに)nフィールドのインデックス(任意: デフォルトのなしをクラスターB-Treeに)n対1リレーション名(推奨: nテーブル名_1テーブル名)1対nリレーション名(推奨: 1テーブル名_nテーブル名)命名規則: 英数字,テーブル名は単数形,冒頭は大文字,フィールド名は小文字
checklist
Shibuya, Tokyo
open4DBase()
プライマリーキー(必須: 1テーブルに欠落しているとWakandaが起動しない)プライマリーキーを倍長整数に(任意: UUIDとの比較,利便性,サイズ)1フィールドのインデックス(任意: デフォルトの自動をB-Treeに)nフィールドのインデックス(任意: デフォルトのなしをクラスターB-Treeに)n対1リレーション名(推奨: nテーブル名_1テーブル名)1対nリレーション名(推奨: 1テーブル名_nテーブル名)命名規則: 英数字,テーブル名は単数形,冒頭は大文字,フィールド名は小文字
checklist
Shibuya, Tokyo
open4DBase()
プライマリーキー(必須: 1テーブルに欠落しているとWakandaが起動しない)プライマリーキーを倍長整数に(任意: UUIDとの比較,利便性,サイズ)1フィールドのインデックス(任意: デフォルトの自動をB-Treeに)nフィールドのインデックス(任意: デフォルトのなしをクラスターB-Treeに)n対1リレーション名(推奨: nテーブル名_1テーブル名)1対nリレーション名(推奨: 1テーブル名_nテーブル名)命名規則: 英数字,テーブル名は単数形,冒頭は大文字,フィールド名は小文字
checklist
Shibuya, Tokyo
open4DBase()
プライマリーキー(必須: 1テーブルに欠落しているとWakandaが起動しない)プライマリーキーを倍長整数に(任意: UUIDとの比較,利便性,サイズ)1フィールドのインデックス(任意: デフォルトの自動をB-Treeに)nフィールドのインデックス(任意: デフォルトのなしをクラスターB-Treeに)n対1リレーション名(推奨: nテーブル名_1テーブル名)1対nリレーション名(推奨: 1テーブル名_nテーブル名)命名規則: 英数字,テーブル名は単数形,冒頭は大文字,フィールド名は小文字
checklist
http://doc.wakanda.org/home2.ja.html#/-/-.300-661504.ja.html
Shibuya, Tokyo
open4DBase()
relation name
Shibuya, Tokyo
open4DBase()
relation name
Shibuya, Tokyo
open4DBase()
var modelFolder = ds.getModelFolder();var postFolder = modelFolder.parent.parent.path + "Post.4dbase/";var structureFile = File(postFolder + "Post.4DB");var dataFile = File(postFolder + "Post.4DD");
var dsPost = open4DBase(structureFile, dataFile);
Shibuya, Tokyo
openDataStore()
http://doc.wakanda.org/-/-/openDataStore.301-592820.ja.html
removed in WAK4...
Shibuya, Tokyo
openDataStore()
http://doc.wakanda.org/-/-/openDataStore.301-592820.ja.html
removed in WAK4...
WAK3 WAK4 WAK5
waModel XML JSON JSON
breakpoints XML JSON JSON
waPreferences XML XML XML
waSettings XML XML XML
waSolution XML XML XML
waProject XML XML XML
waPerm XML XML XML
waDirectory XML XML XML
Shibuya, Tokyo
openDataStore()
var modelFolder = ds.getModelFolder();var studentsFolder = modelFolder.parent.parent.path + "Students/Students/";var modelFile = File(studentsFolder + "Model.waModel");var dataFile = File(studentsFolder + "DataFolder/data.waData");
var dsStudents = openDataStore(modelFile, dataFile);
Shibuya, Tokyo
openDataStore()
var modelFolder = ds.getModelFolder();var studentsFolder = modelFolder.parent.parent.path + "Students/Students/";var modelFile = File(studentsFolder + "Model.waModel");var dataFile = File(studentsFolder + "DataFolder/data.waData");
var dsStudents = openDataStore(modelFile, dataFile);
Shibuya, Tokyo
addOutsideCatalog()
enterprise feature
http://www.wakanda.org/customers/enterprise
Shibuya, Tokyo
addRemoteStore()
enterprise feature
http://www.wakanda.org/customers/enterprise
Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
guided model
guidedModel ={! Student :! ! gradeId :! ! {! !! onGet:function()! {!
unlock script
free form syntax
model ={! Student :! ! gradeId :! ! {! !! onGet:function()! {!
model.js
reload model
Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
model.js
Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
model.js
guidedModel model
クラス GUI JavaScript
属性 GUI JavaScript
メソッド JavaScript JavaScript
コードエディターにジャンプ YES NO
ファイル数 model.js model.js+include()
Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
model.js
guidedModel ={ Student : { fullName : { onSet = function(value) { var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1]; } } }};
guided model
Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
model.js
model = {};model.Student = {};model.Student.fullName = {};
model.Student.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
free form syntax
グローバルオブジェクトmodelにアクセス
Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
model.js
model = {};model.Student = {};model.Student.fullName = {};
model.Student.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
free form syntax
グローバルオブジェクトmodelにアクセス
deprecated
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model.js
* @startlock~@endlockを除去してguidedModelをmodelに書き換えるだけ・・・
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model.js
* @startlock~@endlockを除去してguidedModelをmodelに書き換えるだけ・・・
v3 v4
モデルエディターに表示 NO YES
コードエディターにジャンプ NO NO
移行時にコードを自動変換 NO NO**
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model = {};var sc = model.addClass("Student");sc.addAttribute("ID", "storage", "long", "key auto");sc.addAttribute("firstName", "storage", "string", "btree");sc.addAttribute("lastName", "storage", "string", "btree");sc.addAttribute("name", "calculated", "string");sc.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
model.Student = {};model.Student.fullName = {};
model.Student.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
v3: グローバルオブジェクトmodelにアクセス
model.js
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model = new DataStoreCatalog();var sc = model.addClass("Student");sc.addAttribute("ID", "storage", "long", "key auto");sc.addAttribute("firstName", "storage", "string", "btree");sc.addAttribute("lastName", "storage", "string", "btree");sc.addAttribute("name", "calculated", "string");sc.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
model.Student = {};model.Student.fullName = {};
model.Student.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
v4: コンストラクターを使用
model.js
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model = new DataStoreCatalog();var sc = model.addClass("Student");sc.addAttribute("ID", "storage", "long", "key auto");sc.addAttribute("firstName", "storage", "string", "btree");sc.addAttribute("lastName", "storage", "string", "btree");sc.addAttribute("name", "calculated", "string");sc.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
v3コードを削除
model.js
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model = new DataStoreCatalog();var sc = model.addClass("Student");sc.addAttribute("ID", "storage", "long", "key auto");sc.addAttribute("firstName", "storage", "string", "btree");sc.addAttribute("lastName", "storage", "string", "btree");sc.addAttribute("name", "calculated", "string");sc.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
クラスと属性の定義をmodel API v4に書き換え
model.js
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model = new DataStoreCatalog();var sc = model.addClass("Student");sc.addAttribute("ID", "storage", "long", "key auto");sc.addAttribute("firstName", "storage", "string", "btree");sc.addAttribute("lastName", "storage", "string", "btree");sc.addAttribute("name", "calculated", "string");sc.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
計算属性の定義をmodel API v4に書き換え
model.js
Shibuya, Tokyo
model API (v4)
http://doc.wakanda.org/Model/Working-with-the-Model-API.200-975844.ja.html
model = new DataStoreCatalog();var sc = model.addClass("Student");sc.addAttribute("ID", "storage", "long", "key auto");sc.addAttribute("firstName", "storage", "string", "btree");sc.addAttribute("lastName", "storage", "string", "btree");sc.addAttribute("name", "calculated", "string");sc.name.onSet = function(value){ var names = value.split(' '); this.firstName = names[0]; this.lastName = names[1];}
model.js
Shibuya, Tokyo
model API (v5)
http://doc.wakanda.org/Model/Working-with-the-Model-API-v5.200-995188.ja.html
model.js
Shibuya, Tokyo
model API (v5)
http://doc.wakanda.org/Model/Working-with-the-Model-API-v5.200-995188.ja.html
v3 v4 v5
モデルエディターに表示 NO YES YES
コードエディターにジャンプ NO NO YES
移行時にコードを自動変換 NO NO YES
model.js
Shibuya, Tokyo
model API (v5)
http://doc.wakanda.org/Model/Working-with-the-Model-API-v5.200-995188.ja.html
unlock script
waModel (JSON)
WAK4
model API (v4)
waModel (XML)
WAK3
model.js
unlock script
free form syntax (v3)
waModel (JSON)
WAK5
unlock script
model API (v5)
移行時にコードを自動変換するしない
Shibuya, Tokyo
model API (v5)
http://doc.wakanda.org/Model/Working-with-the-Model-API-v5.200-995188.ja.html
XML to JSON
Shibuya, Tokyo
Wakanda勉強会 #12013-08-06
2013-06-19
presented by
top related