Perihal mengembangkan CMS

Dashboard | LRS Engine versi-2.1.0
Dashboard | LRS Engine versi-2.1.0

Mengembangkan CMS sendiri? Kenapa tidak!

Bagi advanced developer, khususnya dibidang web, tidak ada kata lelah untuk inovasi. Selalu saja ada hal-hal baru yang ingin dibuat atau dikembangkan. Saya masih ingat ketika pertama kali belajar tentang pemrograman web, mudah dan banyak referensi. Meskipun lambat laun ternyata menyadari bahwa prospek bisnis dan tingkat penetrasi terhadap web saat ini sangat tinggi.

Dalam konteks website, setiap website mestinya dibangun dengan menjalani beberapa tahapan, mulai dari analyst, design, sampai production. Hal tersebut berlaku untuk 1 website, bisa dibayangkan jika anda akan mengembangkan 5 project website atau lebih dengan terus menerus menggunakan tahapan yang sama? Dari situlah muncul ide untuk membuat sebuah framework (kerangka kerja) dengan tujuan untuk memudahkan seseorang yang ingin mengembangkan website atau web system lebih dari satu kali, atau yang saat ini lebih kita kenal dengan CMS (Content Management System).

Bersamaan dengan semua kemudahan, fitur, dan fasilitas yang disediakan oleh CMS timbul juga permasalahan. Tidak semua dari fitur (dalam framework biasanya disebut fungsi/method) tersebut dapat digunakan, namun semuanya tetap di load secara bersamaan, karena hal tersebut untuk menjangkau user secara global, sehingga dampak nya berimbas pada performance dari website atau web system tersebut. Dampak tersebut bisa berupa banyaknya resource yang digunakan, beban load, dan lain sebagainya. Untuk itu beberapa developer memutuskan untuk mengembangkan framework sendiri sesuai kebutuhan system saja, tidak menyediakan fitur-fitur yang sebetulnya tidak diperlukan. Dalam mengembangkan sebuah framework ada beberapa hal yang perlu diperhatikan:

Model MVC

Struktur Direktori MVC

Kenapa MVC? Kebutuhan sistem pasti akan terus meningkat, bug dan masalah lainnya selalu mengintai. Akan menjadi sulit mengembangkan atau menambal sistem dengan konsep static design, meskipun pada awalnya bekerja normal tapi tetap sulit untuk melakukan maintenance. Lebih dari 75% dari developer tidak dapat mengingat kembali struktur program yang mereka bangun setelah sekian lama tidak membukanya kembali, butuh beberapa waktu untuk mempelajarinya kembali. Menelusuri tiap alur program, mencoba kembali, dan lain sebagainya.

Privileges

Masalah hak akses juga tidak kalah penting, bisa dibayangkan jika semua orang memiliki akses kedalam website atau web system yang telah kita buat. Sehingga dalam mengembangkan sebuah CMS fitur autentikasi dan hak akses sebaiknya menjadi prioritas.

Blog Standard (CRUD)

WordPress logo

Layaknya Code Igniter dan WordPress, framework yang siap pakai adalah WordPress (biasanya disebut CMS). Apa yang membuat WordPress sangat populer yakni mereka memiliki pre-built fitur yakni untuk blogging, selain memiliki banyak fitur-fitur canggih didalamnya, sehingga user biasa sekalipun dapat menggunakan WordPress tanpa mendapatkan kesulitan yang signifikan.

Update Method

Point terakhir menurut saya merupakan fitur yang sangat penting. Ada kalanya kita akan sangat kerepotan jika memiliki begitu banyak update-an untuk website atau web system yang sudah running. Repotnya ialah harus re-upload bagian script yang telah kita update tersebut, sehingga bisa dibayangkan jika ada lebih dari 100 file script yang harus di-reupload, belum lagi jika file-file tersebut berada pada path directory yang berbeda, Ampuun…

Pada CMS yang saya kembangkan saya menggunakan GIT client dan BitBucket sebagai GIT server-nya. Begitu saya memiliki beberapa atau banyak perubahan maka saya akan langsung push ke git server nya. Sebelumnya saya siapkan script updater untuk website atau web system tersebut, sehingga ketika ada perubahan atau pembaruan saya dapat dengan mudah melakukan update.

1 Comment

Tinggalkan Balasan