Tag Archives: Reference

অ্যাপ এমএল রেফারেন্স – এপিআই (AppML Reference – API)

Huge Sell on Popular Electronics

আদনান নাহিদ

 

অ্যাপ এমএল মেথড

 

মেথড বা পদ্ধতি বিবরণ
new AppML() একটি নতুন AppML অবজেক্ট বা বস্তু তৈরি করুন
appml ("name") নির্দিষ্ট নামের AppML অবজেক্ট বা বস্তু ফেরত দেয়
displayMessage(text) নির্দিষ্ট বার্তা প্রদর্শন করে
getData() অ্যাপ্লিকেশন থেকে তথ্য গ্রহণ করে
run() একটি অ্যাপ্লিকেশন অবজেক্ট বা বস্তু চালু করে
setError(no, description) একটি নির্দিষ্ট ত্রুটি এবং ত্রুটির বর্ণনা সেট করুন

 

AppML প্রোপার্টি

প্রোপার্টি বিবরণ
appName অ্যাপ্লিকেশন নাম (ধারক আইডি)
controller Aplication ধারক উপাদান
data অ্যাপ্লিকেশন ডাটা অবজেক্ট বা বস্তু
dataSource অ্যাপ্লিকেশন তথ্যের উৎস
displayType অ্যাপ্লিকেশন টাইপ ("ফর্ম" অথবা "তালিকা")
message আবেদন বার্তা
error অ্যাপ্লিকেশন অবজেক্ট বা বস্তুর ত্রুটি

 

ডেটা বস্তুর বৈশিষ্ট্যাবলী

প্রোপার্টি বিবরণ
data.model অ্যাপ্লিকেশন তথ্য মডেল
data.records অ্যাপ্লিকেশন রেকর্ড (তথ্য)

 

AppML ফরম মডেল বা পদ্ধতি

পদ্ধতি বিবরণ
newRecord() বর্তমান ফর্ম পুনরায় সেট করা
saveRecord() বর্তমান রেকর্ড সংরক্ষণ
deleteRecord() বর্তমান রেকর্ড মুছে ফেলা
closeForm() বর্তমান ফর্ম বন্ধ করা

 

AppML ফিল্টার প্রোপার্টি

পদ্ধতি বিবরণ
OrderBys ফিল্ডের নাম অনুসারে অ্যারে (Array) এর ক্রম
orderByDirections নির্দেশ অনুসারে অ্যারে (Array) এর ক্রম
queryFields ক্যোয়ারী ফিল্ডের নামের অ্যারে (Array)
queryValues ক্যোয়ারী মানের অ্যারে (Array)
queryTypes ক্যোয়ারী এর প্রকারের অ্যারে (Array)

 

অ্যাপ এম এল রেফারেন্সঃ ডাটাবেস (AppML Reference – Databases)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

 

ডাটাবেসের বৈশিষ্ট্য

ডাটাবেসের বৈশিষ্ট্য ডাটাবেসকে ডাটা সোর্সরূপে প্রদর্শন করে। এর কিছু উপবৈশিষ্ট্য আছে,

 

Element (উপাদান)
বর্ণনা
"connection" ডাটাবেসের কানেকশনের নাম
"execute" এসকিউএল বিবৃতির অ্যারি যা ডাটা পুনঃরসজ্জিত করার আগে সম্পাদন করতে হয় (ঐচ্ছিক)
"keyfield" মূল টেবিলের জন্য প্রধান ক্ষেত্র(ঐচ্ছিক)
"maintable" এপ্লিকেশনের জন্য মূল টেবিল(ঐচ্ছিক)
"orderby" নির্ধারিত এসকিউএল আরোপিত ক্লস(ঐচ্ছিক)
"sql" পুনঃরসজ্জিত ডাটার জন্য এসকিউএল বিবৃতি।

 

 

 

ডাটাবেস থেকে ডাটা গ্রহণ

এই মডেল এসকিউএল ডাটাবেসের কাস্টমার টেবিল থেকে কাস্টমার, সিটি, দেশ ইত্যাদি তথ্য গ্রহন করে থাকে।

 

Example


{
 "database": {
     "connection": "mysql",
     "sql"       : "SELECT CustomerName, City, Country FROM Customers",
     "orderby"   : "CustomerName"
 }
 }

 

 

 

ফিল্টার সীমাবদ্ধতা

ব্যবহারকারীদের ফিল্টার ডাটায় প্রবেশযোগ্য করতে মডেলে ফিল্টার তথ্য যোগ করা যায়,


"filteritems" : [
     {"item" : "CustomerName", "label" : "Customer"},
     {"item" : "City"},
     {"item" : "Country"}]

 

 

 

সর্টিং সীমাবদ্ধতা

ব্যবহারকারীদের সর্টিং ডাটায় প্রবেশযোগ্য করতে মডেলে সর্টিং বিষয়ক তথ্য যোগ করা যায়,

 


"sortitems" : [
{"item" : "CustomerName", "label" : "Customer"},
{"item" : "City"},
{"item" : "Country"}]


 

 

 

আপডেট সীমাবদ্ধতা

