Gamatechno Web Application FrameWork (GTFW)
Enterprise Edition
PT Gamatechno Indonesia Copyright 2014 All Rights Reserved Manual GTFW Enterprise Edition
1
A. PENGENALAN ❏ Apa itu GTFW Enterprise Edition? Gamatechno FrameWork atau yang lebih familiar disebut GTFW, merupakan salah satu framework PHP yang dikembangkan oleh PT. Gamatechno Indonesia. Dalam proses pengembangan aplikasi, GTFW menggunakan model pendekatan ModelViewController (MVC). Sejak dikembangkan pada tahun 2006 hingga saat ini, GTFW Enterprise Edition telah mencapai versi 3.6 dengan penambahan dan perbaikan fitur pada versi sebelumnya.
❏ Mengapa harus GTFW Enterprise Edition? Tujuan utama penggunaan GTFW Enterprise Edition adalah untuk mempercepat dan menyeragamkan proses pengembangan aplikasi berbasis web dengan segmentasi enterprise maupun corporate, yang pada akhirnya akan memudahkan proses software maintenance , instalasi maupun transferknowledge software development .
❏ Bagaimana GTFW Enterprise Edition bekerja? GTFW Enterprise Edition dirancang untuk memudahkan programmer dalam mengembangkan aplikasi berbasis web. Programmer tidak perlu menulis kode dari nol atau kesulitan dalam mengimplementasikan proses autentikasi dan autorisasi dalam sebuah aplikasi. GTFW Enterprise Edition telah menyediakan set library untuk kebutuhan yang diperlukan, dengan tampilan antarmuka yang sederhana serta struktur menu yang langsung dapat digunakan. Dengan demikian programmer dapat lebih fokus dan kreatif dalam proses pengembangan modulmodul aplikasi yang dikembangkan. Manual GTFW Enterprise Edition
2
B. INSTALASI
❏ Unduh GTFW Enterprise Edition → GTFW Enterprise Edition (v3.6)
❏ Petunjuk Instalasi Proses instalasi aplikasi berbasis GTFW Enterprise Edition cukup mudah, pada prinsipnya adalah mengekstrak dan mengcopy filefile ke folder root server, serta melakukan restore file .sql (file database) ke server mysql, untuk kemudian dilakukan konfigurasi agar aplikasi tersebut bisa digunakan. Ada 3 hal komponen pokok dalam melakukan instalasi aplikasi berbasis GTFW Enterprise Edition, yaitu: 1. Base ➔ Filefile base ini tidak harus diletakkan di bawah folder root server dan cukup mengingat lokasi path foldernya, karena di tahapan konfigurasi kita perlu mendefinisikan letak path dari base ini. contoh : /path/to/base/ atau C:\path\to\base\ ➔ Pastikan base ini boleh dibase oleh user apache (terutama jika menggunakan linux). ➔ Base sudah termasuk dalam package yang sebelumnya telah diunduh dan bisa digunakan untuk beberapa aplikasi. 2. Application ( default version ) ➔ Application versi default adalah source code aplikasi yang masih dasar dan belum di devel untuk aplikasi tertentu. ➔ Application bisa diletakkan di bawah folder root server. contoh : /www/application/ atau /htdocs/application/ ➔ Application versi default juga sudah termasuk di dalam package yang sebelumnya sudah diunduh. 3. Database (default version) ➔ Database versi default adalah file dump .sql dari database yang compatible dengan application, hanya tabeltabel dasar dan belum ada tabel untuk aplikasi tertentu. Manual GTFW Enterprise Edition
3
❏ Konfigurasi Semua filefile konfigurasi untuk GTFW disimpan di direktori application/config. Pada dasarnya ada 2 konfigurasi utama yang harus disesuaikan dengan kondisi server instalasi yaitu: file gtfw_base_dir.def dan file application.conf.php. 1. gtfw_base_dir.def Ketika pertama kali developer mengunduh file package, maka di dalam folder application/config akan ada file gtfw_base_dir.def.sample . Untuk devel aplikasi, hapuslah sampel sehingga nama file menjadi gtfw_base_dir.def . Isikan dimana path direktori base yang telah diunduh. C:/path/to/base/
atau \path\to\base\
2. application.conf.php Sama halnya dengan proses gtfw_base_dir.def , untuk devel aplikasi hapuslah kata . sample sehingga nama file menjadi application.conf.php . Isikan data basedir , baseaddress dan lakukan konfigurasi pada koneksi database seperti berikut: /** * @copyright Copyright (c) 2014, PT Gamatechno Indonesia * @license http://gtfw.gamatechno.com/#license */ $application[ 'db_conn' ][ 0 ][ 'db_driv' ] = 'adodb' ; $application[ 'db_conn' ][ 0 ][ 'db_type' ] = 'mysqlt' ; $application[ 'db_conn' ][ 0 ][ 'db_host' ] = 'localhost' ; $application[ 'db_conn' ][ 0 ][ 'db_user' ] = 'user' ; // database user $application[ 'db_conn' ][ 0 ][ 'db_pass' ] = 'pass' ; // database password $application[ 'db_conn' ][ 0 ][ 'db_name' ] = 'nama_db' ; // database name $application[ 'db_conn' ][ 0 ][ 'db_result_cache_lifetime' ] = '' ; $application[ 'db_conn' ][ 0 ][ 'db_result_cache_path' ] = '' ; $application[ 'db_conn' ][ 0 ][ 'db_debug_enabled' ] = '' ; $application[ 'db_conn' ][ 0 ][ 'db_port' ] = '3306' ;
Manual GTFW Enterprise Edition
4
C. REGISTER MODUL ❏ Register Modul Masalah register modul dan menu pada aplikasi berbasis GTFW Enterprise Edition menjadi hal yang perlu diperhatikan karena modul dan menu yang Anda buat akan dapat ditampilkan ketika telah terregister pada tabeltabel yang ada di database. 1. Untuk pembuatan menu ada dua tabel yang berperan yaitu: ● gtfw_menu, untuk mendaftarkan menu yang akan mengakses modul ● gtfw_group_menu, untuk menentukan hak akses group terhadap menu. 2. Untuk pembuatan modul ada dua tabel yang berperan yaitu: ● gtfw_module, untuk mendaftarkan modul ● gtfw_group_module, untuk menentukan hak akses group terhadap modul. Dalam aplikasi berbasis GTFW Enterprise Edition, metode untuk developer meregisterkan menu dan modul yaitu dengan cara inject db. Untuk langkah awal, buatlah query insert menu parent ke tabel gtfw_module. INSERT INTO gtfw_module SET module = ‘core.home’, module_sub_module = ‘home’, module_action = ‘view’, module_type = ‘html’, module_desc = ‘deskripsi module’, module_access = ‘exclusive’, module_menu_id = ‘22’, module_application_id = ‘1’, module_action_id = ‘1’, insert_user_id = ‘1’, insert_timestamp = ‘’, update_user_id = ‘’, update_timestamp = ‘’,
Keterangan: ➔ module , nama folder modul harus sesuai dengan nama yang ada di field module . ➔ module_sub_module , Nama file yang di registerkan harus sesuai dengan nama sub module. Tidak casesensitive. ➔ module_action , Penamaan action file sama dengan field module_action . Seperti ViewListLatihanSatu, action file View. Manual GTFW Enterprise Edition
5
➔ module_type , type file sama dengan field type. ➔ module_desc, tentang deskripsi module. ➔ module_access, terdapat dua pilihan yaitu exclusive (akses dengan otentifikasi) dan all (akses tanpa otentifikasi). ➔ module_menu_id , berisikan menu_id yang menjadi acuan di menu mana akan ditampilkan. ➔ module_application_id , berisikan application_id yang ada di aplikasi GTFW yaitu di direktori application/config/application.conf.php. ➔ module_action_id , merupakan FK dari table gtfw_action. Pada aplikasi berbasis GTFW Enterprise Edition, di setiap module akan memiliki menu, dan di setiap menu terdapat menu parent dan sub menu. Berikutnya, buatlah menu parent dan sub menu di table gtfw_menu. INSERT INTO gtfw_menu SET menu_parent_id = ‘0’, menu_desc = ‘Menu Parent’, menu_is_show = ‘Yes’, menu_default_module_id = ‘0’, menu_application_id = ‘1’
Keterangan: ➔ 0 adalah angka default untuk menu parent. ➔ menu_desc , deskripsi menu yang dibuat. ➔ menu_default_module_id, halaman tujuan ketika menu tersebut di klik berisikan id module dari table gtfw_module. Untuk menu parent tujuannya adalah halaman home ➔ menu_is_show , menentukan apakah menu ingin ditampilkan atau tidak. ➔ menu_application_id , diisi dengan application_id yang ada di application/config/application.conf.php Selanjutnya membuat sub menu dari menu parent, masih tetap di gtfw_menu. INSERT INTO gtfw_menu SET menu_parent_id = ‘1’, menu_desc = ‘Nama sub menu’, menu_default_module_id = ‘21’, menu_is_show = ‘Yes’, menu_application_id = ‘1’
Manual GTFW Enterprise Edition
6
Kembali ke table gtfw_module, isikan field module_menu_id untuk module yang sebelumnya diregisterkan di table gtfw_module dan sesuaikan dengan value module_menu_id di table gtfw_menu. Langkah selanjutnya, masukkan data menu ke tabel gtfw_group_menu untuk memberi hak akses kepada menumenu yang sudah diregistrasikan. INSERT INTO gtfw_group_menu SET groupmenu_menu_id = ‘’, groupmenu_group_id = ‘’
Keterangan: ➔ groupmenu_group_id , berisikan id group dari tabel gtfw_group untuk memberikan hak akses ke group yang dituju ➔ groupmenu_menu_id , menu id berasal dari id di table gtfw_menu. Langkah yang sama, masukkan groupmodule_module_id ke tabel gtfw_group_module untuk memberi hak akses kepada module yang sudah diregistrasikan. INSERT INTO gtfw_group_module SET groupmodule_group_id = ‘’, groupmodule_module_id = ‘’
Manual GTFW Enterprise Edition
7
D. STEP BY STEP ❏ Pengantar Tutorial ini ditujukan untuk memperkenalkan pada developer tentang GTFW Enterprise Edition dan prinsipprinsip dasar arsitekturnya. Selain itu juga akan diberikan stepbystep bagaimana mengembangkan sebuah aplikasi berbasis GTFW Enterprise Edition.
❏ Halaman Dashboard GTFW Enterprise Edition Ketika Anda mengekstrak folder GTFW maka akan terdapat beberapa sub folder seperti terlihat pada gambar berikut ini:
Penjelasan masingmasing folder adalah sebagai berikut: ● config : berisi file konfigurasi gtfw ● css : berisi filefile yang mengatur tampilan pada gtfw ● doc : berisi dokumendokumen doc untuk pendukung ● images : berisi file gambar ● js : berisi file javascript untuk proses gtfw ● logs : berisi file log ● main : berisi file function, library, template Manual GTFW Enterprise Edition
8
Ketika developer akan mengakses aplikasi berbasis GTFW Enterprise Edition, langkah pertama pastikan anda sudah mengunduh dan menginstal package pada lingkungan pengembangan aplikasi anda. Selanjutnya, ketikkan localhost/direktori_gtfw/application pada address bar browser anda. Jika konfigurasi GTFW anda benar, browser akan menampilkan sebuah halaman login. Namun, apabila terjadi error , dan halaman yang diakses muncul ‘ Not Found’ , maka terdapat kesalahan penulisan alamat basedir pada file application.conf.php . $application[ 'basedir' ] = '/path/to/application/' ; // with trailling slash (sesuaikan dengan folder aplikasi)
Atau apabila terjadi kegagalan dalam load halaman login dan muncul notifikasi ‘ Fatal: Cannot find GTFW base! ’, maka developer perlu mengecek kembali struktur penulisan alamat direktori base yang digunakan. D:/path/to/gtfwbase atau \path\to\gtfwbase\
Apabila aturan penulisan alamat direktori diatas sudah benar, maka refresh kembali browser anda. Pada halaman login, ketikkan user dan password default ‘admin | admin’ untuk masuk ke halaman dashboard GTFW Enterprise Edition. Di dalam menu dashboard, terdapat beberapa menu yaitu menu CRUD, manajemen group, manajemen user, setting, unit, language dan translasi. Menu manajemen user berisi tentang datadata informasi pengguna yang terdaftar dalam aplikasi. Sedangkan, manajemen group merupakan menu yang berisikan informasi group meliputi deskripsi dan hak akses group. Berikutnya, manajemen CRUD merupakan generator menu yang didalamnya terdapat form aksi untuk membuat sebuah modul lengkap dengan sub modulnya. Ketika developer menggunakan menu CRUD ini, jangan lupa untuk tetap meregistrasikan modul tersebut secara manual. Manual GTFW Enterprise Edition
9
❏ Memahami Fungsionalitas dari Methodmethod yang Ada di Class Response Pertama, buatlah sebuah modul baru latihan.satu lengkap dengan direktori business, response dan template di dalamnya. Kemudian buatlah kelas baru dalam direktori response dengan nama ViewLatihanSatu.html.class.php dan isikan kode berikut: SetTemplateBasedir( Configuration ::Instance()>GetValue( 'application', 'docroot').'module/latihan.satu/template' ); $this>SetTemplateFile( 'view_latihan_satu.html' ); } function ProcessRequest () { $return[ ‘NAMA’ ] = ‘Novianto’ ; $return[ ‘EMAIL’ ] = ‘
[email protected]’ ; return $return; } function ParseTemplate ($data= null ) { $this>mrTemplate>addVar( 'info', ‘NAMA’ , $data[ ‘NAMA’ ]); $this>mrTemplate>addVar( 'info', ‘EMAIL’ , $data[ ‘EMAIL’ ]); } } ?>
Kelas ViewLatihanSatu merupakan perluasan dari kelas HtmlResponse. Kelas tersebut disimpan di direktori base/main/lib/gtfw/html. Selain HtmlResponse , kelas yang lain seperti JsonResponse , PdfResponse , XlsxResponse dan lainnya juga bisa digunakan sesuai kebutuhan devel aplikasi. Untuk kelas response dasar, biasanya terdiri dari beberapa fungsi yaitu: a. TemplateModule() , merupakan fungsi untuk mendefinisikan letak dan nama template modul yang akan digunakan untuk kelas response tersebut. b. ProcessRequest() , merupakan fungsi untuk memproses dan mengolah data. Manual GTFW Enterprise Edition
10
c.
ParseTemplate() , merupakan fungsi untuk menampilkan data.
Selanjutnya, buatlah file templatenya pada direktori latihan.satu/template dengan nama view_latihansatu.html. Dan isikan kode berikut: < h1 > Latihan Satu h1 >< br /> NAMA : < b >{NAMA} b >< br /> EMAIL : < b >{EMAIL} b >
Langkah terakhir, lakukan register modul seperti yang pernah dijelaskan sebelumnya dan lihatlah hasilnya.
❏ Memahami Bagaimana Mengambil Data dari Database dan Mengolahnya di Response Pertama, buatlah modul baru dengan nama latihan.dua , lengkap dengan direktori business, response dan template didalamnya. Buatlah file dengan nama latihandua.sql.php, simpan dalam direktori latihan.dua/business/mysqlt/. Isikan dengan kode berikut: $sql[ ‘get_latihandua’ ] = “ SELECT a.religion_id AS `id`, a.religion_name AS `name` FROM ref_religion a ORDER BY a.religion_name ASC “ ;
Kemudian buatlah kelas baru dari query tersebut dengan nama LatihanDua.class.php dan simpanlah di direktori yang sama. Isikan dengan kode berikut:
Manual GTFW Enterprise Edition
11
class LatihanDua extends Database { function __construct ($connectionNumber= 0 ) { parent:: __construct($connectionNumber); $this>mSqlFile = ' module/latihan.dua/business/mysqlt/latihandua.sql.php '; $this>SetDebugOn(); } function getLatihanDua () { $result = $this>Open($this>mSqlQueries[ ‘get_latihandua’ ], array()); return $result; } } ?>
Selanjutnya, untuk menjalankan modul tersebut buatlah kelas response dengan nama ViewLatihanDua.html.class.php simpan di direktori latihan.dua/response/. Isikan dengan kode berikut: SetTemplateBasedir( Configuration ::Instance()>GetValue( 'application', 'docroot').'module/latihan.dua/template' ); $this>SetTemplateFile( 'view_latihandua.html' ); } function ProcessRequest () { $ObjLatihanDua = GtfwDispt()>load>business('LatihanDua', 'latihan.dua'); $data = $ObjLatihanDua>getLatihanDua($filter); return compact ( 'data' ); } function ParseTemplate ($rdata= null ) { extract ($rdata); if (!empty($data) AND count($data)>0) { $no = 1; foreach ($data as $val) { $val[ 'no' ] = $no; $this>mrTemplate>addVars( 'item' , $val); $this>mrTemplate>parseTemplate( 'item' , 'a' ); $no++; } }
Manual GTFW Enterprise Edition
12
Kemudian, jangan lupa juga buat file template dengan nama view_latihandua.html dan simpan di direktori latihan.dua/template/ . Isikan dengan kode berikut: < h1 >Latihan Dua h1 >< br > < div class= "contentbox" > < table class= "tablecommon" > < tr >< th >No th >< th > Nama th > tr > < tr > < td >{NO} td > < td >{NAME} td > tr > table > div >
Langkah terakhir, registerkan modul seperti pembahasan sebelumnya, dan lihatlah hasilnya.
❏ Memahami Fitur Kondisi dari patTemplate Penggunaan fungsi kondisional sering dijumpai ketika devel aplikasi dengan pemrograman PHP, namun di patTemplate developer bisa membuat kondisional sendiri sehingga tampilan dapat di atur sesuai kebutuhan. Caranya adalah sebagai berikut: Copypaste modul latihan.dua dan rename dengan nama latihan.tiga . Modifikasilah file ViewLatihanTiga.html.class.php dengan mengikuti kode berikut: 0) { $this>mrTemplate>addVar('data', 'IS_EMPTY', 'NO'); $no = 1; foreach ($data as $val) { $val[ 'no' ] = $no; $this>mrTemplate>addVars( 'item' , $val); $this>mrTemplate>parseTemplate( 'item' , 'a' ); $no++;
Manual GTFW Enterprise Edition
13
} } else { $this>mrTemplate>addVar( 'data' , 'IS_EMPTY' , 'YES' ); } ?>
Pada fungsi ParseTemplate diberikan kode kondisional untuk proses pengecekan di patTemplate . Seperti terlihat pada kode program di atas, jika data dari variabel $data nilainya kosong maka akan di jalankan sub patTempate yang bernilai ’Yes’ , begitu juga sebaliknya. Dalam proses pemarsingan data, addVar digunakan untuk parsing single variabel. Sedangkan addVars digunakan untuk parsing data dalam bentuk jamak atau banyak variabel dan biasanya berbentuk array . Sedangkan berikutnya, modifikasi juga pada file view_latihantiga dengan mengikuti kode berikut: < h1 >Latihan Tiga h1 >< br > < table class= "tablecommon" width= "100" > < tr >< th >No th >< th > Nama th > tr > < tr >< td colspan= ”2” align= ”center” > Data tidak ditemukan td > tr > < tr > < td >{NO} td > < td >{NAME} td > tr > table >
Untuk mengeceknya, langkah terakhir adalah meregisterkan modul latihan.tiga ke database, dan lihatlah hasilnya. Manual GTFW Enterprise Edition
14
❏ Memahami CRUD Generator GTFW Enterprise Edition CRUD generator merupakan sebuah modul default di aplikasi berbasis gtfw enterprise edition yang sistem kerjanya membantu para developer untuk mempercepat proses development. Modul crud mengakomodasi developer untuk menciptakan fungsi Create, Read, Update dan Delete menjadi lebih simple dan efisien. Developer tidak perlu membuat file per module atau bahkan koding manual tiap response, namun semua sudah tergenerate dengan baik. Hanya saja kekuranganya adalah developer tetap harus meregisterkan masing module yang tergenerate ke dalam database.
Langkah awal adalah memilih menu. Menu disini adalah default menu yang akan menampilkan module ketika proses seleksi. Pilihan menu bisa sebagai parent maupun child. Apabila ingin membuat menu baru bisa klik gambar dialog seperti berikut:
dan akan muncul kotak
Manual GTFW Enterprise Edition
15
Isilah masing masing inputan tersebut sesuai dengan petunjuknya. Jika ingin membuat menu sebagai parent, field Parent Menu alangkah baiknya tidak dipilih. Selanjutnya mengisi nama module. Nama module disini adalah nama folder modul yang ada di direktori aplikasi. Perhatikan ketentuan penamaan module. Apabila lebih dari satu suku kata, maka pisahkan dengan ‘dot’. Kemudian langkah selanjutnya, memilih aksi module. Pada bagian ini, terdapat checkbox beberapa jenis response yang dapat anda pilih seperti pada gambar berikut:
Keterangan: ➔ Pada nomor 1, merupakan jenis file response yang berhubungan dengan output pada browser. Jika ingin menampilkan data saja dapat memilih menu View. Sedangkan Add/Update adalah prosesing menambah atau mengupdate data. ➔ Pada nomor 2, merupakan pemilihan aksi modul yang terdiri dari dua jenis aksi yaitu ‘view’ dan ‘do’. Masingmasing aksi tersebut juga memiliki type output yakni ‘html’ untuk aksi ‘view’ dan ‘json’ untuk aksi ‘do’.
Manual GTFW Enterprise Edition
16
➔ Pada nomor 3 merupakan settingan module yang menandakan jenis file mana yang ditampilkan pertama kali ketika aplikasi dijalankan. Selanjutnya, pemilihan penggunaan combo box pada module dan mengisi detil deskripsi. Pilih juga referensi tabel yang digunakan untuk fungsi CRUD. Ketika memilih salah satu tabel database maka akan muncul pilihan filter box pencarian berdasarkan kolom tabel tersebut. Selain itu juga terdapat pilihan kolom mana saja yang akan ditampilkan ke browser.
Ketika form tersebut sudah submit, maka sistem akan mengenerate module lengkap dengan komponen template, response dan business. Di dalamnya juga sudah include default code untuk masingmasing jenis file yang sebelumnya dipilih seperti view, do, filtering dan lainnya. Langkah terakhir adalah meregisterkan tiaptiap file tersebut ke database. Dan perlu diketahui, proses register hanya tinggal melakukan pendaftaran grup di gtfw_group_menu maupun gtfw_group_module.
E. PEMBAHASAN UMUM ❏ Penamaan File dan Folder 1. Penamaan folder modul Folder modul ditulis dengan lowercase , jika terdiri dari dua kata atau lebih pisahkan dengan dot “.”, prefix dapat ditambahkan sesuai kebutuhan. Contoh: core . user, core.login, comp.menu, core.lang.key Aplikasi yang menggunakan database singledb , setiap modulnya wajib menggunakan prefix sesuai aplikasinya masingmasing. 2. Penamaan folder modul milik gtfw dan modul umum
Manual GTFW Enterprise Edition
17
Modul yang digunakan oleh gtfw atau yang mengakses tabel berawalan gtfw harus diberi prefix gtfw_. Modul yang bersifat umum tidak menggunakan prefix apapun. 3. Struktur folder di dalam folder modul Folder modul harus memiliki 3 folder di dalamnya, yaitu: business, response, dan template . Nama folder harus berupa lowercase . Tidak ada larangan menambahkan folder lain jika dibutuhkan, meskipun demikian sebaiknya tetap dihindari. 4. Folder business Di dalam folder business dapat ditambahkan folder sesuai kebutuhan tetapi mengikuti engine yang disediakan oleh ADODB , seperti: mysqlt, postgres, dll. Folderfolder tersebut untuk menempatkan filefile yang berhubungan dengan akses ke database.
Gambar 1. Folder business
5. Filefile yang terdapat pada folder mysqlt dan variannya Terdapat 2 macam file pada folder ini, yang pertama adalah file dengan format nama_file.sql.php , file ini digunakan untuk menyimpan s cript query , ditulis dengan lowercase dan diakhiri dengan .sql.php , nama file dapat disesuaikan dengan kebutuhan, jika terdiri dua kata atau lebih penulisan digabung saja. File kedua adalah file dengan format NamaFile.class.php , file ini digunakan untuk menyimpan kelas dan fungsi untuk menjalankan query di file namafile.sql.php , .class.php ditulis dengan lowercase , sedangkan NamaFile ditulis dengan TitleCase , semua kata digabungkan menjadi satu.
Manual GTFW Enterprise Edition
18
Gambar 2. Folder mysqlt
6. Filefile yang terdapat pada folder response Semua file pada folder response harus diakhiri dengan .class.php , terdapat 2 varian file jika dilihat berdasarkan infiks pada nama file, yaitu infiks yang terletak sebelum .class.php , yaitu: pertama adalah file dengan akhiran .proc.class.php. File ini berfungsi untuk menyimpan sintakssintaks pemrosesan. Kedua adalah file dengan infiks bervariasi sesuai kebutuhan terhadap output yang diinginkan, infiks tersebut mengikuti fiturfitur yang tersedia pada GTFW, seperti .html.class.php, .json.class.php, .xls.class.php, .pdfx.class.php, dll. Kedua varian akhiran file tersebut harus ditulis dengan lowercase . Terdapat beberapa jenis file pada folder response, yaitu: View, Do, Print, dan Process . View dan Print adalah file yang berhubungan dengan tampilan di halaman browser, sedangkan Do dan Process berfungsi untuk melaksanakan prosesproses dan tidak berhubungan langsung dengan tampilan. a. File dengan awalan View dapat memiliki akhiran antara lain: ● .xls.class.php adalah file untuk menampilkan halaman berupa xls ● .pdfx.class.php adalah file untuk menampilkan halaman berupa pdf ● .html.class.php adalah file untuk menampilkan halaman berupa html (baik dengan tipe json maupun html) b. File dengan awalan Do dapat memiliki akhiran antara lain: ● .html.class.php untuk mengembalikan dengan tipe html ● .json.class.php untuk mengembalikan dengan tipe json c. File dengan awalan Process memiliki akhiran .proc.class.php . File ini tidak secara langsung berhubungan dengan core gtfw, melainkan hanya sebagai bantuan untuk meletakkan fungsifungsi pemrosesan yang digunakan oleh modul. File dengan awalan Do baik json maupun html akan mengakses file ini. Dengan adanya file proses menjadikan fungsi cukup sekali dibuat dan dapat digunakan bersamasama oleh file Do dengan tipe json dan html . 7. Filefile yang terdapat pada folder template Semua file pada folder template ditulis dengan lowercase dan diakhiri dengan .html, jika nama file terdiri dari dua kata atau lebih, pisahkan dengan underscore “_”.
Manual GTFW Enterprise Edition
19
Gambar 3. Folder template
8. Filefile selain modul mengikuti aturan umum , yaitu ditulis dengan lowercase dan kata dipisahkan dengan underscore .
Manual GTFW Enterprise Edition
20
G. LINCENSE AGREEMENT GTFW Hak cipta (c) 20062014, PT Gamatechno Indonesia. Lisensi ini merupakan perjanjian hukum antara PT Gamatechno Indonesia dengan pengguna GTFW (Gamatechno Framework). Dengan mengunduh, memiliki dan menggunakan framework ini, maka pengguna GTFW setuju untuk mematuhi syarat dan ketentuan dari lisensi ini. Pengguna GTFW diijinkan untuk menggunakan, menyalin, dan mendistribusikan GTFW Framework beserta dokumentasi, dengan syarat kondisi berikut ini terpenuhi: 1. Salinan perjanjian lisensi ini harus disertakan dalam distribusi. 2. Pendistribusian kembali source code harus menyertakan pemberitahuan hak cipta di atas source code pada semua file dan tanpa modifikasi dalam base GTFW. 3. Setiap file yang telah dimodifikasi harus menyertakan pemberitahuan yang menyatakan sifat perubahan dan nama orangorang yang mengubahnya. 4. Produk yang berasal dari GTFW harus menyertakan pengakuan bahwa produk tersebut berasal dari GTFW dengan versi tertentu dalam dokumentasinya, tidak menggunakan nama GTFW sebagai bagian dari nama produk tersebut, dan produk tersebut bukan merupakan produk komersial yang bertujuan mendapatkan profit. 5. Pengguna GTFW setuju untuk mengganti kerugian atas klaim pihak ketiga yang langsung, tidak langsung, insidental, atau konsekuensial apapun, dari penyalahgunaan framework, atau pelanggaran persyaratan lisensi ini. Disclaimer of Warranty GTFW disediakan sebagaimana adanya, tanpa jaminan apapun, baik tersurat maupun tersirat. Limitations of Liability Pengguna menanggung segala risiko yang terkait dengan instalasi dan penggunaan GTFW. Pemegang lisensi bertanggung jawab menentukan kelayakan penggunaan dan risiko yang terkait dengan penggunaannya, serta tidak terbatas untuk risiko kesalahan aplikasi, kerusakan peralatan, kehilangan data dan gangguan operasional.
Manual GTFW Enterprise Edition
21