Posted in Komputer/IT

iScaffold, CRUD Generator untuk CodeIgniter


Ketika mengerjakan project baru, hal yang pertama dilakukan oleh programmer biasanya adalah menulis code model untuk database yang telah di-design oleh database designer. Biasanya code yang pertama ditulis adalah code untuk create, read, update, delete (CRUD) untuk tiap table pada database. Lalu menulis controller-nya lalu view-nya. Biasanya hal ini cukup menyita waktu apabila table yang terdapat pada database cukup banyak.

Beberapa framework lain telah menyediakan code generator yang sudah built-in. Contohnya framework Yii yang menyediakan code generator Gii. Sehingga proses pembuatan CRUD menjadi lebih mudah dan cepat. Programmer tinggal melanjutkan coding yang lebih application-specific dan bisa fokus ke business process nya. CodeIgniter belum menyediakan code generator seperti ini secara built-in sehingga banyak komunitas ataupun perorangan yang berinisiatif untuk membuat code generator seperti ini. Salah satunya adalah iScaffold.

Testing iScafold di localhost

  1. Download iScaffold dari url http://iscaffold.skyweb.hu atau https://github.com/kowdermeister/iScaffold

    Website iScaffold
    Website iScaffold
  2. Setelah selesai di-download, extract hasil download-an (iScaffold-master.zip) ke folder www atau htdocs di localhost. Contoh command:
    cd ~/Downloads/
    sudo unzip ./iScaffold-master.zip -d /opt/lampp/htdocs/
  3. Buat directory “output” di dalam directory iScaffold-master hasil extract-an (/opt/lampp/htdocs/iScaffold-master), dan ubah mode nya agar bisa di-write oleh webserver
    cd /opt/lampp/htdocs/iScaffold-master/
    sudo mkdir ./output
    sudo chmod 777 ./output
    
  4. Edit file konfigurasi database: /opt/lampp/htdocs/iScaffold-master/application/config/database.php
    cd /opt/lampp/htdocs/iScaffold-master/config/
    sudo vim ./database.php
    ...
    $db['iscaffold']['username'] = 'root';
    $db['iscaffold']['password'] = '';
    $db['iscaffold']['database'] = 'sakila';
    catatan: sesuaikan dengan settingan database Anda
    
  5. Buka url iScaffold yang ada di localhost melalui browser http://localhost/iScaffold-master/

    iScaffold start screen
    iScaffold start screen
  6. Pilih database yang akan kita generate code CRUD nya dari drop down “Select database

    iScaffold App
    iScaffold App
  7. Klik “Open Configurator” untuk meng-configure lebih detail dari field-field di database tersebut
    sf_config
    sf_config

    Klik “create here to create it” untuk membuat table configuration untuk iScaffold

    Field Editor
    Field Editor

    Setelah selesai mengedit, klik “Save Changes

  8. Klik “Generate application“, tunggu sampai tampil “Your application is generated

    App generated
    App generated
  9. Hasilnya terdapat di folder /opt/lampp/htdocs/iScaffold-master/output/
  10. Edit file /opt/lampp/htdocs/iScaffold-master/output/application/config/config.php, isi “encryption_key” dengan key pilihan Anda
    cd /opt/lampp/htdocs/iScaffold-master/output/application/config/
    sudo vim ./config.php
    ...
    $config['encryption_key'] = 'rahasia';
    
  11. Edit file /opt/lampp/htdocs/iScaffold-master/output/application/config/database.php
    cd /opt/lampp/htdocs/iScaffold-master/output/application/config/
    sudo vim ./database.php
    ...
    $db['iscaffold']['username'] = 'root';
    $db['iscaffold']['password'] = '';
    $db['iscaffold']['database'] = 'sakila';
    sesuaikan dengan database Anda
    
  12. Test di browser, masukan url http://localhost/iScaffold-master/output/
    Output dashboard
    Output dashboard
    Grid View
    Grid View

    Output dari iScaffold berupa aplikasi CodeIgniter lengkap dengan code CRUD dan controller beserta view nya. Anda tinggal meng-copy direktori “output” ke direktori project Anda dan mulai mengedit dan melanjutkan project Anda.
    Catatan: view yang dihasilkan oleh iScaffold menggunakan template Smarty

Kesimpulan: iScaffold adalah salah satu dari tools yang bisa dimanfaatkan oleh programmer untuk mengenerate code CRUD untuk aplikasi CodeIgniter secara mudah dan cepat. Prosesnya cukup mudah dan hasilnya cukup lengkap beserta controller dan viewnya.

Tetapi yang perlu diperhatikan adalah karena prosesnya dilakukan secara otomatis sehingga semua model hasilnya sama, padahal kemungkinan kita memerlukan beberapa model yang memerlukan special-treatment. Untuk kasus ini mungkin programmer perlu membuat/mengedit model tersebut secara manual. Meskipun ada field configurator, tetapi tetap saja untuk fine-grain detail nya perlu editing lebih lanjut secara manual oleh programmer.

Juga ada satu yang perlu diperhatikan adalah validasi yang digenerate oleh iScaffold tidak bisa diconfigure secara detail, untuk ini juga programmer perlu mengedit lagi validasi dari tiap form sesuai dengan requirement dari proses business project kita. Namun secara keseluruhan, hasil code CRUD yang dihasilkan oleh iScaffold cukup memuaskan apalagi sudah mencakup juga controller dan view nya yang cukup sedap dipandang.

Catatan: Langkah-langkah di atas diasumsikan OS yang digunakan adalah Linux, dengan menggunakan software lampp/xampp sebagai web servernya

Selamat mencoba!
Wassalam

2 thoughts on “iScaffold, CRUD Generator untuk CodeIgniter

    1. ada karakter yang tidak diperbolehkan di uri nya, coba periksa data yang dipost maupun uri nya,, dan periksa juga config $config[‘permitted_uri_chars’]

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s