ব্যবহারকারীদের আপডেট ডাটায় প্রবেশযোগ্য করতে মডেলে আপডেট তথ্য যোগ করা যায়,

 

উদাহরণঃ


"updateItems" : [
     {"item" : "CustomerName"},
     {"item" : "Address"},
     {"item" : "PostalCode"},
     {"item" : "City"},
     {"item" : "Country"}]

 

 

 

বাই ডিফল্ট অ্যাপ এম এল ফিল্টার, সর্টিং বা আপডেটের সুযোগ দেবে কেবল উল্লেখিত মডেল অনুসারে।

 

 

ডাটাবেস কানেকশন

ডাটাবেস কানেকশনকে appml_config.php এর মধ্যে বিবৃত করা হয়,

appml_config.php


<?php echo("Access Forbidden");exit();?>
 {
 "dateformat" : "yyyy-mm-dd",
 "databases": [
     {
     "connection" : "mysql",
     "host"       : "127.0.0.1:3306",
     "dbname"     : "Northwind",
     "username"   : "myUserId",
     "password"   : "myPassword"
     },
     {
     "connection" : "googleDB",
     "host"       : "192.168.1.1:3306",
     "dbname"     : "Northwind",
     "username"   : "myUserId",
     "password"   : "myPassword"
     },
     {
     "connection" : "amazonDB",
     "host"       : "mydbinstance.amazon.com:3306",
     "dbname"     : "Northwind",
     "username"   : "myUserId",
     "password"   : "myPassword"
     },
     {
     "connection" : "azureDB",
     "host"       : "azure.cloudapp.net",
     "dbname"     : "Northwind",
     "username"   : "myUserId",
     "password"   : "myPassword"
     }
 ]
 }

 

কনফিগারেশন ফাইল অনেকগুলো ডাটাবেস কানেকশন ধারন করতে পারে।

 

 

ডাটাবেস তৈরি করা

যেহেতু অ্যাপ এম এল এপ্লিকেশন চালুর আগেই এসকিউএল বিবৃতি সম্পাদনের সুযোগ দেয় তাই কোনও ডাটাবেস তৈরির জন্যও আমরা এটিকে ব্যবহার করতে পারি,

Model


{
 "database" : {
 "connection" : "myCDs",
 "execute" : [
 "DROP TABLE IF EXISTS CD_Catalog",
 "CREATE TABLE IF NOT EXISTS CD_Catalog (CDID INT NOT NULL AUTO_INCREMENT,PRIMARY KEY (CDID),
  Title NVARCHAR(255),Artist NVARCHAR(255),Country NVARCHAR(255),Price NUMBER)"
 ]
 }}

 

দ্রুত প্রোটোটাইপিঙের জন্য উপযুক্ত।

 

অ্যাপ এম এল রেফারেন্সঃ ডাটা ফাইল (AppML Reference – Data Files)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

ডাটাবেসের বৈশিষ্ট্য

ডাটাবেসের বৈশিষ্ট্য ডাটাবেসকে ডাটা সোর্সরূপে প্রদর্শন করে।এর কিছু উপবৈশিষ্ট্য আছে,

উপাদান বিবরণ
"type" ডাটা ফাইলের ধরণ ("csvfile", "xmlfile", or "jsonfile")
"filename" ফাইলের নাম
"record" এক্সএমএল ডাটা নডের নাম (যদি xmlfile হয়)
"items" ডাটা আইটেম

 

টেক্সট ফাইল থেকে ডাটা

এই মডেল কমা দিয়ে আলাদা করা টেক্সট ফাইল থেকে টাইটেল, আর্টিস্ট, মূল্য এসব রেকর্ড খুঁজে নেয়,(আইটেম ১, ২, ৫ এর মত)।

উদাহরণ


{
 "data": {
     "type"    : "csvfile",
     "filename": "cd_catalog.txt",
     "items"   : [
         {"name": "Title", "index": 1},
         {"name": "Artist","index": 2},
         {"name": "Price", "index": 5}
     ]
 }
 }

উদাহরণের ব্যাখ্যা টেক্সট ফাইলের অনুরূপ

 

এক্সএমএল ফাইল থেকে ডাটা

এই মডেল এক্সএমএল ফাইলের সিডি নড থেকে টাইটেল, আর্টিস্ট, মূল্য এসব রেকর্ড খুঁজে নেয়।

উদাহরণ


{
 "data": {
     "type"    : "xmlfile",
     "filename": "cd_catalog.xml",
     "record"  : "CD",
     "items"   : [
         {"name": "Artist", "nodename": "ARTIST"},
         {"name": "Title",  "nodename": "TITLE"},
         {"name": "Country","nodename": "COUNTRY"}
     ]
 }
 }

উদাহরণের ব্যাখ্যা এক্সএমএল ফাইলের অনুরূপ

 

জেএসওএন ফাইল থেকে ডাটা

এই মডেল জেএসওএন ফাইলের সিডি অবজেক্টের আরি থেকে টাইটেল, আর্টিস্ট, মূল্য এসব রেকর্ড খুঁজে নেয়।

উদাহরণ


