Dalam tutorial kali ini, saya akan tunjukkan cara-cara untuk memindahkan data senarai pengguna dari laman yang lama ke laman yang baru. Kebiasaannya, terdapat sesetengah laman web Joomla! yang lama mengalami masalah serius yang memang tidak dapat dibaiki lagi melainkan pemasangan laman yang baru.
Ada yang memberikan padangan melakukan JoomlaPack dari laman lama dan semasa pemasangan Joomla! yang baru, import data yang dikompailkan melalui JoomlaPack tadi. Kadang kala cara ini berkesan tetapi sekiranya terdapat perubahan yang ketara pada versi Joomla!, kemungkinan terdapat masalah yang mungkin timbul dan menghentikan proses tersebut dipertengahan jalan.
Jadi, jalan yang paling selamat dan efektif bagi saya adalah dengan melakukan cara manual.
PhpMyAdmin
Bagi menjayakan proses ini, anda perlu memasuki ruangan PhpMyAdmin sama ada melalui Cpanel atau DirectAdmin (untuk live server) dan menggunakan pautan yang disediakan sekiranya dilakukan pada localhost komputer anda.
Membuat salinan senarai data pengguna
Untuk versi Joomla! berlainan mungkin terdapat perubahan pada struktur pangkalan data yang menyimpan semua senarai pengguna. Jadi proses ini perlu dilakukan dengan membandingkan bentuk dan struktur untuk laman baru.
Pastikan anda sudah akses ke dalam PhpMyAdmin dan paparkan senarai table untuk database Joomla! yang lama seperti ini:
Tapi yang perlu difokuskan hanyalah table "user" sahaja. Jika anda memasang Joomla! dahulu untuk laman lama menggunakan tetapan asal, table tersebut adalah "jos_users". Namun kemungkinan besar "prefix" anda agak berlainan tetapi cari yang mempunyai perkataan "users". Kemudian klik pada butang "Structure" bagi memaparkan struktur table tersebut.
Lakukan perkara yang sama untuk database Joomla! baru yang telah anda pasang. Di sini anda perlu memberikan sedikit fokus dengan membandingkan senarai field yang terdapat pada database lama dengan baru.
Seperti dalam contoh di atas ini, pada database yang lama didapati terdapat penambahan field "location" dan "gender". Field ini mungkin terhasil dari pemasangan "extension" tertentu. Jadi berikan sedikit fokus untuk penerangan saya seterusnya.
Sekiranya kita memindahkan keseluruhan struktur dan data table "jos_user" yang lama ini terus ke dalam database yang baru, ralat mungkin atau tidak dipaparkan. Sekiranya ralat dipaparkan, maka proses tersebut akan terhenti kerana di laman yang baru tidak mempunyai field penambahan seperti dalam table users yang baru.
Sekiranya berjaya, kemungkinan laman web Joomla! yang baru akan mempunyai masalah. Kerana proses kemasukan data oleh PhpMyAdmin akan dilakukan dari satu field ke satu field. Bermakna, pada database yang lama, data untuk field "location" akan dimasukkan ke dalam "usertype" dan seterusnya proses tersebut akan berlaku seperti ini:
| Database Lama | Database baru | |
|---|---|---|
| password |
dimasukkan ke -----------------> |
password |
| location | usertype | |
| usertype | block | |
| block | sendEmail | |
| sendEmail | gid |
Jadi, bagi memastikan hanya data yang diperlukan oleh database baru sahaja dipilih dari database yang lama. Seterusnya pada database lama, pastikan anda telah melakukan semua salinan terlebih dahulu. Kemudian, tandakan field yang tidak terdapat pada database yang baru seperti ini:
Kemudian klik tanda "X" untuk kita buang field tersebut bagi menyamakan struktur table dengan database yang baru. Seterusnya, klik butang "Export" dibahagian paling atas untuk kita eksportkan keseluruhan table "jos_users" agar dapat diimport masuk semula ke dalam database yang baru.
Pada bahagian "Save as file", pastikan ianya bertanda dan namakan fail anda mengikut citarasa sendiri.
Maka selesailah kita melakukan proses eksport data untuk senarai pengguna dari database lama.
Import senarai pengguna ke pangkalan data baru
Sekarang kita bertukar paparan ke database yang baru. Saya andaikan anda telah membuka paparan database baru melalui PhpMyAdmin sekarang ini. Pastikan anda mencari dan fokus kepada table "jos_users" untuk database yang baru. Kemudian klik pada ikon "X" bagi menggugurkan table tersebut seperti dalam gambar ini:
Kemudian klik sahaja OK sekiranya pengesahan diminta. Selepas itu anda akan dapati bahawa table "jos_users" sudah digugurkan. Sekarang kita akan mengimport dari database yang lama dan PhpMyAdmin akan secara sendirinya akan menghasilkan table "jos_users" yang baru sekaligus memasukkan senarai pengguna dari database yang lama.
Klik pada "Import" di bahagian paling atas seperti ini:
Kemudian pada bahagian "File to import", masukkan atau cari fail yang telah kita muat turun sebelum ini untuk dimasukkan ke dalam database baru seperti dalam gambar di bawah:
Kemudian klik GO. Anda akan dapati bahawa semua data telah dimasukkan dengan jayanya dan semua senarai pengguna dari laman yang lama telah dimasukkan ke dalam laman yang baru.
Proses seterusnya
Setakat ini, kita baru sahaja memasukkan senarai pengguna dari laman lama ke laman yang baru. Tetapi disebabkan oleh setiap pengguna mempunyai peranan (role) dan kebenaran tertentu dalam laman sebelum ini.
Berkemungkinan juga apabila dipaparkan senarai pengguna, hanya segelintir sahaja senarai yang dipaparkan. Oleh itu anda perlu melakukan beberapa lagi langkah bagi mengembalikan ke semua tetapan seperti yang asal.
Jadi anda perlu melakukan perkara yang sama seperti di atas untuk 2 table yang penting iaitu:
- jos_core_acl_aro
- jos_core_acl_groups_aro_map
Kedua-dua table ini mengawal kemasukan dan kebenaran setiap pengguna dalam laman yang lama. Selamat mencuba.



Kemas kini: Apr 25, 2012