Sudah 2 bulan ini saya berkutat dengan CMS eZ Publish ini. CMS ini free, sama seperti Drupal, WordPress ataupun Joomla. Bedanya karena tidak berbasis pengembangan oleh komunitas, dokumentasi terkait relatif sulit didapatkan.

Beberapa perbedaan eZ Publish dengan CMS opensource lainnya :

  1. Dikembangkan oleh perusahaan (eZ Systems AS, berbasis di Norwegia)
  2. Extension (modul/plugin) yang masuk ke situs resmi eZ direview dulu dengan ketat oleh eZ Systems. Jadi tidak semua extension kiriman dari komunitas otomatis di approve dan masuk situs resmi mereka.
  3. Fitur yang disediakan secara default sangat banyak (Custom Field *sejenis CCK kalau di Drupal*, Polling, Newsletter, Multiple Site, Single sign on, dll).
  4. Secara default memang bisa digunakan sebagai satu CMS untuk beberapa situs. Tapi arti satu CMS disini tidak cuma scriptnya. Jadi bukan cuma satu script untuk beberapa situs sekaligus, melainkan satu CMS itu secara sistem bisa mencakup beberapa situs sekaligus.
  5. Secara default support multiple database (*mmm.. database cluster kali ya istilahnya).
  6. Secara default Cache nya aktif.. *ehm.. super duper aktif malah gan..!
  7. Banyak konfigurasi yang disimpan tidak di database, melainkan di file INI.
  8. Templating menggunakan *bahasa* sendiri, yang mirip – mirip Smarty.
  9. Secara default ada fitur *social network* (saya belum telusuri lebih jauh, tapi setahu saya sangat basic)
  10. Advance user access limitation
  11. Secara default menyediakan fitur Drafting dan Versioning content
  12. Fitur RSS Import tersedia secara default
  13. Semua konten adalah node.. (bahkan user dan kategori *dalam eZ istilahnya Folder* pun adalah node)
  14. Fitur auto resize image sesuai konfigurasinya sangat membantu (Berbahagialah jika anda menggunakan Linux, ImageMagick adalah kuncinya disini)
  15. Menyatakan diri sebagai CMS yang enterprise.. *bagi saya Drupal dan WordPress sih enterprise juga…, apalagi sangat banyak situs besar yang menggunakan kedua CMS ini (eZ Publish justru sangat jauh jika dibanding kedua CMS itu)

Yang saya rasa kurang pas :

Demi kemudahan manajemen sistem, fitur custom field secara default tersedia. Tapi tidak seperti Drupal yang CCK nya menggenerate table baru, eZ Publish memasukkannya dalam field – field di table MySQL. Akibatnya, setiap query content melakukan query SQL yang cukup berat, karena JOIN query berlapis – lapis yang dihasilkan.

Misalkan saja, kita punya tipe content Berita. Dan kita buat custom fields ini : Judul, Sub Judul, Summary, Body, Lokasi, Video, Thumbnail, Tag, Publish Date. Dan beberapa custom fields spesifik (checkbox) : Enable Comment, Show as Flash News.

Jika kita ingin menampilkan suatu detail artikel berita, tentunya semua field diatas diperlukan. Jadi wajar kalau semua field tersebut di-query. Tapi ada kalanya kita hanya ingin menampilkan list 5 berita terbaru di sidebar. Yang kita butuhkan paling hanya  Judul, dan Link nya. Tapi dengan API (?) yang tersedia, kita tidak bisa memanggil hanya Judul dan Link nya saja. Tapi semua field diatas ikut diambil.

Jadi bayangkan saja jika di satu halaman web seperti halaman depan Kompas.com ditampilkan. _Setiap_ Judul berita yang anda lihat itu adalah hasil dari JOIN query berlapis yang mengambil semua field nya. Itu masih ditambah lagi dengan field yang pasti ada dari setiap node (owner, publish date, version, dst..)

Ya, mungkin karena itu eZ Publish menyediakan fasilitas Cache secara default, bahkan sangat agresif.

Ah iya.. dokumentasi..! Karena memang CMS ini tidak begitu popular, seringkali sulit menemukan dokumentasi terkait.

Yang saya rasa asyik :

Development relatif mudah (untuk kebutuhan standar). Walaupun agak tricky. Terutama dibagian template. Seringkali saya menemui kasus yang dengan sebaris PHP bisa diselesaikan, tapi berhubung fungsi tersebut tidak tersedia di template, harus diakali dengan cara lain.

Fitur custom module nya cukup asyik “dimainkan”. 😛

Kesimpulan

Jadi, kesimpulan saya sejauh ini, situs ini cocok untuk website yang model portal informasi, media, atau publishing. Enak memang managementnya. Dan developmentnya pun cukup mudah. Tapi sepertinya fiturnya yang sangat banyak itu menjadi tidak terpakai ketika permintaan customize sebuah website semakin tinggi. Apalagi di era ke depan, web application, termasuk keterlibatan API lintas webservice akan semakin umum dibutuhkan.

[Catatan]

Mungkin ada beberapa poin yang saya tulis tidak benar, jika ada yang tahu tinggalin komentar ya, saya juga masih mencari tahu soalnya.

** eZ Publish di pagi hari, CakePHP di malam hari **