Spesifikasi: Ukuran: 14x21 cm Tebal: 280 hlm Harga: Rp 49.800 Terbit pertama: Februari 2006 Sinopsis singkat: Buku Mastering CMS dengan Mambo/Joomla dirancang dan ditulis untuk membantu Anda yang berprofesi sebagai pengelola website, pengembang, administrator sistem, ataupun pemerhati dunia web. Kekuatan dua CMS dunia yaitu Mambo dan Joomla merupakan topik utama bahasan buku ini di mana sasarannya yaitu semua pembaca dengan latar belakang yang berbeda-beda mulai dari pemula hingga mahir. Dalam buku ini, Anda akan dipandu dalam bentuk tutorial dan latihan yang ditunjang dengan referensireferensi. Selain itu juga beberapa tip-tip penting juga akan ditemukan. Kemudahan dalam penjelasan, uraian yang rinci dan komprehensif serta penggunaan bahasa gaul yang mudah dipahami diharapkan dapat menjadikan buku ini sangat layak untuk dibaca. Dilengkapi pula dengan CD berisi source code (berikut deskripsi singkat) seperti program inti, komponen, modul, mambot, dan template Mambo/Joomla berikut contoh-contoh latihan dan material yang digunakan dalam mendesain template, termasuk script dan tools.
Daftar Isi
Kata Pengantar ............................................................................. v Daftar Isi ..................................................................................... vii Cara Menggunakan Buku Ini ........................................................ xi Bab 1
Fundamental, Instalasi, dan Pengembangan .............. 1
1.1
Pendahuluan................................................................. 1 1.1.1 WWW dan HTML ............................................ 1 1.1.2 Database ........................................................ 3 1.1.3 PHP ................................................................ 4 1.1.4 Content Management System (CMS).............. 4 Pengertian Mambo dan Joomla .................................... 6 1.2.1 Prinsip Dasar Cara Kerja Mambo dan Joomla. 8 Instalasi .................................................................... 12 1.3.1 Instalasi Paket Inti......................................... 12 1.3.2 Instalasi Modul.............................................. 32 1.3.3 Instalasi Komponen ...................................... 34 1.3.4 Instalasi Mambots......................................... 36 1.3.5 Instalasi Paket Bahasa dan Template ........... 38 Pengembangan Mambo/Joomla ................................. 38 1.4.1 Membuat Modul............................................ 38 1.4.2 Pengembangan Komponen dan Mambot ...... 41
1.2 1.3
1.4
Bab 2
Pengelolaan Mambo/Joomla ................................... 43
2.1 2.2
Sistem Keanggotaan, Autentikasi, dan Otorisasi......... 43 Sistem Pengelolaan dan Administrasi ......................... 45 2.2.1 Pengelolaan Mambo/Joomla dengan Sistem Administrasi Frontend .................................. 48 2.2.2 Pengelolaan Mambo/Joomla dengan Sistem Administrasi Backend .................................. 70
Bab 3
Mendesain Template ............................................ 173
3.1
Sistem Template Mambo/Joomla dan Anatominya .. 173 vii
3.2
3.7 3.8
Peralatan (Tool) yang Diperlukan ............................. 176 3.2.1 Photoshop dan Peralatan Desain Lain......... 176 3.2.2 Dreamweaver ............................................. 177 3.2.3 XAMMP dan Mambo Solutions Extension ... 178 3.2.4 Generator XML ........................................... 184 Konsep dan Proses Desain Awal............................... 184 3.3.1 Taste of Site ............................................... 184 3.3.2 Tipografi, Warna, dan Ilustrasi .................... 185 3.3.3 Variable Width dan Fixed Width.................. 186 3.3.4 Metode Tabel vs css ................................... 188 Mendesain Tampilan Menggunakan Photoshop ........ 190 3.4.1 Sketsa (Scratch) Awal................................ 190 3.4.2 Mendesain Menggunakan Photoshop.......... 192 3.4.3 Save for Web dan Optimalisasi Gambar ..... 195 Membuat index.php .................................................. 198 3.5.1 Header ....................................................... 199 3.5.2 Body .......................................................... 201 3.5.3 Menggunakan Mambo Solutions Dreamweaver Extension............................. 203 Membuat Template_CSS.css .................................... 207 3.6.1 CSS Inti Mambo.......................................... 215 3.6.2 Kode CSS Tambahan ................................. 224 Membuat template_thumbnail.png............................ 227 Membuat templateDetails.xml dan Paket Instalasi .... 228
Bab 4
Backup dan Restore Mambo/Joomla..................... 233
4.1
Backup..................................................................... 234 4.1.1 Backup Database ....................................... 234 4.1.2 Backup File/Direktori ................................. 241 Restore ..................................................................... 242 4.2.1 Restore Database ....................................... 242 4.2.2 Restore File/Direktori ................................. 246
3.3
3.4
3.5
3.6
4.2
Bab 5
Sistem Keamanan Mambo/Joomla ....................... 247
5.1
Dasar-Dasar Pengamanan ........................................ 248 5.1.1 Pemilihan Sistem Operasi, Setting Server dan Desain Aplikasi.................................... 249 5.1.2 Instalasi Patch ............................................ 249 5.1.3 Kontrol Akses............................................. 250
viii
5.2
5.1.4 Audit dan File Log ...................................... 251 5.1.5 Menerapkan Kriptografi .............................. 251 Penerapan Dasar-Dasar Pengamanan....................... 252 5.2.1 Level Sistem Operasi dan Perangkat Keras.......................................................... 252 5.2.2 Level Akses Host ........................................ 254 5.2.3 Level Akses Direktori dan File .................... 255
Daftar Pustaka ..........................................................................263 Profil Penulis .............................................................................265
ix
BAB 1
FUNDAMENTAL, INSTALASI, DAN PENGEMBANGAN
Bab awal ini menjelaskan tentang konsep, instalasi, dan dasar-dasar pengembangan Mambo/Joomla. Diharapkan setelah membaca bab ini, Anda akan mengerti prinsip dasar Mambo/Joomla sebagai sebuah CMS sehingga akan mudah dalam mengimplementasikannya.
1.1 Pendahuluan Sebelum mempelajari CMS Mambo dan Joomla, sangat dianjurkan untuk mempelajari terlebih dahulu sekilas mengenai apa itu WWW, HTML, Server Web, Database, PHP, dan CMS.
1.1.1 WWW dan HTML WWW, Web atau Situs, dan Server Web World Wide Web (WWW atau singkatnya web) adalah suatu ruang informasi di mana sumber-sumber daya yang berguna diidentifikasi oleh pengenal global yang disebut Uniform Resource Identifier (URI) atau juga lebih dikenal dengan istilah yang lebih populer yaitu Uniform Resource Locator (URL). WWW sering dianggap sama dengan internet secara keseluruhan, walaupun sebenarnya WWW hanyalah bagian dari internet. WWW juga dikenal dengan istilah situs internet. 1
Untuk melayani fasilitas web ini dibutuhkan sebuah server web (web server). Server web yang terkenal di antaranya yaitu Apache dan Microsoft Internet Information Service (IIS). Apache dapat berjalan pada banyak platform, sedangkan IIS hanya dapat beroperasi di Windows.
HTML, Halaman Web, dan CSS HTML (HyperText Markup Language) merupakan sebuah bahasa markup (tanda) yang digunakan untuk membuat sebuah “halaman web” dan menampilkan berbagai informasi di dalam sebuah browser internet yang merupakan standar internet yang saat ini dikendalikan oleh World Wide Web Consortium (W3C). Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML. Versi terakhir dari HTML yaitu HTML 4.01, meskipun saat ini telah berkembang XHTML yang merupakan pengembangan dari HTML. HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet Explorer. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDA dan program lain yang memiliki kemampuan browser. Secara garis besar, terdapat empat jenis elemen dari HTML: Structural Tanda yang menentukan level atau tingkatan dari sebuah teks (Contoh,
Mambo Indonesia akan memerintahkan browser untuk menampilkan “Mambo Indonesia” sebagai teks tebal besar yang ditunjukkan dengan format Heading 1.) Presentational Tanda yang menentukan tampilan dari sebuah teks, tidak peduli dengan level dari teks tersebut. (Contoh,
Joomla Indonesia akan menampilkan teks “Joomla Indonesia” dengan huruf yang ditebalkan.)
2
Hypertext Tanda yang menunjukkan link ke bagian dokumen tertentu. (Contoh,
Komunitas Mambo Indonesia akan menampilkan teks “Komunitas Mambo Indonesia” sebagai sebuah hyperlink dengan URL www.mambo-id.com, yang jika diklik akan menuju ke website Komunitas Mambo Indonesia.) Elemen widget yang membuat objek-objek lain seperti tombol (
), list (), dan garis horizontal ( ). Selain markup presentational, markup yang lain tidak menentukan bagaimana tampilan dari sebuah teks. Namun untuk saat ini, penggunaan tag HTML untuk menentukan tampilan telah dianjurkan untuk mulai ditinggalkan dan sebagai gantinya digunakan Cascading Style Sheets (CSS).
1.1.2 Database Database (basis data) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematis sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari database tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil query database disebut sistem manajemen database (database management system/DBMS). Sistem database dipelajari dalam ilmu informasi. Beberapa aplikasi database di antaranya: Komersial DB2 Microsoft SQL Server Oracle Sybase Teradata Gratis Firebird 3
MySQL PostgreSQL
1.1.3 PHP PHP (Personal Home Page) adalah bahasa pemrograman script1 yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan untuk digunakan untuk keperluan lainnya. Kelebihan PHP dan bahasa pemrograman lain: Bahasa pemrograman PHP merupakan sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya. Server web yang mendukung PHP dapat ditemukan di manamana, mulai dari IIS sampai dengan apache, dengan konfigurasi yang relatif mudah. Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu dalam pengembangan. Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena referensinya banyak. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (linux,unix,windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem.
1.1.4 Content Management System (CMS) Sistem Manajemen Konten (Content Management System) yang lebih dikenal dengan CMS adalah sebuah aplikasi berbasis web yang memiliki sistem sedemikian hingga memberikan kemudahan kepada para pengguna sekaligus juga pengelolanya. 1
PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSP/Java Sun Microsystems, dan CGI/Perl.
4
Sesuai dengan nama CMS itu sendiri, website yang menerapkan sistem ini berorientasi terhadap konten. Sudah bukan merupakan kendala yang berarti bagi manajemen atau humas suatu perusahaan/institusi/organisasi untuk memperbarui website-nya. Dengan hak akses dan otoritas masing-masing, setiap bagian dari perusahaan/intitusi/organisasi dapat memberikan kontribusinya ke dalam website tanpa prosedur yang sulit. Dapat Anda bayangkan suatu perusahaan A yang memiliki website konvensional yang belum mengadopsi CMS jika ingin memperbarui datanya. Pihak humas/umum harus menghubungi webmaster website-nya untuk mengirimkan data yang akan diperbarui, baru kemudian data tersebut diolah dan dikonversi menjadi format html oleh webmaster. Prosedur yang panjang ini sangat jelas akhirnya akan membebani biaya perusaahaan dalam operasionalnya seharihari dan juga dari segi waktu. Bagaimana jika webmaster sedang tidak di tempat sedangkan data diharapkan update saat itu juga? Ilustrasi yang lebih panjang lagi dapat digambarkan jika webmaster website adalah vendor di luar perusahaan A yang hanya bisa dihubungi oleh Bagian IT perusahaan A tersebut. Apa yang terjadi dapat disimpulkan sendiri. Demikian juga dapat dibayangkan bagaimana jika proses ini berlangsung berulang-ulang dalam tiap bulannya, dalam seminggu, dalam sehari, bahkan dalam tiap jam? Pada umumnya sebuah CMS memiliki dua bagian kategori yaitu bagian Frontend dan Backend2. Kecanggihan dan fitur masing-masing CMS bergantung pada CMS yang digunakan. Penggunaan sistem hierarki pengguna yang diterapkan CMS dalam hak aksesnya pun sangat bervariasi sesuai CMS masing-masing. Mulai dari level akses user anggota yang hanya dapat mengirimkan data tertentu berupa komentar, kemudian editor yang dapat mengirimkan suatu artikel/berita (untuk CMS yang menyediakan fasilitas ini), hingga level administrator yang dapat melakukan semua fitur yang ada. Berikut ini manfaat penggunaan CMS:
2
Lebih lengkap mengenai frontend maupun backend dapat dibaca pada Bab 2.
5
Website perusahaan, bisnis, organisasi, atau komunitas Portal Galeri foto Aplikasi e-commerce Mengelola website pribadi/blog, dan lain-lain Keberadaan source yang fikan untuk harga akan canggih.
aplikasi gratisan di internet dan juga komunitas open semakin menjamur ikut memberikan andil yang signimenjadikan teknologi CMS menjadi murah dari segi tetapi dengan fitur-fitur yang semakin lengkap dan
Dari segi biaya implementasi pembuatan CMS sangatlah murah apalagi jika dibandingkan dengan fitur-fitur dan kemudahan yang ditawarkan. Hal inilah yang akhirnya ikut mempopulerkan CMS dan akhirnya akan menggantikan semua website konvensional yang ada. Hari gini gak pake CMS? ☺
1.2 Pengertian Mambo dan Joomla Mambo Open Source (MOS) adalah sebuah sistem manajemen konten (Content Management System/CMS) yang paling powerful dan telah digunakan di seluruh dunia untuk keperluan website dari yang paling sederhana sampai aplikasi perusahaan yang paling kompleks sekalipun. Mambo sangat mudah untuk diinstal, gampang dikelola, dan memiliki kapabilitas yang tinggi sesuai dengan slogannya “Power in simplicity”. Penghargaan dunia terhadap Mambo seperti Best Free Software Project of the Year oleh Linux Format Magazine 2004, Best Linux or Open Source Software pada “LinuxUser & Developer Award 2004” di London, Inggris serta penghargaan Best of Show - Total Industry Solution dan predikat Best Open Source Solution pada konferensi Linux dunia di Boston 2005 membuktikan bahwa Mambo merupakan CMS terbaik saat ini. Joomla sendiri merupakan sebuah nama baru yang diberikan oleh “Developer Inti Mambo” hingga Agustus 2005 yang hengkang dari
6
Mambo. Joomla mulai launching dengan versi 1.0.0 yang merupakan cloning atau “nama alias” dari Mambo 4.5.2.33. Mana yg lebih canggih? Berdasarkan fakta seharusnya belum bisa disimpulkan, baru sebatas prediksi dari melihat kemampuan developer yg terlibat. Sedangkan versi 1.1.0 Joomla sendiri yang direncanakan launching akhir tahun 2005/awal tahun 2006 merupakan hasil karya dari “para developer Mambo versi 4.5.3”. Semua addons (template, modul, komponen, mambots, dan paket bahasa) yang didesain untuk mambo 4.5.2 dijamin tetap jalan di Joomla 1.1. Joomla versi 1.0 dapat mengunakan databases Mambo 4.5.2. Kehebatan Mambo dan Joomla sendiri sudah dibuktikan oleh beberapa website terkemuka kelas dunia. Tercatat, beberapa perusahaan terkemuka di luar negeri sudah mempercayai Mambo/ Joomla sebagai mesin pengelola isi website resmi mereka. Beberapa di antaranya yaitu Porsche Brazil (http://www.porsche.com.br/), sebuah perusahan otomotif yang terkenal dengan produksi mobilmobil high class-nya, Mitsubishi Motor (http://www.mitsubishimotors.com.ve/news/), PC Praxis (http://www.pcpraxis.de/) salah satu Top 5 majalah komputer terbesar di Jerman, dan banyak lagi. Di Indonesia, hal yang sama juga terjadi. Kepercayaan dan semangat untuk menggunakan Mambo/Joomla pun terus berkembang pesat seiring dengan semakin besarnya tingkat antusias penggunanya di negeri ini. Banyak sekali website-website yang telah menggunakan Mambo/Joomla, mulai dari website pribadi, komunitas, Online Magazine/News, corporate, hingga e-government dengan semangat Indonesia Goes to Open Source'4-nya. Lalu bagaimana dengan website Anda? Yang jelas, apa pun website-nya, Mambo atau Joomla CMS-nya… ☺
3 4
Termasuk fix bug dan patch. IGOS
7
1.2.1 Prinsip Dasar Cara Kerja Mambo dan Joomla Pepatah mengatakan “tak kenal maka tak sayang…”. Begitu juga dengan Mambo/Joomla, agar mengerti bagaimana mengoperasikannya, kita perlu mengerti benar prinsip dasarnya. Lho, apa hubungannya? Nyambung gak sih?
Konsep dasar ini begitu penting untuk mengetahui dasar-dasar pengoperasian Mambo/Joomla dan juga untuk pengembangan selanjutnya.
Secara garis besar, Mambo/Joomla terdiri dari tiga elemen dasar, yaitu server web (webserver), skrip5 PHP, dan database MySQL. Webserver diasumsikan terhubung dengan internet/intranet yang berfungsi sebagai penyedia layanan situs. Skrip PHP terdiri dari kode program dalam bahasa php, dan database merupakan tempat penyimpanan konten. Mambo/Joomla menggunakan Apache sebagai webserver dan MySQL untuk databasenya. Pertamakali, user melakukan request terhadap halaman Mambo/ Joomla dengan mengeksekusi URL pada browser web yang kemudian terhubung dengan server web (lihat Gambar 1.1). Request ini yang dalam istilah teknis lebih dikenal dengan Query String selain terdapat URL juga mengandung parameter konten (section, category, ID article dan lain-lain). Berdasarkan parameter tersebut, sistem skrip Mambo/Joomla melakukan kontak dengan database dan mengambil konten yang dimaksud berdasarkan parameternya. Terakhir, konten dan template bergabung bersama dan kembali sebagai halaman html, gambar, css dan javascript6.
5
Skrip adalah program aplikasi yang tidak di-compile menjadi bahasa mesin (seperti file berekstensi .exe atau .com pada Windows). Untuk menjalankan skrip perlu sebuah interpreter. 6 Skrip sederhana yang dijalankan pada browser (client side).
8
WebServ er (Apache)
dataf rom Mambo/ Joomla structure tables
images
jscript & CSS
Mambo / Joomlaf ile (core, components, mambots, etc)
Mambo / Joomla module
Mambo / Joomla template
My SQL
#VALUE !
Query Process (httprequest) misal: http//mambo-id.com http//joomla-id.com
intreprets process php to html html
Internet Browser
Serv erResponse
Browser creates Mambo / Joomla webpages
Gambar 1.1 Prinsip dasar kerja Mambo/Joomla
Manajemen dan Struktur Konten Sebagai sebuah CMS, Mambo/Joomla lebih terfokus pada bagaimana mengorganisir konten. Masalah bagaimana tampilan yang dihasilkan dari website tersebut berupa warna, huruf, posisi dan lainlain yang berkaitan dengan tema dari website diatur dan diaplikasikan dalam sebuah template.
Penentuan struktur konten di awal perencanaan sangat dianjurkan. Kemudahan pengunjung dalam mencari berita atau artikel pada website Mambo/Joomla dan juga pengelolaan yang profesional, sangat ditentukan oleh struktur konten yang baik.
9
Pengelolaan konten dikelompokkan ke dalam bagian (sections) dan kategori (categories). Setiap bagian terdiri dari minimal satu atau lebih kategori. Setiap kategori terdiri dari satu atau lebih item konten (Content Items). Satu item konten dapat diidentikkan dengan satu artikel/berita. Sections - Categories -- Articles/Content Items
Diilustrasikan, kita ingin mempublikasikan artikel-artikel tentang IT/IS7 ke dalam website portal bertemakan Teknologi Informasi. Bagaimana struktur kontennya sangatlah simpel. Dalam hal ini tentu saja kita harus menentukan (sebagai contoh) bagiannya yaitu: Perangkat Lunak yang kategorinya terdiri dari: Sistem operasi (OS8), yang terdapat artikel-artikel berjudul: o “Linux” o “Windows” o “Macintosh” Programming, yang terdapat artikel-artikel berjudul: o “Delphi” o “VB” Perangkat Keras yang kategorinya terdiri dari: PC, yang terdapat artikel-artikel yang berjudul: o “Branded” o “Jangkrik” Network, yang terdapat artikel-artikel yang berjudul: o “Router” o “Hub” 7 8
IT = Information Technology, IS = Information System. OS = Operating System
10
Template Template adalah suatu file yang ditulis dalam bahasa php yang diperlukan Mambo/Joomla untuk menampilkan “wajah”nya sedemikian rupa seperti gambar latar belakang, warna tabel, jenis huruf, besar-kecilnya huruf, warna huruf dan sebagainya sesuai dengan keinginan desainernya. Istilah ini dikenal juga oleh CMS lain dengan istilah yang lebih populer yaitu themes atau tema. Lebih jelasnya mengenai template silahkan baca Bab 3.
Modul Modul adalah unit fungsi kecil untuk memperluas fungsionalitas program inti Mambo/Joomla. Kegunaan utamanya selain menampilkan fitur-fitur standar program inti juga berguna untuk menampilkan fungsi komponen. Fungsi modul ditampilkan melalui sistem template. Istilah modul pada CMS lain juga disebut “block” atau “portlets”. Contoh modul yang cukup populer yaitu modul newsfeed, templatechooser, infoIP, dan lain-lain.
Komponen Seringkali website Mambo/Joomla yang sudah kita bangun masih belum memenuhi kebutuhan yang direncanakan. Fungsi-fungsi standar (seperti sistem konten, web links, contact forms) Mambo/ Joomla dianggap masih terlalu simpel. Untuk menambah fungsionalitas program inti Mambo/Joomla diperlukan aplikasi lain yang sesuai dengan keperluan dan kemudian disisipkan ke dalam aplikasi inti Mambo/Joomla. Aplikasi ini disebut komponen.
Mambot Mambot adalah fungsi aplikasi mini yang disisipkan untuk memanipulasi ataupun menerjemahkan konten yang diproses oleh program inti/komponen sebelum ditampilkan. Mambot sendiri dibagi ke dalam empat jenis yaitu:
11
Content – berkaitan dengan manipulasi konten. Editors – berkaitan dengan manipulasi fitur-fitur editor. editors-xtd – berkaitan dengan manipulasi fitur-fitur editor yang lebih kompleks. Search – berkaitan dengan manipulasi fungsi search. Beberapa mambot di antaranya yaitu: mosimage: Mambot yang mengonversikan perintah tag {mosimage} menjadi perintah tag img (html)9. mospagebreak: Mambot yang memfungsikan navigasi halaman. moscode: Mambot yang mengganti kode perintah tag {moscode}{/moscode} menjadi perintah tag yang menandakan kode programing.
1.3 Instalasi Sebelum dapat menggunakan CMS Mambo/Joomla, terlebih dahulu kita harus melakukan instalasi. Proses instalasi ini dibagi menjadi enam bagian yaitu instalasi paket inti, modul, komponen, mambots, paket bahasa dan template yang masing-masing penjelasannya sebagai berikut:
1.3.1 Instalasi Paket Inti Instalasi paket inti dapat dilakukan ke dalam dua jenis OS yang berbeda karakteristiknya yaitu sistem POSIX (Unix dan variannya) dan windows. Sabelum melakukan proses instalasi diharuskan melewati tahap persiapan instalasi.
9
Seperti perintah
12
Persiapan Instalasi Langkah ini sangat diperlukan untuk memudahkan tahapan instalasi. Persiapan yang dilakukan meliputi pengecekan sistem yang diperlukan, informasi mengenai MySQL, melakukan download file Mambo/ Joomla, mengekstraksi file-file Mambo/Joomla, dan melakukan pengecekan ulang terhadap langkah-langkah persiapan instalasi. Sistem yang Diperlukan dan Direkomendasikan Keperluan minimal untuk Mambo versi 4.5.x atau Joomla versi 1.0.x ke atas: PHP 4.2.x atau di atasnya - http://www.php.net MySQL 3.23.x atau di atasnya - http://www.mysql.com Apache10 1.13.19 atau di atasnya - http://www.apache.org Browser: Explorer (version 5.5+) Netscape dan Mozilla. Informasi MySQL Informasi yang diperlukan yaitu11: Nama dabatase MySQL Nama Host MySQL host, defaultnya adalah “localhost” jika MySQL dan Server Web terletak pada PC yang sama. Username MySQL Password MySQL Download Files File-file Mambo dapat diperoleh di website resmi Mambo di mamboforge.net atau dapat juga diperoleh di mambo-id.com. Sedangkan untuk Joomla dapat Anda peroleh dari joomla.org atau joomla-id.com.
10
Untuk OS Windows, walaupun Mambo / Joomla dapat berjalan menggunakan server IIS, akan tetapi sangat disarankan menggunakan Apache. 11 Jika website Anda menggunakan jasa hosting, tanyakanlah pada administrator/ webmaster yang mengelola server hosting tersebut.
13
File dalam keadaan file arsip yang terkompresi. Oleh karena itu perlu program utiliti untuk melakukan “unzip12“ file. Ekstrak dan Tempatkan/Upload Files Unzip/ekstrak file yang sudah di-download kemudian tempatkan pada root dokumen server web yang sudah disiapkan. Biasanya untuk server yang berbasis windows, pathnya seperti c:\apache group\apache\htdocs dan /usr/local/apache/htdocs pada sistem POSIX atau sitem Unix dan variannya13. Untuk proses instalasi secara remote di mana Anda menginginkan instalasi pada server hosting, perlu dilakukan proses upload file. Proses yang sangat lazim dilakukan adalah menggunakan FTP14. Periksa Ulang Keperluan Sistem Untuk menginstal Mambo/Joomla pertamakalinya, cek semua persiapan instalasi yang telah diuraikan di atas.
Bagi software house, ada baiknya Anda membuat suatu check list yang berisi kelima langkah persiapan instalasi di atas hingga tahap instalasi (bahkan sebaiknya seluruh proses hingga website Mambo/Joomla Anda benar-benar siap digunakan. Kebutuhan ini diperlukan sebagai standar QC (Quality Control) perusahaan Anda dalam memenuhi kepuasan pelanggan dan juga sikap profesional.
Jika semua kondisi di atas telah dipenuhi dan diasumsikan bahwa semua sistem di atas berjalan sesuai keperluan maka proses instalasi dapat dilakukan. 12
Aplikasi yang sering digunakan adalah WinZIP dan WinRAR untuk aplikasi berbasiskan Windows, sedangkan sistem *nix adalah unzip dan gunzip. 13 Linux, AIX, HP-Ux, Sun Solaris dan lain-lain. 14 FTP adalah File Transfer Protocol. Aplikasi FTP yang populer di antaranya yaitu CuteFTP, WSFTP dan lain-lain. Silahkan membaca khusus referensi mengenai FTP.
14
Instalasi Menggunakan Browser Web Proses instalasi ini menggunakan browser web yang ditujukan ke URL yang telah Anda siapkan, misalnya http://www.mambo-id.com. Jika Anda menempatkannya dalam sebuah direktori, misalnya direktori TEST, tambahkan direktori tersebut sehingga menjadi http://www.websiteanda.com/TEST15. Jika Anda tidak melihat halaman apa pun yang ditampilkan, verifikasi langkah-langkah berikut ini: Apakah semua file Mambo/Joomla sudah di-upload ke website Anda? Apakah sudah mem-backup website lama? Apakah Apache/MySQL/PHP sudah terinstal dan siap digunakan? Adakah file kongurasi configuration.php di direktori Mambo/ Joomla Anda? Atau Anda juga dapat langsung mengakses http://www.websiteanda.com/installation/index.php. Pra-Instalasi Proses instalasi paling awal adalah pra-instalasi yang terdiri dari tiga bagian. Bagian pertama yaitu proses pengecekan apakah sistem yang tersedia sesuai dengan sistem ideal yang diperlukan Mambo/Joomla.
15
Perhatikan huruf besar atau kecil jika menggunakan platform *nix dan variannya. Sistem ini menganut metode case sensitive yang berbeda dengan metode yang digunakan platform Windows.
15
Gambar 1.2 Cek Pra-instalasi pada Mambo 4.5.2.3
Bagian kedua berkaitan dengan setting php.
Gambar 1.3 Pengecekan setting konfigurasi PHP pada Mambo 4.5.2.3
16
Bagian ketiga melakukan pengecekan atribut file dan direktori.
Gambar 1.4 Pengecekan hak akses file dan direktori pada Mambo 4.5.2.3
Tulisan status berwarna hijau menunjukkan kesesuaian sistem, sedangkan warna merah yaitu status yang tidak direkomendasikan karena dapat menyebabkan kegagalan proses instalasi maupun sistem Mambo/Joomla yang berjalan tidak sesuai dengan seharusnya. Jika sudah sesuai, tekan tombol yang akan menampilkan halaman berikutnya yaitu lisensi Mambo/Joomla.
17
Gambar 1.5 Jendela lisensi pada Mambo 4.5.2.3
Jika Anda menyetujui persyaratan yang tertulis, beri tanda cek pada “I Accept the GPL License” dan kemudian klik tombol Next. Proses instalasi tidak akan dapat diteruskan selama Anda tidak menyetujui persyaratan ini. Proses Instalasi Langkah berikut ini yaitu langkah pertama dalam melakukan instalasi, yaitu melakukan konfigurasi MySQL.
18
Gambar 1.6 Langkah pertama instalasi: konfigurasi database MySQL pada Mambo 4.5.2.3
Masukkan konfigurasi database MySQL16. Hostname biasanya diisi dengan localhost. Hal ini menunjukkan bahwa Server MySQL dan Apache diinstal pada komputer yang sama. Pada bagian bawah, Anda diberikan pilihan untuk menghapus semua tabel yang sudah ada ataupun mem-backup-nya. Selain itu Anda juga dapat menginstal beberapa contoh data (data dummy)17 konten.
16
Lihat pada tahap persiapan instalasi MySQL pada Subbab 1.3.1. Jika instalasi ini pertama kali dilakukan dan Anda belum mengenal sama sekali mengenai Mambo/Joomla maka direkomedasikan untuk menginstal contoh data konten. 17
19
Jika informasi mengenai database ini sudah sesuai, klik tombol Next. Anda akan mendapatkan konfirmasi berikut:
Gambar 1.7 Jendela konfirmasi untuk membuat data dummy pada Mambo 4.5.2.3
Setelah mengklik OK, proses akan dilakukan secara otomatis. Pesan kesalahan akan ditampilkan pada halaman berikutnya jika ada ketidaksesuaian. Jika sesuai proses instalasi akan dilanjutkan dengan langkah berikutnya yaitu langkah kedua.
Gambar 1.8 Langkah kedua instalasi: penamaan website pada Mambo 4.5.2.3
Masukan nama website18 yang diinginkan dan kemudian klik tombol Next. Langkah Ketiga yaitu halaman konfirmasi konfigurasikan URL, path direktori, alamat email, dan password admin website.
18
Karakter khusus tidak akan dapat digunakan.
20
Gambar 1.9 Langkah ketiga instalasi: konfirmasi konfigurasi pada Mambo 4.5.2.3
Alamat email yang dimaksud yaitu alamat email Super Administrator. Account ini secara otomatis dibuat dengan nama “admin” dan password sesuai dengan yang Anda isikan pada field “Admin password”. Selanjutnya klik tombol Next sehinga muncul halaman status konfirmasi terakhir tentang konfigurasi dan informasi mengenai login Administrator. Mohon diingat baik-baik nama login dan password Super Administrator website Mambo/Joomla Anda. Account ini diperlukan untuk masuk ke sesi Admin. Untuk alasan keamanan Anda diharuskan untuk menghapus direktori installation. Website Mambo/Joola tidak akan bekerja sebelum Anda menghapus direktori ini.
21
Gambar 1.10 Langkah keempat instalasi: status terakhir instalasi pada Mambo 4.5.2.3
Di halaman ini ada dua tombol yang menuju ke halaman utama Mambo/Joomla dan halaman Administrator.
Instalasi Manual pada Sistem POSIX Membuat Database di MySQL Setelah men-download dan mengekstrak file-file Mambo/Joomla, buatlah database Mambo/Joomla di MySQL menggunakan printah mysqladmin19 atau perintah create nama_database di dalam lingkungan perintah mysql20. mysqladmin -uroot -ppassword create nama_database
19
21
Sistem POSIX baik console, maupun remote menggunakan Telnet atau SSH. Lihat poin 16. 21 Gantilah “root’ dan “password’ dengan user dan password database MySQL anda. 20
22
Impor File ke MySQL Impor file mambo.sql22 atau file joomla.sql23 yang terletak di direktori installation/sql ke dalam database Mambo/Joomla Anda. Mysql –uroot –ppassword nama_database < [path]mambo.sql
24
Atau Mysql –uroot –ppassword nama_database < [path]joomla.sql
25
Cara lain yang lebih mudah dapat Anda gunakan phpmyadmin26. Data dummy/contoh dapat diimpor dari file sample_data.sql yang terletak di direktori installation/sql. File Konfigurasi Copy configuration.php-dist menjadi configuration.php pada direktori root Mambo/Joomla Anda, lalu edit file configuration.php dan isikan setting database MySQL, nama host, dan info direktori yang sesuai. Sistem File Di dalam system Posix ada dua sistem yang harus dilakukan. Mengubah kepemilikan file dan direktori Mambo/Joomla dan mengubah atribut file/direktori. Mengubah Kepemilikan File/direktori Kepemilikan file dianjurkan sama dengan account user yang menjalankan daemon server web. Dengan menggunakan Telnet27 atau SSH28 Anda dapat menggunakan perintah: 22
Jika menggunakan Mambo Jika menggunakan Joomla 24 Lihat poin 19 25 Lihat poin 20 26 Tool Administrasi MySQL berbasis Web (http://www.phpmyadmin.net) 27 Program/protokol untuk melakukan login remot ke computer/mesin lain. 28 Seperti Telnet (16) tetapi proses pengirimannya dienkripsi. 23
23
ps -ef | grep apache
Contoh tampilan yang mungkin dihasilkan adalah29: root 7508 1 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd nobody 7511 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd nobody 7512 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd nobody 7513 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd nobody 7514 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd nobody 7515 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd nobody 7521 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd nobody 7522 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd nobody 7523 7508 0 08:58 ? 00:00:00 /usr/local/apache/bin/httpd
Display menjelaskan bahwa user “nobody” sedang menjalankan server web. Agar kepimilikan file/direktori Mambo/Joomla Anda sama dengan user yang menjalankan server web, atribut kepemilikan file/direktori perlu diubah menggunakan perintah chown. Contoh perintahnya yaitu: chown -R nobody
Mengubah Atribut File/direktori Ubahlah semua atribut file/direktori menjadi 70530 secara rekursif. chmod –R 705
Kemudian: chmod chmod chmod chmod chmod chmod chmod 29
o+w o+w o+w o+w o+w o+w o+w
administrator/backups administrator/components administrator/modules administrator/templates cache components images
Nama proses dan user yang ditampilkan di display bergantung pada sistem yang digunakan. Pada contoh, nama proses yaitu “httpd’ dan nama user yaitu “nobody’. 30 Angka “0” menunjukkan bahwa “group” tidak diberikan hak akses sama sekali. Hal ini erat sekali kaitannya dengan sistem keamanan.
24
chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod chmod
o+w o+w o+w o+w o+w o+w o+w o+w o+w o+w o+w
images/banners images/stories language mambots mambots/content mambots/search media modules templates mambots/editors/ mambots/editors-xtd/
Perintah tersebut dimaksudkan agar “other” atau user “nobody” diberikan semua akses (read, write, dan execute) terhadap direktoridirektori seperti yang ditulis di atas (administrator/backups, administrator/components, administrator/modules, dan seterusnya. Agar diingat, setelah proses instalasi dan pengembangan selesai, sangat dianjurkan untuk mengubah kembali atribut direktori-direktori tersebut dengan menghilangkan hak akses write terutama direktori administrator/* (kecuali direktori-direktori yang memang diperlukan untuk meng-upload file-file yang berkaitan dengan konten seperti direktori media dan images. Perintah yang dapat digunakan: chmod o-w [nama direktori]
Misalkan: chmod o-w administrator/backups
Instalasi pada Windows 2000, XP dan Windows Server 2003
Menggunakan Kombinasi IIS, PHP dan MySQL Instal IIS Walaupun server web yang direkomendasikan untuk menjalankan Mambo/Joomla yaitu Apache, dengan menggunakan server web IIS31 pun ternyata bisa berjalan dengan baik. 31
Server web yang merupakan bawaan Windows.
25
Untuk itu coba periksa IIS bekerja, klik menu: Settings Control panel > add or Remove software > Add or remove Windows Components > Internet Information Services. Diasumsikan bahwa root bawaan IIS yaitu c:\inetpub\wwwroot, kemudian cobalah dengan mem-browse http://localhost. Instal PHP Jika server web sudah bekerja, proses selanjutnya yaitu menginstal PHP. Temukan file installer PHP32 dari www.php.net dan download. Instal dan ikuti petunjuk instalasi sampai selesai.
Gambar 1.11 Proses awal instalasi PHP 5.0.5 pada Windows 2000 Advanced Server
Ujicoba PHP Pastikan bahwa instalasi PHP bekerja dengan baik. Salah satu cara mengujinya yaitu dengan meng-copy perintah php berikut ini ke dalam sebuah file dan menyimpannya di c:\inetpub\wwwroot\ coba.php.
32
Dengan penamaan file xxx installer (xxx-installer.exe) misalnya: PHP 5.0.5 installer (php-5.0.5-installer.exe)
26
Kemudian mem-browsing http://localhost/coba.php. Jika berjalan dengan baik maka kita dapat melihat halaman yang menampilkan informasi tentang versi PHP yang diinstal dan konfigurasinya. Kemudian cari php.ini33, dan ubah perintah error_reporting = E_ALL; display all errors, warnings and notices
menjadi error_reporting = E_ALL & ~E_NOTICE
yang bertujuan agar PHP menampilkan pesan jika terjadi kesalahan (error) apa pun kecuali notices34.
Jika website Mambo/Joomla Anda sudah berjalan dengan baik, dianjurkan untuk mengubah konfigurasi php.ini di bagian errorreporting menjadi error_reporting = E_ERROR
Instal MySQL dan Membuat Database Mambo/Joomla Download MySQL dari http://www.mysql.com dan instal:
33
Biasanya di direktori, ie c:\wnnnt or c:\windows. Pemberitahuan informasi yang berkaitan dengan error handling yang tidak bersifat fatal (critical) dan merupakan kesalahan sistem. Contohnya pemberitahuan adanya suatu variabel yang belum didefinisikan atau ada pendefinisian ulang suatu variabel. 34
27
Gambar 1.12 Proses awal instalasi MySQL 5.0 pada Windows 2000 Advanced Server
Untuk membuat database Mambo/Joomla gunakan: mysqladmin -uroot -ppassword create database_name
Atau bisa juga menggunakan Admin GUI35 (web). Misalnya password root yaitu coba123 dan nama database yang akan dibuat yaitu COBADB, maka perintahnya menjadi: mysqladmin -uroot –pcoba123 create COBADB
Secara bawaan, password untuk user root pada MySQL adalah blank, sangat dianjurkan untuk mengganti secepatnya. Dari prompt ketik: Mysqladmin –uroot password password_baru
35
GUI = Graphic User Interface
28
Setting Mambo/Joomla Dekompres atau unzip file Mambo/Joomla ke dalam direktori yang sudah kita persiapkan. Dalam contoh ini yaitu C:\inetpub\ wwwroot\coba (URL: http://localhost/coba). Kemudian ganti nama configuration.php.dist menjadi configuration.php. Sistem File Klik-kanan pada direktori dan file berikut: images media uploadfiles components language modules templates administrator/backups administrator/components configuration.php Pastikan bahwa “Internet Guest Account” (biasanya IUSR_namakomputer) memiliki hak akses sebagai berikut: Modify Read and Execute List Folder Contents Read Write Atau dengan kata lain, semua hak akses kecuali Full Control.
29
Khusus file-file dan direktori-direktori penting, sesudah proses instalasi sudah selesai sangat dianjurkan untuk mengubah hak akses maupun propertinya menjadi Read Only, terutama file “configuration.php”. Hal ini berkaitan dengan masalah keamanan. (Lebih lengkap mengenai sistem keamanan, silahkan baca Bab 5.) Sistem file di atas hanya dapat diterapkan pada Windows yang menerapkan NTFS.
Proses selanjutnya silahkan ikuti langkah-langkah dan penjelasan pada subsubbab sebelumnya yaitu Instalasi Menggunakan Browser Web. Menggunakan XAMPP Instalasi dengan cara ini dapat Anda baca pada bab berikutnya yaitu Bab 3 MendesainTemplate. Menggunakan MSAS MSAS (Mambo Stand Alone Server) adalah software all in one Mambo yang terdiri dari semua aplikasi (Apache, PHP, MySql, file Mambo) yang dibutuhkan untuk menjalankan Mambo di server lokal. Penggunaannya sangat mudah karena dengan sekali instal kita akan mendapatkan website Mambo siap pakai di komputer lokal. Disamping itu MSAS juga dapat dijalankan melalui flashdisk sehingga akan memudahkan kita untuk presentasi atau keperluan mobile lainnya. MSAS dapat Anda temukan pada CD pendamping buku ini.
30
Pengujian dan Login Untuk meyakinkan apakah instalasi sudah berjalan dengan sempurna, silahkan melakukan pengujian dengan login ke menu admin (backend36): Klik http://www.websiteanda.com/administrator/
Gambar 1.13 Login dari Halaman Administrator Mambo
Login menggunakan, Username: “admin”, password: “admin”. Atau dari halaman depan (frontend37) menggunakan, Username: editor, password: editor Hingga pembahasan ini, proses instalasi sudah komplit dan Anda sudah dapat ber-Mambo/Joomla-ria. 36 37
Akan dijelaskan pada bab berikutnya. Mengenai administrasi frontend dan backend akan dijelaskan pada Bab 2.
31
1.3.2 Instalasi Modul Upload Package File Dari menu “admin backend Mambo” pilih menu Modules38 lalu submenu Install/Uninstall.
Gambar 1.14 Pilihan submenu untuk menginstal komponen dari administrasi backend Mambo
Atau dari menu “admin backend Mambo” maupun “admin backend Joomla” pilih menu Installers dan kemudian submenu Modules.
Gambar 1.15 Pilihan submenu untuk menginstal modul dari administrasi backend Mambo maupun Joomla
Untuk mulai melakukan instalasi, ada dua cara yaitu dengan “Upload Package File” dan “Install From Directory”. 38
Struktur menu yang hanya berlaku untuk Mambo versi 4.5.2.
32
Upload Package File Pada bagian bawah menu ini isikan nama paket modul yang akan diinstal (file zip39 beserta path-nya) atau klik tombol Browse dan pilih paket yang dimaksud. Kemudian klik tombol Upload File & Install.
Gambar 1.16 Form untuk menginstal modul dengan cara mengUpload Package File dari administrasi backend Mambo
Install from Directory Cara kedua ini yaitu dengan menginstal file (yang telah diekstrak) ke direktori yang telah ditentukan. Tuliskan path di mana file-file modul berada kemudian klik tombol Install.
Gambar 1.17 Form untuk menginstal modul dengan cara ”Install from directory” dari administrasi backend Mambo. Contoh path di atas menggunakan format OS *nix
Gambar 1.18 Daftar modul-modul yang sudah diinstal pada administrasi backend Joomla 39
Ada dua file berekstensi .xml dan file berekstensi .php. Lihat pembahasan sub bagian Membuat Modul.
33
1.3.3 Instalasi Komponen Dari menu ”admin backend” pilih menu Components40 lalu submenu Install/Uninstall.
Gambar 1.19 Pilihan submenu untuk menginstal komponen dari administrasi backend Mambo
Atau dari menu ”admin backend Mambo” maupun ”admin backend Joomla” pilih menu Installers, lalu submenu Components.
Gambar 1.20 Pilihan submenu untuk menginstal komponen dari administrasi backend Mambo maupun Joomla.
Untuk mulai melakukan instalasi, ada dua cara yaitu dengan “Upload Package File” dan “Install From Directory”.
40
Struktur menu yang hanya berlaku untuk Mambo versi 4.5.2.
34
Upload Package File Pada bagian bawah halaman ini isikan nama paket komponen yang akan diinstal atau klik tombol browse dan pilih paket yang dimaksud. Kemudian klik tombol Upload File & Install.
Gambar 1.21 Form untuk menginstal komponen dengan cara ”Upload Package File” dari administrasi backend Mambo
Install from Directory Cara kedua yaitu dengan menginstal file (yang telah diekstrak) ke direktori yang telah ditentukan. Tuliskan path di mana file-file modul berada kemudian klik tombol Install.
Gambar 1.22 Form untuk menginstal komponen dengan cara”Install from directory” dari administrasi backend Mambo. Contoh path di atas menggunakan format OS *nix.
Komponen-komponen yang sudah diinstal dapat dilihat pada bagian bawah jendela seperti gambar berikut ini.
Gambar 1.23 Daftar komponen-komponen yang sudah diinstal
35
1.3.4 Instalasi Mambots Dari menu ”admin backend” pilih menu Mambots41 lalu submenu Install/Uninstall.
Gambar 1.24 Pilihan submenu untuk menginstal mambot dari administrasi backend Mambo
Atau dari menu ”admin backend Mambo” maupun ”admin backend Joomla” pilih menu Installers dan kemudian submenu Mambots.
Gambar 1.25 Pilihan submenu untuk menginstal mambot dari administrasi backend Mambo maupun Joomla
Untuk mulai melakukan instalasi, ada dua cara yaitu dengan “Upload Package File” dan “Install From Directory”.
41
Struktur menu yang hanya berlaku untuk Mambo versi 4.5.2.
36
Upload Package File Pada bagian bawah halaman ini isikan nama paket Mambot yang akan diinstal atau klik tombol browse dan pilih paket yang dimaksud. Kemudian klik tombol Upload File & Install.
Gambar 1.26 Form untuk menginstal Mambot dengan cara meng-Upload Package File
Install from Directory Cara kedua yaitu dengan menginstal file (yang telah diekstrak) ke direktori yang telah ditentukan. Tuliskan path di mana file-file modul berada kemudian klik tombol Install.
Gambar 1.27 Form untuk menginstal Mambot dengan cara”Install from directory” dari administrasi backend Mambo. Contoh path di atas menggunakan format OS *nix
Komponen-komponen yang sudah diinstal dapat dilihat pada bagian bawah jendela seperti gambar berikut ini.
Gambar 1.28 Daftar mambot-mambot yang sudah diinstal
37
1.3.5 Instalasi Paket Bahasa dan Template Untuk menginstal paket bahasa dan template dapat dibaca dan dipelajari pada bab berikutnya42.
1.4 Pengembangan Mambo/Joomla
Fleksibilitas Mambo/Joomla yang sudah terbukti dan benar-benar dapat diandalkan menyebabkan banyak third party43 untuk mengembangkan Mambo/Joomla. Struktur kode yang modular sangat memungkinkan dan memudahkan developer untuk mengembangkan sendiri website Mambo/Joomla mereka sesuai dengan “kebutuhan masing-masing”. Lalu bagaimana caranya? Pada subbab ini penulis hanya akan menjelaskan tentang pengembangan modul. Mengenai template akan dijelaskan secara khusus pada Bab 3.
1.4.1 Membuat Modul Untuk membuat modul sendiri, pertama-tama yang harus kita lakukan adalah memberikan nama modul. Penamaannya haruslah dimulai (prefix) “mod_” diikuti dengan nama yang berhubungan yang sebetulnya ditentukan secara bebas. Hanya saja untuk memudahkan sebaiknya ada hubungannya dengan nama modul yang dimaksud. Misalkan kita ingin membuat sebuah modul untuk menampilkan login terakhir dari anggota. Pertama kita tentukan nama modulnya misalkan “mod_lastlogin”. Kemudian kita harus membuat file yang berekstensi xml dan php. Berarti dari contoh ada dua file yaitu 42 43
Bab 2 untuk Instalasi Paket Bahasa dan Bab 3 untuk Instalasi Template. Pengembang (baca: developer) pihak ketiga.
38
mod_lastlogin.xml dan mod_lastlogin.php. Kedua file tersebut lalu kita kompresi menjadi file zip. File xml diperlukan untuk mendefinisikan modul dan memberitahukannya kepada installer MOS/Joomla, modul apa saja yang akan diinstal beserta metadata mengenai modul tersebut. Contoh file mod_lastlogin.xml sebagai berikut: <mosinstall type="module"> Modul Lastlogin 01/01/2005 Adhi Rachdian This template is released under the GNU/GPL License [email protected] http://rachdian.pacific.net.id 1.0 <description>Modul Untuk Menampilkan Login Terakhir Anggota mod_ lastlogin.php
Contoh Skrip 1: file mod_lastlogin.xml Berikutnya yaitu file mod_lastlogin.php: get( 'count', 5 );
39
$display_name = $params->get( 'display_name', 1 ); $display_lastvisit_date = $params->get( 'display_lastvisit_date', 1 ); $moduleclass_sfx = $params->get( 'moduleclass_sfx' ); $query . . .
= "SELECT id, username, name, lastvisitDate" "\nFROM #__users" "\nWHERE block='0'" "\nORDER BY lastvisitDate DESC LIMIT $count";
$database->setQuery( $query ); $rows = $database->loadObjectList(); ?> name; echo '('.$row>username.') '; } else { echo $row->username; } ?> <span class="smalldark">(lastvisitDate ?>)
Contoh Skrip 2: mod_lastlogin.php
40
Setelah berhasil membuat modul, bagaimana kelanjutannya? Tentu saja kita harus menginstal, mengaktifkan, dan mendefinisikannya pada administrasi backend, kemudian langkah terakhir yaitu menempatkannya pada template44.
Langkah-langkah untuk mengaktifkan suatu modul: 1.
Membuat atau men-download modul.
2.
Instalasi pada administrasi backend.
3.
Mengaktifkan dan mendefinisikan pada administrasi backend.
4.
Memposisikan modul pada template.
1.4.2 Pengembangan Komponen dan Mambot Pengembangan komponen dan mambot jauh lebih sulit dibandingkan dengan pengembangan modul. Hal ini jelas dapat dimengerti karena kompleksitasnya. Pembuatan komponen mencakup administrasi backend di mana di antaranya yaitu keterkaitan pada pengembangan skema database, komponen admin, Database Class Handlers, Component Event Handler, Component Presentation Layer, dan Component Toolbar. Pada prinsipnya pengembangan mambot ditujukan untuk menghasilkan tiga penanganan kejadian yaitu onPrepareContent, onSearch dan onLoadEditor. Pengembangan komponen dan mambot tidak sesederhana pembuatan modul sehingga memerlukan pembahasan yang lebih rinci, komprehensif, dan uraian yang lebih panjang45.
44
Instalasi modul telah dibahas pada submenu sebelumnya. Cara mengaktifkan dan mendefinisikan modul, dibahas pada Bab 2. Sedangkan memposisikan modul pada template dibahas pada Bab 3. 45 Insya Allah akan dituangkan dalam buku seri berikutnya yaitu buku yang khusus membahas pengembangan Mambo/Joomla secara lebih detail dan mendalam.
41