Ghost – Platform Memfokuskan Penulisan Blog

9 November 2012, pereka dan pembangun laman web – John O’Nolan mengumumkan projek sistem pengurus kandungan (content management system, ringkasnya CMS) iaitu Ghost di internet. John O’Nolan menerbitkan satu halaman khas berkenaan konsep dan rekabentuk Ghost pada masa itu untuk menunjukan secara ringkas apa yang ingin dibawakan oleh Ghost. Memetik kata-kata salah seorang pengasas WordPress, Matt Wullenweg:

66% pengguna mengatakan bahawa mereka menggunakan WordPress sebagai CMS, bukan sebagai blog

Apa yang dimaksudkan di sini ialah WordPress bukan lagi digunakan untuk membina blog sahaja, tapi lebih dari itu antaranya ialah sebagai kedai atas talian, laman berita, dan juga laman untuk menyiarkan hasil kerja seni fotografi. John O’Nolan berpendapat bahawa WordPress bukan lagi platform untuk membina blog semata-mata, bercanggahan dengan slogan yang digunapakai oleh WordPress iaitu Just a Blogging Platform.

Ghost – Platform Memfokuskan Penulisan Blog

Fasa Pembiayaan di KickStarter

Ghost – Platform Memfokuskan Penulisan BlogPasukan pembangun Ghost memulakan fasa ini pada 29 April 2013 dan ia berlangsung selama sebulan sehingga 28 Mei. Sasaran pembiayaan yang diletakkan berjumlah 25 ribu Euro. Projek ini berjaya memperoleh pembiayaan kira-kira 196 ribu Euro oleh 5,236 penyumbang.

Fasa Percubaan Tertutup

Pada 19 September, Ghost versi 0.3 (kod nama: Kerouac) dilepaskan untuk dicuba oleh kira-kira 6000 penyumbang. Bersumberkan kepada pengumuman, antara penyumbang Ghost di Kickstarter termasuklah WooThemes, Envato, MarketPress, Code School dan juga Microsoft.

Pelancaran Kepada Umum

Setelah 3 minggu Ghost melalui fasa percubaan tertutup, pada 14 Oktober 2013 ia dilepaskan kepada umum. Bermula pada hari ini, pengguna yang berminat boleh mendaftar akaun di Ghost.org untuk mendapatkan kod sumber Ghost serta akses kepada forum. Pada hari yang sama juga, Ghost telah membuka akses GitHub kepada pembangun luar yang berminat untuk turut sama menyumbang idea, berbincang mengenai ciri-ciri dan fungsi baru untuk Ghost, ataupun melaporkan pepijat.

Pasukan pembangun turut mengumumkan bahawa pada masa yang terdekat, Ghost akan menyediakan akses kepada hosted platform untuk pengguna membina Ghost menggunakan platform mereka, sama seperti platform Blogspot, WordPress.com dan juga Tumblr. Ketika artikel ini ditulis, hosted platform telahpun dilancarkan di laman HostGhost namun ia masih diperingkat beta tertutup, dan agak menyedihkan kerana HostGhost tidak menyediakan akses percuma.

Tanggapan Awal

Pada awalnya, saya beranggapan Ghost ini dibina menggunakan PHP dan MySQL tetapi tanggapan itu meleset kerana ia menggunakan teknologi yang baru, dikenali sebagai NodeJS. Ghost dibina dengan menggunakan bahasa pengaturcaraan Javascript, dan menggunakan pangkalan data SQLite secara default (Ghost juga menyokong MySQL dan PostgreSQL). Dalam bahasa yang mudah, pengguna tidak boleh memasang Ghost pada webhosting tradisional sepertimana kebanyakan pengguna WordPress self-hosted, kerana kebanyakan pakej webhosting tidak menyediakan sokongan NodeJS.

Spesifikasi Ghost
Versi0.3.3
Bahasa PengaturcaraanJavascript
PlatformNodeJS
Pangkalan DataSQLite (menyokong MySQL)
Saiz (Arkib)1.8MB
Saiz (Diekstrak)5.6MB
Tema UtamaCasper
Proses Pemasangan, Bahagian 1

