Arsip

Arsip untuk Februari, 2009

Mereset Password (Forgot Password)

Februari 22, 2009 Andry Sucipto Komentar dimatikan

Mereset Passwort atau Biasa kita sebut Forgot Password, ini biasa digunakan saat kita kehilangan password kita, maka sistem akan membuatkan password kita yang akan di kirimkan ke email kita, caranya, bisa diikuti langkah langkah berikut dengan asumsi setting email udah di lakukan :

pada view :

forgot.html

<% form_for :user do |f| -%>
<table id=”newedit”>
<thead>
<tr>
<th colspan=”2″ >Request link to reset password</th>
</tr>
</thead>
<tbody>
<tr>
<td align=”right”><label>Email:</label></td>
<td><%= f.text_field :email %></td>
</tr>
<tr>
<td></td>
<td><%= submit_tag ‘Submit’ %></td>
</tr>
</tbody>
</table>
<% end -%>

Pada Controller :

def forgot
if request.post?
re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/
user = User.find_by_email(params[:user][:email])
@new_password = generate_password(20)
if params[:user][:email] != “” && re.match(params[:user][:email]) && user
user.password = @new_password
if UserMailer.deliver_forgot_password(user)
user.update_attribute(:password, @new_password)
flash[:notice] = “Sudah terupdate”
end
end
end
end

private

def generate_password(length)
chars = ‘abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ23456789′
password = ”
length.times { |i| password << chars[rand(chars.length)] }
password
end

Mengganti Password dengan Plug In Resful Authentication

Februari 22, 2009 Andry Sucipto Komentar dimatikan

mengganti Password atau sering kita dengar (Change Password) kita bisa membuat dengan cara berikut :

pada View :

<% form_for :user, :url => (‘users/change_password_update’) do |f| -%>
Old Password<br/>
<%= password_field_tag ‘old_password’, @old_password, :size => 45, :class => ‘text’ %><br />
New Password<br />
<%= password_field_tag ‘password’, {}, :size => 45, :class => ‘text’ %><br />
Confirm new password<br />
<%= password_field_tag ‘password_confirmation’, {}, :size => 45, :class => ‘text’ %><br />
<%= submit_tag ‘Change password’ %>
<% end %>

Sedangkan Pada Controller :

def change_password
end

def change_password_update
if User.authenticate(current_user.login, params[:old_password])
if ((params[:password] == params[:password_confirmation]) && !params[:password_confirmation].blank?)
current_user.password_confirmation = params[:password_confirmation]
current_user.password = params[:password]
if current_user.save!
flash[:notice] = “Password berhasil diganti”
render :action => ‘change_password’
else
flash[:notice] = “Password not changed”
render :action => ‘change_password’
end
else
flash[:notice] = “New Password mismatch”
render :action => ‘change_password’
end
else
flash[:notice] = “Old password incorrect”
render :action => ‘change_password’
end
end

Ruby On Rails 2.3 Tawarkan Segudang Feature Unggulan

Februari 19, 2009 Andry Sucipto Komentar dimatikan

31 Januari 2009. Ruby On Rails, framework bahasa pemrograman Ruby yang paling terkenal dan banyak digunakan oleh programmer Ruby di dunia, hari ini mengeluarkan versi terbarunya, Rails versi 2.3.

Pada rilis terbaru ini, Rails 2.3 menawarkan segudang feature unggulan, antara lain :

  • Integrasi Rack yang memungkinkan aplikasi yang dibangun di atas framework Rails untuk dapat bekerja bersama dengan framework Ruby lainnya. Beberapa hal yang menarik untuk dicoba dengan adalah : Sessions, Cookies, upload file dan JSON/XML API.
  • Dukungan refresh untuk Engine Rails sehingga aplikasi yang dibangun menggunakan Rails dapat disisipkan dengan mudah pada aplikasi lainnya.
  • Routing yang lebih efisien.
  • Template aplikasi yang memungkinkan pembuatan otomatis aplikasi berbasiskan template.
  • Quiet Backtraces.
  • Adanya Nested Transactions, Nested Attributes, Dynamic Scopes dan Default Scopes untuk Active Record
  • Ditambahkannya HTTP Digest Authentication Support, MIME Type Handling Changes, perbaikan Kinerja Cache, Localized View, Rack-based Lazy-loaded Sessions dan Unified rendering sehingga mempermudah proses render untuk Action Controller.
  • Nested Object Forms, Smart Rendering of Partials untuk Action View.
  • JSON Key Quoting untuk Active Support.
  • Penggunaan Rails Metal untuk melakukan perubahan aplikasi secara langsung dalam Ruby sehingga dapat meningkatkan kinerja aplikasi.

Bagi Anda yang ingin mengetahui lebih jauh tentang Rails 2.3, Anda dapat mengakses dokumentasinya melalui alamat http://newwiki.rubyonrails.org/ dan http://guides.rubyonrails.org/.

Tertarik ingin membantu dokumentasi Ruby On Rails? Silahkan kunjungi alamat http://weblog.rubyonrails.org/2009/1/15/rails-documentation-projects untuk mengetahui informasi detilnya.

Categories: Ruby On Rails

Tutorial Cara Membuat Google Apps dengan Domain Sendiri

Februari 9, 2009 Andry Sucipto 2 komentar

Karena banyak yang merespon mengenai cara “teknis” membuat hosting email menggunakan fasilitas google apps menggunakan domain sendiri, berikut akan saya paparkan langkah-langkah dalam pembuatan email hosting menggunakan google apps secara detail, mulai dari pendaftaran domain, hosting, dan google apps itu sendiri. Tenang semuanya gratis kok… hehe…

Berikut adalah syarat-syarat yang harus anda penuhi jika ingin memiliki hosting email dari google apps :

  1. Anda harus punya domain sendiri (sukur2 anda adalah webmaster-nya), kalo belum punya domain sendiri gimana? Ya… Daftar! Hehe…
  2. Memiliki web hosting (optional), ini tidak mutlak harus anda punyai, tetapi jika anda punya hosting sendiri akan lebih mudah dalam verifikasi dan maintenance, dalam posting ini diasumsikan anda belum punya hosting, jadi anda tidak perlu daftar web hosting.
  3. Memiliki account google apps, yaiyalah… hehe…
  4. Koneksi ke internet (wajib), berikut cemilan dan kopi…
  5. Sebungkus rokok Marlboro merah jika perlu… hehe…

Read more…

Categories: Trik

Livevalidation

Februari 7, 2009 Andry Sucipto Komentar dimatikan

Komentar langsung ketika kita menuliskan kata Install plug In nya:

svn://rubyforge.org/var/svn/livevalidation dalam model kita tuliskan seperti biasa vvaliditasnya : validates_presence_of :username

validates_uniqueness_of :username

validates_confirmation_of :password

validates_presence_of :password

validates_presence_of :password_confirmation

attr_reader :password

validates_format_of :email, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i validates_presence_of :email Lalu

di dalam view kita tuliskan :

<script type=”text/javascript”>
var username = new LiveValidation(‘username’);
username.add(Validate.Presence);
var password_confirmation = new LiveValidation(‘password_confirmation’);
password_confirmation.add( Validate.Confirmation, { match: ‘password’ } );
var email = new LiveValidation(‘email’);
email.add( Validate.Email );
email.add(Validate.Presence);
</script>

<table>
<% form_tag(:controller => ‘random’, :action => ‘register’) do %>
<tr><td>Login</td><td>:</td><td><%= text_field ‘user’, ‘username’, :live => true %></td></tr>
<tr><td>Password</td><td>:</td><td><%= password_field ‘user’, ‘password_confirmation’, :live => true %></td></tr>
<tr><td>Password again</td><td>:</td><td><%= password_field ‘user’, ‘password’, :live => true %></td></tr>
<tr><td>E-mail</td><td>:</td><td><%= text_field ‘user’, ‘email’, :live => true %></td></tr>
<tr><td colspan =”3″><%= submit_tag “Berikutnya >>” %></td></tr>
<% end %>

Contoh dan format bisa diliat di sini:  http://www.livevalidation.com/examples

Daftar Plug In – Ruby On Rails

Februari 5, 2009 Andry Sucipto Komentar dimatikan

12_hour_time http://www.nickm.org/svn/repos/rails/plugins/12_hour_time/
RailsRunner http://svn.rubaidh.com/plugins/RailsRunner/
access_control http://filetofsole.org/svn/public/projects/rails/plugins/access_control/
accessible_form_helper http://joshpeek.com/svn/plugins/accessible_form_helper/
account_location http://dev.rubyonrails.org/svn/rails/plugins/account_location/
action_cache http://craz8.com/svn/trunk/plugins/action_cache/
action_mailer http://svn.pluginaweek.org/trunk/plugins/action_mailer/
action_pack http://svn.pluginaweek.org/trunk/plugins/action_pack/
actionmailserver svn://rubyforge.org/var/svn/railsmailserver/plugins/actionmailserver/
active_merchant http://svn.toolbocks.com/plugins/active_merchant/
active_model http://terralien.com/svn/projects/plugins/active_model/
active_record http://svn.pluginaweek.org/trunk/plugins/active_record/
active_record_base_without_tablehttp://svn.viney.net.nz/things/rails/plugins/active_record_base_without_table/
active_record_context http://svn.techno-weenie.net/projects/plugins/active_record_context/
active_record_defaults http://svn.viney.net.nz/things/rails/plugins/active_record_defaults/
Read more…