<AppML> Estudio de caso - Modelo de aplicación


Este estudio de caso demuestra cómo construir una aplicación de Internet <AppML> completa, con funciones para listar, editar y buscar información en varias tablas de la base de datos.


Modelo de aplicación

En este capítulo, construiremos un modelo de aplicación completo para la tabla Customers de la base de datos.


<AppML> Filtros

Para permitir el filtrado de datos de <AppML>, simplemente agregue un elemento <filters> al modelo:

Ejemplo:

<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>

Para obtener una comprensión completa, consulte <AppML>Manual de referencia。


<AppML> Actualización

Para permitir la actualización de datos de <AppML>, simplemente agregue un elemento <update> al modelo:

Ejemplo:

<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>

Y agregue elementos <maintable> y <keyfield> al elemento <database>:

Ejemplo:

<maintable>Customers</maintable>
<keyfield>CustomerID</keyfield>

Para obtener una comprensión completa, consulte <AppML>Manual de referencia。


<AppML> Seguridad

Puede agregar seguridad a un modelo <AppML> fácilmente añadiendo un atributo security a la etiqueta <AppML>.

Ejemplo:

<appml security="admin">

En el ejemplo anterior, solo los usuarios que inician sesión como miembros del grupo de usuarios "admin" pueden acceder al modelo.

Para establecer seguridad para el elemento <update>, simplemente agregue un atributo security al elemento <update>:

Ejemplo:

<update security="admin">
<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>


Modelo Customers completo

En este capítulo, configuraremos un modelo de aplicación para cada tabla de la base de datos.

Cree una nueva carpeta llamada Models. Dentro de la carpeta Models, cree un modelo para cada aplicación.

Modelo: Customers.xml

<appml security="">

<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>



Vista del modelo

Cree una vista de modelo, guárdela como Demo_Model.html y pruébela:

Vista: Demo_Model.htm

<h1>Customers</h1>
<div id="List01"></div>

<script src="appml.js.html"></script>
<script>
customers=new AppML("appml.htmlx","Models/Customers");
customers.run("List01");
</script>

Pruébelo »


Ahora combine todo junto

Luego, con una pequeña cantidad de código JavaScript, cree una página de prueba para todos los modelos:

Demo_Model_Views.htm

<!DOCTYPE html>
<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>

Mostrar resultado »


Otras extensiones