Saya sengaja memilih cara pemasangan yang paling panjang (from scratch) iaitu dengan melanggan Virtual Private Server (VPS), memasang NodeJS secara manual, dan memasang Ghost juga secara manual. Untuk VPS, saya menggunakan platform Amazon AWS EC2 (untuk pengguna baru, Amazon memberikan akses mikro percuma selama 1 tahun).

Untuk mengatasi kerumitan ini, pasukan pembangun Ghost telah menyediakan beberapa alternatif untuk memudahkan pengguna baru memasang Ghost, antaranya berkolaborasi dengan Digital Ocean, menyediakan Amazon Community AMI, BitNami Ghost Installer, dan juga pemasangan Ghost yang mudah di RackSpace.

Pendapat peribadi saya, anda boleh mencuba Ghost di Digital Ocean kerana ia lebih mudah jika dibandingkan dengan cara yang lain. Lebih menguntungkan pihak Digital Ocean memberikan penggunaan percuma Ghost selama dua bulan (promosi berakhir 1 November, dan kos bulanan berikutnya hanya $5 sebulan, iaitu kira-kira RM16.

Proses Pemasangan, Bahagian 2

Saya akan menulis secara ringkas tentang cara-cara memasang Ghost kerana pasukan pembangunnya ada menyediakan panduan pemasangan Ghost di How To Install Ghost, dan juga pada laman dokumentasi mereka di The Ghost Guide. Perkara pertama selepas mendapatkan VPS ialah memasang NodeJS. Saya menggunakan Ubuntu 12.04 LTS sebagai sistem operasi pilihan di EC2. Saya difahamkan bahawa Ubuntu Repository ada menyediakan NodeJS Compiled Installer, tetapi saya lebih selesa memasang NodeJS dari kod sumber. Berdasarkan pengalaman, kebanyakan aplikasi yang terdapat di Ubuntu Repository tidak dikemaskini pada versi yang terakhir.

Selepas NodeJS siap dipasang, pengguna boleh memuat-turun Ghost ke VPS dengan menggunakan kata arahan wget. Setelah Ghost siap dimuat turun dan di ekstrak, perkara seterusnya ialah menukar nama fail config.example.js kepada config.js. Kemudian isikan config.js dengan informasi berkenaan VPS anda.

Ghost – Platform Memfokuskan Penulisan Blog

Selesai sahaja proses penyuntingan config.js, anda perlu memasang dependencies untuk melengkapkan pemasangan Ghost dengan menaip npm install. Setelah selesai, Ghost sedia untuk dijalankan dengan menaip sudo npm start.

Ghost – Platform Memfokuskan Penulisan Blog

Setelah Ghost siap dipasang, anda boleh mendaftar akaun pada Ghost anda dengan melayari namadomain.com/ghost.

Tips : Adalah sangat digalakkan supaya anda memasang dan menggunakan node-forever untuk memastikan Ghost sentiasa berjalan setelah sama ada ia crashed, ataupun setelah VPS anda reboot.
Panel Penyelaras (Admin Panel)

Berdasarkan lakaran awal Ghost, ia menekankan kepada konsep anda lihat apa yang anda nak, dengan memaparkan kandungan yang relevan untuk anda seperti masa setempat, status dan bilangan artikel, jumlah trafik dan sebagainya.

Ghost – Platform Memfokuskan Penulisan Blog

Namun buat masa sekarang halaman panel penyelaras hanya memaparkan bahagian kandungan, tetapan Ghost, dan tetapan pengguna sahaja. Menariknya, halaman paparan kandungan menggunakan split-view, sama seperti kebanyakan pengurus email dengan tujuan untuk memudahkan pengguna melihat kandungan mereka dari halaman penyelaras.

Ghost – Platform Memfokuskan Penulisan Blog

Ghost – Platform Memfokuskan Penulisan Blog

Ghost – Platform Memfokuskan Penulisan Blog

Ghost didatangkan bersama dengan panel pengarang (editing panel) yang dikatakan ‘masuk akal’ untuk blogging, dikenali sebagai Markdown Editor. Panel ini tidak menggunakan sebarang butang fungsi untuk bold, italic dan juga hyperlink, tetapi ia menggunakan beberapa simbol seperti # (hash) dan * (asterisk).

Sepanjang percubaan saya menggunakan Markdown Editor pada Ghost, ia mengesan kekunci CMD + B untuk bold dan CMD + I untuk italic dengan baik (pada Windows, gunakan CTRL + B dan CTRL + I).

Ghost – Platform Memfokuskan Penulisan Blog

Agak malang sekali buat blogger yang suka menggunakan pilihan warna yang pelbagai dan juga align center pada artikel mereka, kerana kedua-dua fungsi tersebut tiada pada Ghost ketika artikel ini ditulis.

Pengalaman Memasang & Nota Tambahan

Saya ada menulis pengalaman awal menggunakan Ghost; kira-kira 7 jam membaca dan mencuba serta mengubah tetapan semasa memasang Ghost. Artikel ini juga ada menerangkan sedikit berkaitan salah faham pengguna terhadap NodeJS melalui perbandingan ringkas antara NodeJs dan Apache/Nginx stack.

Antara kesilapan-kesilapan yang biasa dilakukan oleh pengguna semasa memasang Ghost ialah tersilap tetapan keizinan fail (file permission setting), tersilap menjalankan arahan tanpa kelayakan (root credentials / root permission), tersilap menaip arahan, tersilap menyunting fail, dan tersilap direktori kerja (working directory). Setelah berjaya dengan proses pemasangan pertama, pemasangan seterusnya menjadi lebih mudah dan cepat. Pada cubaan kedua dan ketiga saya hanya menggunakan kira-kira 30 minit atau kurang untuk menjalankan Ghost.

Buat masa sekarang Ghost tidak menyediakan penambahan fungsi melalui pemalam (plugin), dan pengguna hanya boleh mencipta 1 akaun sahaja pada satu Ghost. Penambahbaikan kedua-dua fungsi ini akan disediakan pada versi yang akan datang. Untuk pengetahuan, Ghost tidak menyediakan fungsi komen terbina di dalam (built-in discussion/comment) kerana fokus Ghost ialah untuk penerbitan kandungan. John O’Nolan menegaskan bahawa “bukanlah Ghost tidak membawakan fungsi komen, tetapi lebih tepatnya fungsi komen tidak diaktifkan secara default”.

Pengguna perlu faham bahawa sehingga sekarang (Ghost versi 0.3.3) ia masih belum stabil dan tidak sesuai untuk fasa penerbitan. Ia masih lagi kekurangan fungsi dan terdapat beberapa pepijat kritikal padanya. Anda boleh melayari laman GitHub Ghost untuk mendapatkan informasi berkenaan ciri-ciri yang akan diperkenalkan pada versi Ghost yang akan datang, dan jika anda berminat untuk merekabentuk tema anda boleh merujuk halaman Ghost Docs. Untuk pengetahuan anda juga, pemalam untuk mengeksport data dari WordPress kepada Ghost sudahpun ada pada halaman WordPress Plugins.

Penutup

Secara peribadi, saya merasakan bahawa tidak adil jika diberikan rating untuk Ghost pada ketika ini. Ghost masih lagi baru, dan belum sepenuhnya stabil. Mungkin dalam masa enam bulan lagi ia mencapai fasa stabil sepenuhnya. Apa yang boleh saya rumuskan, misi Ghost untuk mendefinisikan kembali penulisan dan blogging adalah relevan, dan ia mendapat sokongan saya 110%. Saya tidak mengatakan WordPress tidak relevan, tetapi ingin saya menegaskan bahawa dua-dua mempunyai kelebihan masing-masing. Jika saya ingin membangunkan blog untuk lebih fungsi dan berkonsepkan majalah (magazine-based), saya lebih selesa menggunakan WordPress. Jika saya mahu menulis pada platform yang menawarkan persekitaran tanpa gangguan, saya pilih Ghost.

Anda mungkin berminat untuk membaca buah fikiran John O’Nolan yang ditulis setahun yang lalu sebaik sahaja dia melancarkan lakar konsep Ghost jika anda ingin memahami dengan lebih lanjut kenapa dia ingin merealisasikan projek ini.

Artikel ini ditulis oleh Aizan Fahri untuk Amanz. Ikuti beliau di Twitter atau blog peribadi beliau. Jangan lupa baca nota penulis ketika proses menulis artikel ini.

Nota: