Selasa, 03 Februari 2009

Perbedaan Role antara CMS dan Framework

"CMS untuk admin. Framework untuk developer."

Belum ada gabungan Framework-CMS yang berjalan di atas PHP. Dari hasil coba-coba berbagai CMS di atas ternyata kedua-role ini belum ketemu. Pemisahan membuat fokus. Namun yang lebih penting adalah integrasinya.

Hasil survey lalu menuntun ke survey berikutnya yaitu Framework CMS yang menarik berdasarkan platform tertentu untuk proyek kecil, misalnya intranet. Jadi berikutnya penulis mensurvey beberapa framework. Dulu pernah membangun proyek dengan CodeIgniter. Namun sekarang cukup melihat hubungannya dengan CMS.

Targetnya berbeda

  • Kebanyakan pemakai Framework adalah tukang lembur yang terkadang mencintai nightly-builds.
  • Sedangkan antarmuka CMS lebih cenderung diperuntukkan kepada admin yang biasanya bekerja di bawah mentari.
Bagi developer yang penting bukanlah kemudahan dalam administrasi, namun kecepatan me-release software. Dalam hal ini yang dibicarakan adalah framework. Mencoba framework baru memang menantang, namun tanpa CMS, framework bukanlah solusi siap pakai.

Trend framework sekarang adalah mendukung MVC (Model-View-Controller). Ada banyak PHP Framework yaitu CodeIgniter, Kohana, Zend, CakePHP, Prado, SeaGull, Dojo dan Symfoni. Tidak semua sudah dicoba. CMS berbasis Zend atau Cake kurang berkembang. Bahkan bisa dibilang tidak ada live-CMS yang terbukti berkembang di bawah Framework berbasis PHP.

Note: Bukan Role CMS
Role untuk developing CMS dan Role untuk penggunaan CMS adalah bidang yang berbeda. Kita tidak membicarakan Role CMS. Berikut adalah role CMS agar jelas.
  • Dari sisi penggunaan, kalau Framework dan CMS sudah terintegrasi, role dapat dibagi lagi menjadi admin/installer, designer, publisher/editor, core developer dan extension developer. Nantinya CMS harus lebih modular, saat ini Role untuk publisher dan admin masih dalam satu interface. Antarmuka untuk publisher ini boleh digabung dengan berbagai data-entry. Sementara di bagian paling depan untuk end user baik registered maupun anonymous.
  • Dari sisi developing, Framework harus bebas terhadap berbagai kemungkinan implementasi role dan ACL (Access Control List).
Masalah
Belum ada gabungan Framework-CMS yang berjalan di atas PHP.

Ya! ternyata belum ada satupun Framework PHP4/PHP5 yang berhasil dibuat untuk mendevelop CMS. Yang terjadi adalah CMS yang mempunyai built-in Framework. Hanya dua CMS yang mempunya built-in framework yang ketat dalam hal MVC yaitu Joomla (1.6) dan SilverStripe.
  • Framework Joomla yang setengah hati tidak memuaskan. Hal ini disebabkan karena Joomla harus memelihara kompatibilitas ke belakang. Joomla belum memiliki ORM.
  • ORM dari SilverStripe/Sapphire sangat tergantung pada database. Semua konfigurasi ditaruh di dalam database (biasanya di file XML, YAML atau mungkin JSON).. Ini bendcana, betapapun cantiknya tampilan web 2.0 SilverStripe.
Jangan salah tangkap, penulis sangat kagum kepada para pembikin CMS ini. Dengan segala hormat, bukan salah mereka kalau ada produk yang lebih cocok bagi pengembang kecil-kecilan.

Permasalahan dari built-in framework adalah tidak modular. Suatu module diciptakan untuk tugas tertentu CMS secara spesifik. Pada saat kebutuhan berkembang, susah untuk membuatnya menjadi general. Akibatnya framework terpaku pada produk tertentu, atau konsep tertentu yang menjadi obsolete di kemudian hari.

Library yang tidak standar dapat menjadi sumber masalah di CMS yang kaku (tidak netral). Contohnya adalah Joomla, kita tidak dapat memasang javascript-mootolos-1.2 tanpa mengubah core system karena Joomla-1.5 telah terpaku pada javascript-mootools-1.1. Mengubah core system berarti menyusahkan diri sendiri saat meng-update Joomla. Pendekatan lain harus dilakukan.

1 komentar:

  1. 1.gan ane mau tanya apa sih bedanya cms sama php...
    2. apakah html itu kurang bagus dalam hal SEO dari pada website dengan php.. soalnya saya kurang paham masalah php.. saya dulu pernah buat website dengan artister tapi yang saya pakek versi html nya hasilnya jelek...akhirnya saya nyerah dehhh akhirnya saya minta jasa pembuat web

    BalasHapus