{
 "data" : {
     "type" : "jsonfile",
     "filename" : "cd_catalog.js",
     "record" : "cd",
     "items" : [
         {"name" : "Title", "nodename" : "title"},
         {"name" : "Artist", "nodename" : "artist"},
         {"name" : "Price", "nodename" : "price"}
     ]
 }
 }

উদাহরণের ব্যাখ্যা জেএসওএন ফাইলের অনুরূপ

 

অ্যাপ এম এল রেফারেন্স (AppML Reference)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

অ্যাপ এম এল এইচটিএমএল এট্রিবিউট

উদাহরণ,


<div appml-include-html="inc_header.htm"></div>
 
 <h1>Customers</h1>
 <table appml-data="customers.js" appml-controller="myController">
   <tr>
     <th>Customer</th>
     <th>City</th>
     <th>Country</th>
   </tr>
   <tr appml-repeat="records">
     <td>{{CustomerName}}</td>
     <td>{{City}}</td>
     <td>{{Country}}</td>
   </tr>
 </table>
 
<divappml-include-html="inc_footer.htm"></div>

 

 

 

Attribute Description Explained
appml-controller AppML controller হিসাবে বিবৃত AppML Controllers
appml-data এপ্লিকেশনের জন্য ডাটা সোর্স বিবৃত করে AppML Data
appml-include-html যে এইচটিএমএল ব্যবহৃত হবে তার বিবরণ AppML Includes
appml-repeat যে এইচটিএমএল পুনরাবৃত্ত হবে তার বিবরণ AppML Howto

 

অ্যাপ এম এল ম্যাসেজ

উদাহরণ,


function myController($appml) {
     if ($appml.message == "display") {
         if ($appml.display.name == "CustomerName") {
             $appml.display.value = $appml.display.value.toUpperCase();
         }
     }
 }

 

 

 

Message Description
"ready" অ্যাপ এম এল শুরুর পরে দেখায়, লোড করতে প্রস্তুত
"loaded" অ্যাপ এম এল লোডেড, ডাটা দেখাতে প্রস্তুত
"display" অ্যাপ এম এল কোনও ডাটা আইটেম দেখানোর আগে দেখায়।
"done" অ্যাপ এম এল সম্পন্ন হওয়ার পর দেখায়
"submit" অ্যাপ এম এল ডাটা সাবমিটের আগে দেখায়
"error" অ্যাপ এম এল কোনও ভুলের সম্মুখীন হলে দেখায়

 

অ্যাপ এম এল ম্যাসেজ অধ্যায়ে এগুলো আরও বিস্তারিত ব্যাখ্যা করা হবে।

 

অ্যাপ এম এল মডেল

উদাহরণ ,


{
 "security": "admin",
 "rowsperpage" : 10,
 
 "database": {
     "connection": "mysql",
     "sql"       : "SELECT * FROM Customers",
     "orderby"   : "CustomerName"}},
 
 "filteritems" : [
     {"item" : "CustomerName", "label" : "Customer"},
     {"item" : "City"},
     {"item" : "Country"}], 
 
 "sortitems" : [
     {"item" : "CustomerName", "label" : "Customer"},
     {"item" : "City"},
     {"item" : "Country"}]
 }

 

 

অ্যাপ এম এল মডেলের বৈশিষ্ট্য

 

উপাদান বর্ণনা
"data" মডেলের ফাইল সোর্স বর্ণনা করে।
"database" মডেলের ডাটাবেস সোর্স বর্ণনা করে।
"filteritems" ফিল্টারের সীমাবদ্ধতা নির্দেশ করে
"rowsperpage" প্রতি পেজে সারির সংখ্যা খুঁজে, বিবৃত করে
"security" মডেলের নিরাপত্তা বিবৃত করে
"sortitems" সর্টিং সীমাবদ্ধতা বিবৃত করে।

 

এপ্লিকেশন নিরাপত্তা

এপ্লিকেশনে ঢুকতে এডমিন মেম্বার হিসেবে লগ ইন করতে হবে।

উদাহরণ,


{
 "security": "admin",
 "database": {
     "connection": "mysql",
     "sql"       : "SELECT * FROM Customers",
     "orderby"   : "CustomerName"}
 }
প্রাইভেট মডেলঃ মডেলে নিজের প্রাইভেট ডাটা যোগ করার উপায় আছে, এই উদাহরণে ডাটার ক্ষেত্রে সীমাবদ্ধতা দেখানো হল,
"restrictions" : {
     "fname" : {"maxlength": 40},
     "price" : {"max": 999,"min": 100}
     }

 

 

মডেল ডাটা সার্ভার এপ্লিকেশনেও ব্যবহৃত হয়, অ্যাপ এম এল কন্ট্রোলার দ্বারা।

নিচের উদাহরণে ইনপুট ভ্যালিডেশনের জন্য মডেল ডাটা ব্যবহৃত হয়েছে।


function myController($appml) {
     if ($appml.message == "submit") {
         var price = document.getElementById("price").value;
         if (price < $appml.model.restrictions.price.min) {
             $appml.displayError(15, "Price too low!");
             return;
         }
 }