-
Notifications
You must be signed in to change notification settings - Fork 19
Home
- Tentang IGN SDK
- IGN SDK Application Creator and Builder
-
- IGN SDK Application Creator
-
- IGN SDK Application Builder
- IGN SDK API
-
- Struktur IGN SDK PI
-
- Penggunaan IGN SDK API
-
- Fungsi pada IGN SDK API
-
- Status IGN SDK API
-
- Parsing Konfigurasi Widget IGN SDK (Widget Config Parser)
- Tutorial penggunaan IGN SDK
IGN SDK merupakan salah satu dari aplikasi Hybrid yang mengkombinasikan native dan web. IGN SDK pada awalnya diciptakan untuk mempermudah pembuatan aplikasi pada Igos Nusantara, pada perkembangannya tersedia untuk berbagai macam sistem operasi seperti Linux, Windows dan MacOS.
IGN SDK Application Creator merupakan sebuah perintah pada IGN SDK yang digunakan untuk membangun sebuah aplikasi atau project dari IGN SDK.
Format penggunaan IGN SDK Application Builder seperti dibawah ini :
ignsdk-app-creator [OPTION]
Opsi yang ada di IGN SDK Application Creator
- -p, --pkgname =[PACKAGE NAME]
Contoh :
ignsdk-app-creator -p control-panel
IGN SDK Application Builder adalah sebuah perintah pada IGN SDK yang digunakan untuk mem-build atau membangun sebuah aplikasi dari paket project aplikasi yang sudah di buat.
Format penggunaan IGN SDK Application Builder seperti di bawah ini :
ignsdk-app-builder [OPTION] [PACKAGE NAME or PROJECT DIRECTORY]
Beberapa opsi yang ada di IGN SDK Application Builder adalah :
- -p, --pkgname digunakan untuk membuat paket project sesuai dengan nama project
- -d, --dir digunakan untuk membuat brankas atau directory project
Contoh :
$ignsdk-app-builder --pkgname control-panel
$ignsdk-app-builder --dir /home/igos/IGNSDK-APP/control-panel.ign
Pada umumnya struktur dari IGN SDK API adalah sebagai berikut:
ign.nama_fungsi()
-
.ign
berfungsi untuk memanggil fasilitas API dari IGN SDK -
.nama_fungsi()
adalah nama fungsi yang telah disediakan oleh IGN SDK.
IGN SDK API bisa digunakan dalam 2 kondisi, yaitu:
- Diletakkan pada baris di dalam script, seperti di bawah ini:
<script>ign.nama_fungsi();</script>
- Diletakkan pada fungsi dalam komponen
<input class="btn btn-primary" type="submit" onclick="ign.nama_fungsi()">
API IGN Message adalah API dari IGN SDK yang digunakan untuk mengakses message box pada IGN
-
.showMessage()
digunakan untuk menampilkan box pesan (message box). format penggunaanign.showMessage('pesan')
API IGN Developer Mode adalah API dari IGN SDK yang digunakan untuk mengaktifkan inspeksi atau menampilkan debugging mode pada aplikasi IGN SDK yang bisa digunakan untuk mengoreksi kesalahan pada source code
-
.setDev(true)
digunakan untuk menampilkan menu tambahan debugging. format penggunaanign.setDev(true)
API IGN Signal adalah API dari IGN SDK yang dapat digunakan untuk memberikan interupsi dan atau sinyal pada aplikasi yang di bangun dari IGN SDK
-
.quit()
digunakan untuk keluar dari frame aplikasi (close). format penggunaanign.quit()
-
.back()
digunakan untuk kembali ke frame aplikasi sebelumnya (back). format penggunaanign.back()
-
.forward()
meneruskan ke frame aplikasi yang di tuju (forward). format penggunaanign.forward()
-
.reload()
mengaktifkan klik kanan untuk muat ulang. format penggunaanign.reload()
-
.stop()
menghentikan proses pada aplikasi (stop). format penggunaanign.stop()
API IGN Windows Function adalah API dari IGN SDK yang bisa digunakan untuk mengatur tampilan pada window aplikasi yang di bangun menggunakan IGN SDK
-
.windowMaximized(bool)
digunakan untuk mengatur tampilan maksimal ukuran window aplikasi. format penggunaanign.windowsMaximized(bool)
-
.widgetSizeMax(width,height)
digunakan untuk mengatur ukuran layar maksimal secara manual. format penggunaanign.widgetSizeMax(300,100)
-
.widgetSizeMin(width,height)
digunakan untuk mengatur ukuran layar minimal secara manual. format penggunaanign.widgetSizeMin(300,100)
-
.widgetSize(width,height)
digunakan untuk mengatur ukuran layar default secara manual. format penggunaanign.widgetSize(300,100)
-
.getFullScreen(bool)
digunakan untuk menampilkan utuh seluruh layar dengan memperhatikan suatu keadaan. format penggunaanign.getFullScreen(bool)
-
.getToggleFullScreen()
digunakan untuk menampilkan utuh seluruh layar dengan memperhatikan suatu keadaan dalam toggle. format penggunaanign.getToggleFullScreen()
-
.showMaximized()
digunakan untuk memaksimalkan ukuran tampilan layar. format penggunaanign.showMaximized()
-
.showMinimized()
digunakan untuk menyembunyikan tampilan aplikasi. format penggunaanign.showMinimized()
API Sistem adalah API dari IGN SDK yang dapat digunakan pada script aplikasi yang berhubungan dengan fungsi-fungsi yang berhubungan secara langsung dengan sistem atau mengakses sistem
-
.cliOut()
digunakan untuk memerintahkan sistem dan juga mengambil keluaran dari perintah. format penggunaanign.cliOut('perintah_sistem')
-
.loadBin(nama_file)
digunakan untuk mengeksekusi sebuah binary file pada lokasi tertentu sejalan dengan berjalannya sistem(memberikan return path dari app.ign/bin/scriptbash). format penggunaanign.loadBin("bashscript-example")
-
.exec(nama_file)
digunakan untuk mengeksekusi sebuah binary file diluar aplikasi dengan hanya menjalankan dengan proses yang berbeda. format penggunaanign.exec(file_eksekusi)
API IGN Security adalah API dari IGN SDK yang digunakan untuk mengaktifkan beberapa pengaturan yang ada di aplikasi yang di bangun dengan IGN SDK
-
.websecurity()
digunakan untuk mengaktifkan websecurity di javascript dengan memperhatikan suatu keadaan dan juga ini bisa di pakai untuk mengijinkan atau tidak XHR request cross domain. format penggunaanign.websecurity(bool)
API File System adalah API dari IGN SDK yang digunakan untuk mengakses file system pada aplikasi yang di bangun dengan menggunakan IGN SDK
-
var fs = ign.filesystem();
digunakan untuk mengecek lokasi aplikasi atau Home.
Contoh penggunaan
<!doctype html>
<html>
<head>
<script type="text/javascript" src="qrc:///js/jquery.js"></script>
<script type="text/javascript" src="qrc:///js/ign.js"></script>
<script type="text/javascript">
var fs = ign.filesystem();
$(document).ready(function(){
//check home path
$('#homepath').click(function(){
alert("Your HOME PATH : "+fs.homePath());
});
//check app path
$('#apppath').click(function(){
alert("Your APP PATH : "+fs.appPath());
});
});
</script>
</head>
<body>
<button id="homepath">Checking Home Path!</button>
<button id="apppath">Checking Application Path!</button>
</body>
</html>
- Home Path
Penggunaan Fungsi
.homePath()
digunakan untuk mendapatkan path dari home (home path). - Application Path
Penggunaan Fungsi
.appPath()
digunakan untuk mendapatkan path dari aplikasi (app path).
- File or Directory exist
Penggunaan fungsi
.axists("/PATH/to/file")
digunakan untuk mengecek ketersediaan file atau directory. keluaran dari sistem adalahbool
. - Checking Directory
Penggunaan fungsi
.isDirectory("/PATH/to/file")
digunakan untuk mengecek apakah yang dimaksud adalah directory. keluaran sistem adalahbool
- Checking File
Penggunaan fungsi
.isFile("/PATH/to/file")
digunakan untuk mengecek apakah yang dimaksud adalah file. keluaran sistem adalahbool
- Absolute Directory
Penggunaan fungsi
.isAbsolute("/PATH/to/file")
digunakan untuk mengecek apakah direcotry yang dituju bersifat absolute. keluaran sistem adalahbool
- Executable File
Penggunaan fungsi
.isExecutable("/PATH/to/file")
digunakan untuk mengecek apakah yang dimaksud adalah file executable. keluaran sistem adalahbool
- Writable File
Penggunaan fungsi
.isWritable("/PATH/to/file")
digunakan untuk mengecek apakah yang dimaksud adalah file yang bisa dilakukan operasi tulis (bisa ditulis). keluaran sistem adalahbool
- Symbolic Link
Penggunaan fungsi
.isLink("/PATH/to/file")
digunakan untuk mengecek apakah yang dimaksud adalah sebuah link. keluaran sistem adalahbool
Digunakan untuk melakukan perintah dan operasi yang berkaitan dengan directory. Format penggunaan .dir("options","/PATH/to/file")
. Pilihan operasi
-
"remove"
digunakan untuk menghapus directory -
"create"
digunakan untuk membuat directory Keluaran dari sistem adalahbool
- File Remove
Format penggunaan
.fileRemove("/PATH/to/file")
. digunakan untuk menghapus dokumen sesuai dengan path. Keluaran sistem adalahbool
- File Write
Format penggunaan
.fileWrite("/PATH/to/file","input")
. digunakan untuk membuat dokumen sesuai dengan path dengan memberikan nilai padainput
. input berupa file bertipestring
.Keluaran sistem adalahbool
- File Read
Format penggunaan
.fileRead("/PATH/to/file")
. digunakan untuk membaca dokumen sesuai dengan path. Keluaran sistem adalahstring
Tutorial lengkap tersedia di http://blog.ignsdk.web.id/?p=766#more-766
API IGN Network adalah API dari IGN SDK yang digunakan dengan segala hal yang terkait dengan pengelolaan dan pengaksesan jaringan
-
.saveFile().download(url,path,id selector feedback)
digunakan untuk melakukan download file pada aplikasi yang di bangun dengan IGN SDK. format penggunaanign.download(url,ign.homePath()+"/dl","meter1")
API IGN Hash adalah API dari IGN SDK yang digunakan untuk melakukan hashing pada aplikasi yang di bangun dengan IGN SDK
-
.hash(string:md4,md5,sha1)
digunakan untuk melakukan hashing pada sebuah string. Mendukung hash dengan md4, md5 dan sha1. format penggunaanhash("string_yang_di_hash","md5")
API IGN Database adalah API dari IGN SDK yang digunakan untuk berkomunikasi dan mengadakan interaksi dengan pengelolaan database yang di dukung oleh IGN SDK
-
.sql()
digunakan untuk memanggil IGN SDK API sql. format penggunaanign.sql()
-
.driver("nama_database","lokasi_server:user_database:password:_password_database")
digunakan untuk melakukan koneksi kepada database. format penggunaansql.driver (“mysql”, “localhost: root: password: ignsdk”)
-
.query ("query_yang_dibutuhkan")
digunakan untuk melakukan query yang ada pada database. format penggunaanign.query ("select * from participants")
-
console.log(query.status)
digunakan untuk melakukan pengecekan status koneksi database. Hasilnya bisa true maupun false. format penggunaanconsole.log ($. parseJSON (sql.query (“select * from participants”)).status)
atau query bisa di jadikan variabel tersendiri. -
console.log (query.content);
digunakan untuk menampilkan record data. format penggunaanconsole.log ($. parseJSON (sql.query (“select * from participants”)).content)
atau query bisa di jadikan variabel tersendiri.
Catatan Penggunaan Database yang lebih spesifik
- set driver :
sql.driver("sql_driver ex:sqlite2/sqlite3/mysql","connection")
- connection :
mysql = "hostname:user:password:database";
sqlite2 or sqlite3 = "database file";
Contoh Penggunaan SQL Database
/ / call IGNSDK sql API
var sql = ign.sql();
/ / connect to database
var driver = sql.driver (“mysql”, “localhost: root: password: ignsdk”);
/ / query
var query = $. parseJSON (sql.query (“select * from participants”));
/ / check connection status
console.log (query.status); / / false or true
/ / get data record
console.log (query.content);
- contoh proyek bisa di buka di
https://github.com/anak10thn/ignsdk-example/tree/master/mysql.ign
API Options adalah API dari IGN SDK yang digunakan pada saat menjalankan aplikasi pada IGN SDK
-
-p
merujuk pada pengaksesan project ign sdk. Format penggunaan$ ignsdk -p <lokasi_project>
.Contoh penggunaan$ ignsdk -p /usr/share/ign-sdk/test/widget.ign
. -
-f
merujuk pada kustomisasi file pokok aplikasi IGN SDK di mana secara default adalah indek.html. Format penggunaan$ ignsdk -p <lokasi_project> -f <nama_file_pokok>
. Contoh penggunaan$ ignsdk -p /usr/share/ign-sdk/test/widget.ign -f main.html
. -
-d
atau--dev
merujuk pada fungsi debuging pada aplikasi IGN SDK. Untuk penggunaan debuging dilakukan dengan klik kanan kemudian memilih pilihaninspect
. Format penggunaan$ ignsdk -p <lokasi_project> -d
. Contoh penggunaan$ ignsdk -p /usr/share/ign-sdk/test/widget.ign -d
. -
-v
atau--version
merujuk pada informasi dari versi IGN SDK. Contoh penggunaan$ ignsdk --v
atau$ ignsdk --version
.
-
-t
atau--transparent
merujuk pada pembuatan transparan widget IGN SDK. Untuk menggunakan options ini xcomgr atau compiz harus aktif. Format penggunaan$ ignsdk -p <lokasi_project> -t
atau$ ignsdk -p <lokasi_project> --transparent
. Contoh Penggunaan$ ignsdk -p /usr/share/ign-sdk/test/widget.ign --transparent
atau$ ignsdk -p /usr/share/ign-sdk/test/widget.ign -t
. -
--noFrame
merujuk pada disable Frame widget IGN SDK. Format penggunaan$ ignsdk -p <lokasi_project> -noFrame
. Contoh Penggunaan$ ignsdk -p /usr/share/ign-sdk/test/widget.ign --noFrame
.
- python di IGNSDK (FIX)
- cliOut() or spwan (FIX)
- exec() (FIX)
- transparant widget (FIX)
- widget config parser (FIX)
- none frame option (Experiment)
- toggle fullscreen() mode (FIX)
- json parser (Experiment)
- Sqlite (FIX)
- web storage HTML5 (FIX)
- geolocation (Experiment)
- Application creator (FIX)
- Aplication builder (FIX)
- Template (experiment)
- Check network connection (experiment code)
- SQL Driver (FIX)
Untuk melakukan parsing konfigurasi widget di IGN SDK. Kita harus membuat file dengan nama ignsdk.json
pada folder project IGN SDK. false
untuk menonaktifkan dan true
untuk mengaktifkan. Contoh :
{
"config" : {
"debug" : true ,
"websecurity" : true,
"name" : "tes ign config"
},
"window" : {
"transparent" : true,
"maximize" : true,
"noframe" : false,
"fullscreen" : false,
"width" : 200,
"height" : 100
},
"button" : [
"back",
"forward",
"stop",
"reload"
]
}
Keterangan
-
"config" : { "debug" : true }
Menyatakan konfigurasi pokok pada IGN SDK. salah satu option adalah untuk menjalankan debugging mode. -
"config" : {"websecurity" : true }
Menyatakan konfigurasi manifest pada aplikasi di IGN SDK yang berfungsi untuk mengaktifkan websecurity di javascript dan juga ini bisa di pakai untuk mengijinkan atau tidak XHR request cross domain -
"config" : {"name" : "tes ign config"}
Mengubah nama default sesuai dengan string yang kita inginkan pada manifest window. Pada contoh di atas, nama manifest akan berubah dari ignsdk menjadi "tes ign config". -
"window" : { "transparent":true, "noframe":false, "fullscreen":false "width":200, "height":100}
Menyatakan konfigurasi untuk melakukan setting pada widget (window). Beberapa diantaranya adalah pilihan transparent mode, noFrame mode dan fulscreen mode dan pengaturan secara manual ukurang desktop tampilan. -
"button" : { "back", "forward", "stop", "reload" }
Menyatakan konfigurasi button pada widget aplikasi.
- website (http://ignsdk.web.id)
- blog (http://blog.ignsdk.web.id)