3. Shibuya, Tokyo
agenda
WAK3 WAK4 WAK5
openDataStore
open4DBase
model API v4 model API v5
addOutsideCatalog
addOutsideCatalog
addRemoteStore
addRemoteStore
integration
4. Shibuya, Tokyo
agenda
WAK3 WAK4 WAK5
openDataStore
open4DBase
model API v4 model API v5
addOutsideCatalog
addOutsideCatalog
addRemoteStore
addRemoteStore
http://doc.wakanda.org/--v4/What-s-removed-after.904-991912.ja.html
removed in WAK4...
7. 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.html
http://doc.wakanda.org/-/-/open4DBase.301-593664.ja.html
25. 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
26. Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
model.js
27. 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()
28. 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
29. 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にアクセス
30. 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
31. 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に書き換えるだけ・・・
32. 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*
*
33. 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
34. 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
35. 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
36. 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
37. 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
38. 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
39. Shibuya, Tokyo
model API (v5)
http://doc.wakanda.org/Model/Working-with-the-Model-API-v5.200-995188.ja.html
model.js
40. 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
41. 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)
移行時にコードを自動変換
する
しない
42. Shibuya, Tokyo
model API (v5)
http://doc.wakanda.org/Model/Working-with-the-Model-API-v5.200-995188.ja.html
XML to JSON
46. Shibuya, Tokyo
agenda
WAK3 WAK4 WAK5
openDataStore
open4DBase
model API v4 model API v5
addOutsideCatalog
addOutsideCatalog
addRemoteStore
addRemoteStore
integration
47. Shibuya, Tokyo
agenda
WAK3 WAK4 WAK5
openDataStore
open4DBase
model API v4 model API v5
addOutsideCatalog
addOutsideCatalog
addRemoteStore
addRemoteStore
http://doc.wakanda.org/--v4/What-s-removed-after.904-991912.ja.html
removed in WAK4...
50. 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.html
http://doc.wakanda.org/-/-/open4DBase.301-593664.ja.html
68. 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
69. Shibuya, Tokyo
free form syntax (v3)
http://doc.wakanda.org/.../Using-the-Free-Form-Edition-Mode.300-706962.ja.html
model.js
70. 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()
71. 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
72. 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にアクセス
73. 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
74. 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に書き換えるだけ・・・
75. 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*
*
76. 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
77. 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
78. 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
79. 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
80. 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
81. 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
82. Shibuya, Tokyo
model API (v5)
http://doc.wakanda.org/Model/Working-with-the-Model-API-v5.200-995188.ja.html
model.js
83. 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
84. 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)
移行時にコードを自動変換
する
しない
85. Shibuya, Tokyo
model API (v5)
http://doc.wakanda.org/Model/Working-with-the-Model-API-v5.200-995188.ja.html
XML to JSON