<AppML> ケーススタディ - アプリケーションモデル
このケーススタディでは、データベース内の複数のテーブルに対する情報の一覧表示、編集、検索機能を備えた、完全な <AppML> インターネットアプリケーションを構築する方法を説明します。
アプリケーションモデル
この章では、データベース内の Customers テーブル用の完全なアプリケーションモデルを作成します。
<AppML> フィルタ
<AppML> データのフィルタリングを許可するには、モデルに <filters> 要素を追加するだけです。
インスタンス:
<query>
<field label="Customer">CustomerName</field>
<field>City</field>
<field>Country</field>
</query>
<order>
<field label="Customer">CustomerName</field>
<field>City</field>
<field>Country</field>
</order>
</filters>
詳細については、<AppML> リファレンスマニュアルを参照してください。リファレンスマニュアル。
<AppML> アップデート
<AppML> データの更新を許可するには、モデルに <update> 要素を追加するだけです。
インスタンス:
<item><name>LastName</name></item>
<item><name>FirstName</name></item>
<item><name>BirthDate</name></item>
<item><name>Photo</name></item>
<item><name>Notes</name></item>
</update>
また、<database> 要素に <maintable> 要素と <keyfield> 要素を追加します。
インスタンス:
<keyfield>CustomerID</keyfield>
詳細については、<AppML> リファレンスマニュアルを参照してください。リファレンスマニュアル。
<AppML> セキュリティ
<AppML> モデルにセキュリティを追加するには、<AppML> タグに security 属性を追加するだけです。
インスタンス:
上記の例では、ユーザーグループ 'admin' のメンバーとしてログインしたユーザーのみがモデルにアクセスできます。
<update> 要素にセキュリティを設定するには、<update> 要素に security 属性を追加するだけです。
インスタンス:
<item><name>LastName</name></item>
<item><name>FirstName</name></item>
<item><name>BirthDate</name></item>
<item><name>Photo</name></item>
<item><name>Notes</name></item>
</update>
完全な Customers モデル
この章では、データベース内の各テーブルに対してアプリケーションモデルを作成します。
Models という名前の新しいフォルダーを作成します。Models フォルダー内に、各アプリケーションのモデルを作成します。
モデル: Customers.xml
<datasource>
<database>
<connection>Demo</connection>
<maintable>Customers</maintable>
<keyfield>CustomerID</keyfield>
<sql>SELECT * FROM Customers</sql>
<orderby>CustomerName,City,Country</orderby>
</database>
</datasource>
<filters>
<query>
<field label="Customer">CustomerName</field>
<field>City</field>
<field>Country</field>
</query>
<order>
<field label="Customer">CustomerName</field>
<field>City</field>
<field>Country</field>
</order>
</filters>
<update security="admin">
<item><name>CustomerName</name></item>
<item><name>ContactName</name></item>
<item><name>Address</name></item>
<item><name>PostalCode</name></item>
<item><name>City</name></item>
<item><name>Country</name></item>
</update>
</appml>
モデルビュー
モデルビューを作成し、Demo_Model.html として保存して、試してみましょう:
ビュー: Demo_Model.htm
<div id="List01"></div>
<script src="appml.js.html"></script>
<script>
customers=new AppML("appml.htmlx","Models/Customers");
customers.run("List01");
</script>
試してみる »
すべてを1つにまとめる
次に、少しの JavaScript コードを使用して、すべてのモデル用のテストページを作成します:
Demo_Model_Views.htm
<html>
<head>
<link rel="stylesheet" href="appml.css.html" />
</head>
<body>
<h1>Demo Applications</h1>
<button onclick='myOpen("Customers")'>Customers</button>
<button onclick='myOpen("Products")'>Products</button>
<button onclick='myOpen("Suppliers")'>Suppliers</button>
<button onclick='myOpen("Shippers")'>Shippers</button>
<button onclick='myOpen("Categories")'>Categories</button>
<button onclick='myOpen("Employees")'>Employees</button>
<button onclick='myOpen("Orders")'>Orders</button>
<button onclick='myOpen("OrderDetails")'>OrderDetails</button>
<br><br>
<div id="Place01"></div>
<script src="appml.js.html"></script>
<script>
function myOpen(pname)
{
var app_obj
app_obj=new AppML("appml.php","Models/" + pname);
app_obj.run("Place01");
}
</script>
</body>
</html>
結果を表示 »
その他の拡張