07.16.09
Gentle Introduction to Fusion
Perkenalan
Fusion adalah framework untuk membuat modul Drupal dengan mengadopsi konsep Pemrograman Berorientasi Objek dan konsep-konsep best practice di dunia software Engineering. Fusion dibuat oleh [Oky Purnama]
Konsep Dasar
Fusion dibuat berdasarkan konsep [Model View Controller]. Model View Controller adalah konsep yang memisahkan antara Model, yaitu kode-kode yang berhubungan dengan bisnis proses, View yaitu kode untuk menampilkan interface, dan Kontroller untuk mengontrol suatu request akan ditangani oleh model yang mana dan ditampilkan oleh view yang mana. Dalam fusion sebenarnya ditambah satu lagi yaitu [Form], yaitu kode-kode untuk membangun form, hal ini karena mengadopsi konsep pembangunan modul yang ada pada drupal
Install Portal Drupal dari subversion
Untuk menginstall portal pertamina ep di lokal ikuti langkah-langkah berikut ini:
1. Checkout portal dari https://apps.pertamina-ep.com/svn/drupal/trunk
2. Download data dari database development, yang harus di download ada dua database drupal_dev dan pep_dev
3. Buat file settings.php, ubah setingan database menunjuk kedua database yang telah di download tadi, contohnya:
$db_url['default'] = 'mysql://root:pwd@localhost/drupal_svn';
$db_url['pep'] = 'mysql://root:pwd@localhost/pep_dev';
4. Masih di settings.php tambahkan item-item berikut:
$db_prefix = array(
'default' => '_portal_',
'access' => '',
'filters' => '',
'filter_formats' => '',
// 'permission' => '',
'role' => '',
'sequences' => '',
'sessions' => '',
'users' => '',
'users_roles' => '',
);
$base_url = 'http://localhost/svnrepo'; // NO trailing slash!
$cookie_domain = 'localhost';
5. Pastikan module rewrite.load digunakan oleh apache2 dan opsi allow override sudah dijadikan All
6. Kosongkan table _portal_cache, _portal_menu dan _portal_page pada database
04.24.09
Perkenalan dengan workflow-ng
Workflow-ng adalah modul Drupal yang dapat digunakan untuk membuat aliran kerja (workflow). Tool-tool workflow sering digunakan untuk menyederhanakan pembuatan software. Proses-proses bisnis yang terjadi dalam suatu perusahaan dimodelkan ke dalam workflow. Keuntungannya adalah ketika proses bisnis berubah, kode software tidak perlu dirubah yang perlu dilakukan adalah mengubah aliran kerja pada tool-tool workflow yang digunakan. Selain workflow-ng tool workflow yang sering digunakan adalah jBPM (Java Bussiness Process Management).
Workflow-ng terdiri dari tiga komponen penting yaitu Configuration, Event, dan Action. Configuration adalah konfigurasi dari event yang disinkronkan dengan Action, atau dengan bahasa sederhana Ketika suatu Event terjadi Action apa yang akan dilakukan. Event adalah kejadian yang terjadi pada suatu situs. kejadian ini bisa bermacam-macam, kejadian seperti User Login, Content yang diedit sudah default di dalam modul workflow-ng, sedang untuk kejadian lain seperti penambahan data keuangan (pada modul keuangan) maka custom event seperti ini harus ditambahkan pada workflow-ng dengan perantara API yang disediakan. Action adalah aksi-aksi pada software, seperti redirect page, mengirim email secara otomatis, dll. Ketiga komponen ini bisa ditambah melalui user interface yang disediakan oleh workflow-ng atau melalui kode php secara kustom.
02.26.08
Google Summer Of Code 2008 dimulai
http://blog.scholarscamp.com/google-summer-of-code-2008-dimulai/
Pagi tadi iseng-iseng buka email, ternyata ada pengumuman dari groups Eclipse, kalau Google Summer Of Code 2008 sudah dimulai. Ku cek ternyata betul. Jadi teringat musim panas tahun lalu. Sekadar mo sharing aja mudah-mudahan bermanfaat untuk yang lain.
Sewaktu GSOC 2007 mulai (kebetulan beban kuliah sudah selesai (tinggal revisi), jadi dengan tanpa beban bisa ikut program ini. Berhubung wisuda ku Mei 2007 dan kebutuhan minimal GSOC 2007 harus paling tidak terdaftar sebagai “student” pada Mei 2007 artinya saya masih masuh dalam hitungan (bersyukur juga TA dan revisi tidak berjalan terlalu lancar, ternyata ada hikmahnya Subhanallah:)).
Total ada 8 proyek yang kumasukkan, repot juga bikinnya tapi aku pikir sepadan lah dengan hasil akhirnya nanti. Kapan lagi bisa dapat $4500 (bisa buat startup company), kaos, stiker, buku, sertifikat resmi Google, dan kesempatan jadi developer Open Source.. Dari delapan proposal tidak semua teknologinya sudah kukuasai waktu itu kupikir yang penting idenya dulu masalah lain belakangan. Alhamdulillah proposal ke Joomla diterima, yang bikin terkejut proposal yang masuk, bukan proposal andalan ku apalagi saya sama sekali belum tahu cara buat plugin Eclipse, lebih-lebih Joomla baru sebatas install. Bulan pertama bisa dibilang bulan yang paling berat selain harus belajar Joomla dan Eclipse, juga harus belajar bahasa inggris, maklum bahasa inggris ku pas-pasan, dan belajar subversion dan tracker. Alhamdulillah ALLAH SWT memudahkan proyek berhasil.
Tahun lalu ada 4 orang indonesia yang masuk Google Summer Of Code. dan semuanya berhasil. Saya berharap tahun ini akan semakin banyak yang ikut. Belum tahu/belum belajar bahasa/framework/teknologinya tidak apa-apa yang penting mau belajar, bahasa inggris tidak lancar tidak apa-apa yang penting bisa koding, talk is cheap show me your code, the code is the documentation , code is hacker’s language.
Yang ingin berdiskusi seputar Google Summer Of Code, proposal, ide, atau pertanyaan lain. silahkan berkomentar pada http://scholarscamp.com/out/Google_Code_-_Summer_of_Code___-___Google_Summer_of_Code-1
Want to write open source code?
Want to make money?
Want to do both?
In 2007 alone, Google Summer of CodeTM brought together 900 students and nearly 1500 mentors across 90 countries to contribute to over 130 different open source software projects. We’re looking for mentors and students to join us in making 2008 the best Summer of Code yet! We’ll be offering successful student contributors a 4500 USD stipend, enabling them to focus on their coding projects for three months.
The Google Summer of Code program is designed to encourage student participation in open source development. Kicking off in 2005, the program has several goals:
-
Inspire young developers to begin participating in open source development
-
Provide students in Computer Science and related fields the opportunity to do work related to their academic pursuits during the summer
-
Give students more exposure to real-world software development scenarios (e.g., distributed development, software licensing questions, mailing-list etiquette, etc.)
-
Get more open source code created and released for the benefit of all
-
Help open source projects identify and bring in new developers and committers
Google will accept applications from open source projects from 3 – 12 March 2008. Student applications will be accepted from 24 – 31 March.
Full details on requirements for participating, including how to apply and more on the all-important t-shirt at
02.24.08
Email Menggunakan PHP (Yahoo Mail by pass)
Fuad Dwi Rizki
Mengirim email menggunakan PHP sebenarnya bukan perkara sulit. Karena Php telah memiliki fungsi built in “mail”. mail($to,$subject,$body);
Untuk beberapa mail server, fungsi mail akan berjalan dengan baik(Gmail salah satunya). Tetapi ada sebagian mail server yang langsung menganggap email yang dikirim oleh “mail” adalah spam seperti Yahoo dan Hotmail. Hal ini disebabkan karena email yang dikirim tidak memiliki signature.
Untuk mengatasinya saya mendapat tips dari teman saya untuk menggunakan phpmailer, dengan memanfaatkan smtp server yang gratis seperti Gmail.
Berikut ini adalah kode yang saya gunakan dengan library dari phpmailer.
include_once(“libs/class.phpmailer.php”);
include_once(“libs/class.smtp.php”);
function mailViaGmail ($gmail_username,$gmail_password,$from,$sender,
$subject,$body,$recipient,recipient_name,$header){
$mail=new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = “ssl”; // sets the prefix to the servier
$mail->Host = “smtp.gmail.com”; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port
$mail->Username = $gmail_username; // GMAIL username
$mail->Password = $gmail_password; // GMAIL password
$mail->From = $from;
$mail->FromName = $sender;
$mail->Subject = $subject;
$mail->Body = “$body”; //HTML
$mail->AddCustomHeader($header);
//$mail->AltBody = “$body”;
//Text Body
//$mail->WordWrap = 50; // set word wrap
$mail->AddAddress(“$recipient”,”$recipient_name”);
$mail->AddReplyTo(“$from”,”$sender”);
$mail->IsHTML(false); // send as HTML
if(!$mail->Send()) {
echo “Mailer Error: ” . $mail->ErrorInfo;
} else {
echo “Message has been sent”;
}
}
06.13.07
Joomla Auto Login
Sebenarnya bagaimana sih cara buat joomla otomatis login?????. Sudah hampir tiga minggu hal ini tidak bisa kupecahkan. Memang ada beberapa solusi tapi semuanya kurang berhasil alias ada kondisi tertentu dimana autologin tidak berjalan.
Hal pertama yang kucoba adalah tabel database session nya Joomla kuubah manual. Prinsipnya setelah user login maka semua field yanng ada di tabel session akan diupdate nilai nya. Kesulitannya Joomla memiliki field data yang itu merupakan data-data variabel session dengan format yang tidak manusiawi. Dengan sedikit coba-coba ternyata solusi ini berhasil. Cuma kelemahannya bagaimana cara mengupdate browser yang telah dibuka oleh user?????. Nah disini pikiran ku Ubuntu.
Akhirnya kucari jalan lain saja. Solusi yang terpikir saat itu adalah dengan mengirim secara manual pesan ke http server. Dengan mengirim data ke port 80 http server, jadi semacam browser kecil2an. Tantangannya adalah saya harus memperlajari format data “POST” yang akan diterima http server. Akhirnya berhasil. Tapi punya kelemahan, user tidak bisa melakukan operasi-operasi administrator seperti mengedit module, component, dll. Bug yang sangat fatal. >:)
Seletelah sempat pusing beberapa hari. Akhirnya solusi ideal (sampai saat ini) kutemukan juga. Ide nya kudapat dari eyez@eyezberg.com (terimakasih) . Caranya dengan membuat form html dengan user dan password dilletakkan pada field hidden. Lalu dengan otomatis form tersebut akan di submit menggunakan javascript.
<html>
<form action='http://localhost/JoomlaEclipse_test/administrator/index.php' method='post' name='loginForm' id='loginForm'>
<input name=’username’ type=’hidden’ value=’admin’>
<input name=’passwd’ type=’hidden’ value=’admin’>
<input type=’hidden’ name=’lang’ value=’en-GB’ />
<input type=’submit’ name=’submit’ value=’login’/>
<input type=’hidden’ name=’option’ value=’com_login’ />
<input type=’hidden’ name=’task’ value=’login’ />
</form>
<script language=’JavaScript’>setTimeout(‘document.loginForm.submit.click()’,1);</script>
</html>
Fuiiih
06.11.07
JEclipse Milestone 1
This version has feature
- Create Joomla Module Project
- Code completion for Joomla! api
- Test Joomla Module on webserver and mysql server which already installed
Source code of this milestone can be downloaded from official svn repository of Joomla Soc 2007 (http://joomlacode.org/gf/project/soc2007/scmsvn/). I also provide binary file of this project (http://www.kleq.web.ugm.ac.id/images/joomlaeclipse/org.joomla.eclipse.joomlaextension_1.0.0.jar).
To install JEclipse, first you need J!Code (http://joomlacode.org/gf/project/jcode/), Apache web server and Mysql server too. If you download the source code you must compile it first. This can be done by open it with Eclipse IDE (http://eclipse.org) not with J!Code set target platform to J!Code, build, and export it to plugin. But if you download the binary you just have to copy “org.joomla.eclipse.joomlaextension_1.0.0.jar” to plugin directory of J!Code.
To make module project just open menu file>New>Other>Project, Select Joomla>Joomla Module Project.
This step will generate joomla module called mod_<project_name>. When you create this project, plugin also creating index of Joomla api by read it from the plugin. So you can see list of class, method, and constant provided by Joomla! (Joomla! API). To test this module select Run>Run and double click “Joomla Module”
You will be showed list of textbox, fill it with appropriate configuration of your server. Access type field is access type of Joomla! module. Then module will be displayed on web browser like this
Next work:
fixing bug of joomla module testing
implementing administrator module testing
03.13.07
Cake PHP Reloaded
Setelah sekitar 7 bulan meninggalkan cakephp, hari ini ternyata harus make. Soalnya mo bikin aplikasi cepat sih. Maklum saja kan ada bake n scaffold. Tapi ternyata harus menyesuaikan diri cukup lama, maklum 7 bulan belakangan aku kembali ke bahasa favorit ku Java “the one stop solution”. Aku ingat nya cuma cara konfigurasi nya saja, pas mo bikin model, view, dan controller nya ternyata udah lupa. terpaksa lah buka manual nya lagi.
Sebenarnya di Java juga ada yang mirip cake ada trails, grails, dan sails tapi rata rata belum stabil yang paling stabil paling grails dengan versi 4.1. Tapi bahasanya Groovy yang brarti harus blajar bahasa lagi. Akhirnya pilihan jatuh kembali ke cake, dengan pertimbangan pengalaman selama 2 bulan dan dengan stabilitas dengan yang lebih baik (sekarang sudah versi 1.1.13).
Todo list hari ini belajar cake kembali dan buat prototipe aplikasi krs mahasiswa







