Skip to content
This repository has been archived by the owner on Sep 7, 2024. It is now read-only.
IGOS Nusantara edited this page Nov 4, 2013 · 54 revisions

Igos Nusantara Software Development Kit (IGN SDK)#

Isi

  • 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

Tentang 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 and Builder

IGN SDK Application Creator

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

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

IGN SDK API

Struktur IGN SDK

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.

Penggunaan IGN SDK API

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()">

Fungsi pada IGN SDK API

API Message

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 penggunaan ign.showMessage('pesan')

API IGN Developer Mode

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 penggunaan ign.setDev(true)

API IGN Signal

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 penggunaan ign.quit()
  • .back() digunakan untuk kembali ke frame aplikasi sebelumnya (back). format penggunaan ign.back()
  • .forward() meneruskan ke frame aplikasi yang di tuju (forward). format penggunaan ign.forward()
  • .reload() mengaktifkan klik kanan untuk muat ulang. format penggunaan ign.reload()
  • .stop() menghentikan proses pada aplikasi (stop). format penggunaan ign.stop()

API Window Function

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 penggunaan ign.windowsMaximized(bool)
  • .widgetSizeMax(width,height) digunakan untuk mengatur ukuran layar maksimal secara manual. format penggunaan ign.widgetSizeMax(300,100)
  • .widgetSizeMin(width,height) digunakan untuk mengatur ukuran layar minimal secara manual. format penggunaan ign.widgetSizeMin(300,100)
  • .widgetSize(width,height) digunakan untuk mengatur ukuran layar default secara manual. format penggunaan ign.widgetSize(300,100)
  • .getFullScreen(bool) digunakan untuk menampilkan utuh seluruh layar dengan memperhatikan suatu keadaan. format penggunaan ign.getFullScreen(bool)
  • .getToggleFullScreen() digunakan untuk menampilkan utuh seluruh layar dengan memperhatikan suatu keadaan dalam toggle. format penggunaan ign.getToggleFullScreen()
  • .showMaximized() digunakan untuk memaksimalkan ukuran tampilan layar. format penggunaan ign.showMaximized()
  • .showMinimized() digunakan untuk menyembunyikan tampilan aplikasi. format penggunaan ign.showMinimized()

API IGN Sistem

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 penggunaan ign.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 penggunaan ign.loadBin("bashscript-example")
  • .exec(nama_file) digunakan untuk mengeksekusi sebuah binary file diluar aplikasi dengan hanya menjalankan dengan proses yang berbeda. format penggunaan ign.exec(file_eksekusi)

API IGN Security

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 penggunaan ign.websecurity(bool)

API File System

API File System adalah API dari IGN SDK yang digunakan untuk mengakses file system pada aplikasi yang di bangun dengan menggunakan IGN SDK

INIT
  • 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>
System Path
  • 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).
Checking File or Directory#####
  • File or Directory exist Penggunaan fungsi .axists("/PATH/to/file") digunakan untuk mengecek ketersediaan file atau directory. keluaran dari sistem adalah bool.
  • Checking Directory Penggunaan fungsi .isDirectory("/PATH/to/file") digunakan untuk mengecek apakah yang dimaksud adalah directory. keluaran sistem adalah bool
  • Checking File Penggunaan fungsi .isFile("/PATH/to/file") digunakan untuk mengecek apakah yang dimaksud adalah file. keluaran sistem adalah bool
  • Absolute Directory Penggunaan fungsi .isAbsolute("/PATH/to/file") digunakan untuk mengecek apakah direcotry yang dituju bersifat absolute. keluaran sistem adalah bool
  • Executable File Penggunaan fungsi .isExecutable("/PATH/to/file") digunakan untuk mengecek apakah yang dimaksud adalah file executable. keluaran sistem adalah bool
  • 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 adalah bool
  • Symbolic Link Penggunaan fungsi .isLink("/PATH/to/file") digunakan untuk mengecek apakah yang dimaksud adalah sebuah link. keluaran sistem adalah bool
Handling Directory

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 adalah bool
Handling File
  • File Remove Format penggunaan .fileRemove("/PATH/to/file"). digunakan untuk menghapus dokumen sesuai dengan path. Keluaran sistem adalah bool
  • File Write Format penggunaan .fileWrite("/PATH/to/file","input"). digunakan untuk membuat dokumen sesuai dengan path dengan memberikan nilai pada input. input berupa file bertipe string.Keluaran sistem adalah bool
  • File Read Format penggunaan .fileRead("/PATH/to/file"). digunakan untuk membaca dokumen sesuai dengan path. Keluaran sistem adalah string

Tutorial lengkap tersedia di http://blog.ignsdk.web.id/?p=766#more-766

API IGN Network

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 penggunaan ign.download(url,ign.homePath()+"/dl","meter1")

API IGN Hash

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 penggunaan hash("string_yang_di_hash","md5")

API IGN Database

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 penggunaan ign.sql()
  • .driver("nama_database","lokasi_server:user_database:password:_password_database") digunakan untuk melakukan koneksi kepada database. format penggunaan sql.driver (“mysql”, “localhost: root: password: ignsdk”)
  • .query ("query_yang_dibutuhkan") digunakan untuk melakukan query yang ada pada database. format penggunaan ign.query ("select * from participants")
  • console.log(query.status) digunakan untuk melakukan pengecekan status koneksi database. Hasilnya bisa true maupun false. format penggunaan console.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 penggunaan console.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

API Options adalah API dari IGN SDK yang digunakan pada saat menjalankan aplikasi pada IGN SDK

Generic Options
  • -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 pilihan inspect. 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.
Window Options
  • -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.

Status IGN SDK API

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

Parsing Konfigurasi Widget IGN SDK (Widget Config Parser)

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.

Tutorial Penggunaan IGN SDK

Clone this wiki locally