Parasolx

Professional in Drupal web development, theme designing, consultation and training

Drupal

Segalanya mengenai Drupal

Drupal 8 Sudah Semakin Hampir, Apa Yang Istimewa Mengenainya?

03 Jul 2013 - 01:07 pm

Pada 20 hingga 24 Mei 2013 yang lepas telah berlangsung Drupal Conferences atau singkatannya adalah DrupalCon di Portland, North America. DrupalCon merupakan satu acara yang mengumpulkan semua pakar-pakar dan pembangun sistem Drupal untuk duduk dan berbincang mengenai hala tuju sistem tersebut. Sebagai pengelola sistem secara sah, Dries Buytaert selalunya akan membentangkan "key notes" beliau kepada semua pihak sebagai panduan dan pandu arah. Paling menarik di DrupalCon Portland adalah penayangan video pendek mengenai tingkat upaya yang dibuat pada Drupal 8.

Saksikan video tersebut di bawah ini.

Enam penekanan diterangkan dengan jelas dalam video ini iaitu:

  1. Content authoring
  2. Multilingual
  3. Web Services
  4. Views in Core
  5. Configuration Management
  6. Mobile

#1 Content authoring

Borang kemasukan kandungan ditambah baik dengan mewujudkan dua lajur yang mengasingkan ruangan untuk menulis dan konfigurasi kandungan. Selain itu CKEditor iaitu teks editor yang lebih dikenali sebagai WYSIWYG (What You See Is What You Get) telah diserap masuk terus secara lalai. Bermakna selepas pemasangan, Drupal 8 boleh digunakan secara terus seperti teks editor yang lain. Sokongan "drag-and-drop" juga telah ditambah seperti memuat naik fail media secara pukal dan salinan teks format daripada perisian teks seperti Microsoft Word.

Paling mengagumkan dalam Drupal 8 adalah sokongan untuk melakukan suntingan secara "inline" atau terus daripada laman sebenar. Suntingan "inline" ini merangkumi node, views, blok dan lain-lain elemen medan seperti tajuk, taksonomi dan medan-medan tambahan. Kebanyakan sistem mengasingkan antara suntingan kandungan dengan halaman sebenar untuk privasi data dan lain-lain akses capaian. Butang "Preview" atau pratonton juga akan dipaparkan kepada templat yang aktif dan bukan lagi di paparan pentadbiran.

#2 Multilangual

Sokongan multi bahasa adalah antara inisiatif yang paling kerap diutarakan semenjak Drupal 7 lagi. Dalam Drupal 8 isu ini diketengahkan untuk dilakukan peningkatan dan penambahbaikan termasuk pengurangan kepada hanya tiga modul daripada 13 modul bagi pengaktifan multi bahasa untuk keseluruhan laman. Selain itu, proses terjemahan untuk setiap elemen dipermudahkan termasuk node, blok dan lain-lain elemen. Kemas kini untuk pakej bahasa juga dilakukan secara automatis. Maka kita tidak perlu lagi "mengotorkan" tangan untuk log masuk menerusi FTP bagi mengemas kini perpustakaan bahasa. Terjemahan diasingkan kepada dua bahagian iaitu untuk bahagian laman web dan bahagian pentadbiran.

#3 Views in Core

Bagi pengguna Drupal, Views merupakan antara modul yang paling berkuasa. Kini ianya berada di dalam "core" Drupal 8. Dengan kekuatan yang ada pada Views, ke semua paparan pentadbiran di tingkat upaya untuk menggunakan Views. Pentadbir boleh mengubah dan melakukan penambahbaikan mengikut keperluan tersendiri. Paparan ini merangkumi "List of content", "List of User" dan lain-lain paparan yang melibatkan penggunaan jadual.

#4 Web Services

Apabila berbicara mengenai sistem pengurusan kandungan, ianya tidak cukup fleksibel sekiranya hanya terhad kepada sistem itu sahaja. Inilah yang dikuasakan oleh Drupal 8 di mana setiap tetapan, konfigurasi dan kandungan boleh dieksport ke dalam bentuk XML atau JSON. Seterusnya maklumat ini dihantar kepada sistem atau pelantar lain seperti aplikasi pada mobil. Data-data tersebut kemudian akan dibaca dan diterjemahkan dalam pelbagai bentuk persembahan secara terus. Konsep COPE iaitu "Create Once, Publish Everywhere" merupakan kunci dan tonggak utama kepada inisiatif ini.

#5 Configuration Management

Kesukaran yang dialami oleh pembangun laman menggunakan Drupal atau mana-mana CMS yang lain adalah konfigurasi. Berlainan dengan sistem yang dibina secara "custom", sistem Drupal mempunyai struktur pangkalan data yang standard. Bagi golongan yang sangat amatur, proses salinan konfigurasi sistem daripada komputer "localhost" perlu dibuat menerusi backend dan bukan semua pakar menguruskannya. Drupal 8 mengasingkan semua konfigurasi daripada pangkalan data dan disimpan dalam bentuk fail. Di samping mengurangkan capaian kepada pangkalan data, saiz dan beban kepada pelayan, konfigurasi sesuatu laman boleh dikemas kini, diguna pakai dan dipindah milik hanya dengan melakukan salinan pendua menerusi akses FTP sahaja. Hebat!

#6 Mobile

Internet ada di mana-mana. Kini dengan teknologi telefon pintar, laman web boleh diakses di mana-mana, dalam apa jua bentuk platform dan peranti. Inisiatif yang terakhir ini memastikan Drupal 8 adalah sepenuhnya menyokong paparan pada mobil. Ini termasuklah "responsive" templat yang mengambil kira perubahan saiz skrin. Ianya bukan terhad kepada templat sahaja (yang mana hampir kebanyakan CMS hari ini sudah menggunakannya) sebaliknya sistem itu sendiri. Modul tambahan iaitu Breakpoint yang bertindak untuk memaparkan saiz gambar berlainan pada saiz media yang berlainan, bukan satu gambar yang diskalakan kepada 100%. Modul Breakpoint ini disambungkan dengan modul ImageStyle. Maknanya pada iPhone kita akan melihat gambar hitam putih bersaiz 300px, manakala di desktop pula dengan kesan Sephia pada saiz 500px yang menuntut pengguna memuat naik satu gambar sahaja.

Pemeringkatan kandungan (content staging) dalam Drupal 8

05 Jun 2013 - 06:50 pm

Drupal 8 sudah semakin dekat untuk dilepaskan oleh pihak komuniti Drupal.org yang dijangka bakal menggemparkan dunia pembangunan laman web sekali lagi pada bulan September 2013 ini. Drupal 8 dilihat satu titik baru kepada Drupal itu sendiri kerana seakan-akan dijenamakan semula dengan pelbagai fungsi, susunan kod dan integrasi dengan beberapa elemen tambahan yang baru.

Pada awal pembangunan, Drupal 8 menekankan kepada lima aspek elemen utama dalam penambahbaikkan yang akan dilakukan. Walau bagaimanapun, setelah beberapa perbincangan dan inisiatif yang dilakukan, akhirnya kini jelas Drupal 8 telah memfokuskan kepada tujuh (7) aspek pembangunan utama iaitu Configuration Management, HTML5, Layouts, Mobile, Multilangual, Views in Core dan Web services.

Perkara yang paling menarik untuk dibicarakan kali ini adalah mengenai topik pemeringkatan kandungan atau Content staging di bawah aspek Configuration Management. Berdasarkan kepada standard NPR yang menekankan konsep COPE (Create One, Publish Everywhere), penghasilan kandungan merupakan antara ruang atau jarak yang paling besar dalam satu-satu sistem pengurusan kandungan.

COPE is really a combination of several other closely related sub-philosophies, including:

  • Build content management systems (CMS), not web publishing tools (WPT)
  • Separate content from display
  • Ensure content modularity
  • Ensure content portability

http://blog.programmableweb.com/2009/10/13/cope-create-once-publish-everywhere/

Create One Publish Everywhere
Konsep Create One, Publish Everywhere

Bagi membenarkan konsep COPE diimplementasi dalam Drupal 8 telah menjadi perbahasan yang agak tegang antara pihak komuniti memandangkan penggunakan WYSIWYG atau teks editor CKEditor mengandungi markup atau kod HTML. Setiap platform paparan mempunyai format tersendiri dalam persembahan kandungan. Antara cadangan yang dinyatakan adalah untuk tidak menggunakan sebarang editor atau mencipta editor tersendiri yang mengasingkan teks dan markup. Dengan cara ini, teks disimpan di dalam pangkalan data sebagai raw atau plain text. Manakala markup pula disimpan berasingan dan dipanggil sewaktu teks diterjemahkan ke dalam bentuk paparan Drupal.

Walau bagaimanapun, pendapat dan idea ini tidak diterima memandangkan visi atau pandangan yang diberikan terlalu jauh ke hadapan sedangkan fokus dan tujuan utama Drupal 8 adalah menyediakan satu platform penghasilan kandungan secara lebih mudah, teratur dan berperingkat. Kandungan tersebut pula mengaplikasikan HTML5 dan memaksimumkan konsep responsive. Tambahan, pihak komuniti bersetuju bahawa tidak menjadi masalah untuk mengetengahkan konsep COPE satu masa nanti memandangkan Drupal pemproses setiap kandungan menerusi Input Format atau dalam D7 Text Format.

Kelebihan Text Format adalah kandungan disimpan dalam bentuk teks dan markup yang asal daripada input. Sebelum ianya dilepaskan kepada sistem theme layer, kandungan diproses dan ditapis oleh Text Format. Maka sekiranya kandungan tersebut diperlukan oleh kandungan lain, ianya akan melalui pemprosesan sebelum dihantar mengikut jenis dan bentuk format yang diperlukan.

Dengan kombinasi yang sedia ada, setiap kandungan akan melalui beberapa peringkat yang ditambah baik termasuklah menggunakan konsep modul Workflow. Kandungan dalam Drupal 8 kini boleh ditetapkan untuk melalui frasa deraf, terbitan, terbitan dilaman utama, terbitan yang diutamakan dan tidak dipaparkan.

Drupal dan Apache Solr, enjin carian ala-ala Google

27 May 2013 - 08:45 am

Drupal sememangnya telah terkenal dan menjadi jenama identiti sebagai sistem pengurusan kandungan yang begitu hebat dalam SEO. Selain itu keupayaannya untuk mengendalikan pangkalan data yang bersaiz besar dengan sempurna adalah antara teras utama kebanyakan syarikat dan penyedia laman web gergasi bertukar kepadanya. Dengan kandungan yang begitu banyak, agak sukar untuk kita menyusun setiap kandungan agar mudah dicapai oleh pengguna.

Salah satu fungsi yang sedia ada dimuatkan dalam pakej Drupal adalah "Search" atau carian. Secara lalainya Drupal akan menjalankan proses mengindeks pada setiap entiti node seperti tajuk dan medan-medan yang digunakan. Indeks ini akan digunakan sebagai senarai perbandingan terhadap frasa atau kata kunci carian yang digunakan oleh pengguna. Namun begitu, akibat kengkangan pemprosesan dan capaian data, hasil carian kadang kala terlalu perlahan. Masa yang lebih lama perlu diambil oleh pelayan untuk membaca set carian yang sangat besar dan kompleks.

Meningkatkan tahap kelajuan carian

Salah satu cara untuk memastikan proses carian boleh dijalankan dengan lebih pantas pada laman web Drupal adalah dengan mengubah tatacara pemprosesannya yang asal. Proses daripada capaian kepada pangkalan data diubah ke bentuk capaian yang lebih pantas seperti XML. XML merupakan bahasa pengaturcaraan yang digunakan untuk menghantar dan menerima data-data pada kelajuan yang sangat pantas. Berbeza dengan pangkalan data (MySQL atau SQLite) di mana data perlu dibaca daripada pangkalan data, diproses dan dihantar dalam bentuk "query". Berbeza XML data dihantar dalam bentuk skematik, JSON ataupun Ajax.

Selain itu, XML tidak melibatkan pemprosesan terhadap pangkalan data sebaliknya ianya dijalankan sepenuhnya oleh pelayan. Pada situasi yang sama, carian pada indeks pangkalan data melibatkan dua proses yang berbeza iaitu carian pada pangkalan data dan diproses oleh pelayan. Inilah antara sebab mengapa kebanyakan migrasi atau penghantaran data dilakukan menerusi XML.

Apache Solr

apache solr

Apache Solr merupakan modul tambahan atau "plugin" kepada kod pengaturcaraan PHP yang dijanakan oleh Apache. Apache Solr mengindeks dan menghantar keputusan (result) dalam bentuk XML sekiranya arahan carian dilancarkan. Carian keputusan seterusnya akan dikategorikan mengikut acuan atau dipanggil "facet". Solr ditulis dalam kod pengaturcaraan Java yang jauh lebih pantas daripada PHP dan MySQL. Dengan menggunakan kaedah integrasi, Apache Solr akan menggantikan sepenuhkan fungsi carian lalai Drupal dan setiap frasa carian dibuat, ianya dijalankan sepenuhnya oleh Solr.

Sungguhpun begitu, bagi mana-mana pembangun, pemilik atau pereka laman web menggunakan Drupal perlulah memiliki sekuranga-kurangnya langganan hosting untuk jenis VPS dan yang terbaik adalah Dedicated. Ini disebabkan konfigurasi perlu dibuat pada pelayan dan laman utama portal.

Carian Autocomplete dan Suggested

Dengan Apache Solr, Drupal mampu untuk menterjemah dan belajar daripada hasil carian menerusi senarai cadangan atau "suggestion" sewaktu pengguna mula membuat carian. Bagi kes-kes laman yang mempunyai kandungan tersendiri, Solr bijak dalam memberi kata kunci cadangan untuk membantu pengguna dalam membuat carian dengan lebih efektif berbanding enjin carian yang disedikan secara lalai oleh Drupal.

Pelbagai integrasi pendaftaran pengguna pada sistem Drupal

01 May 2013 - 07:28 pm

Dengan merujuk kepada artikel terbaru yang ditulis di laman Kripkorn Studios, "Konsep asas sistem log masuk dan log keluar", Drupal menyediakan pelbagai bentuk sistem pendaftaran pengguna termasuklah menerusi integrasi sosial media seperti Facebook, Twitter dan lain-lain. Walau bagaimanapun terdapat beberapa kengkangan yang menyebabkan integrasi ini gagal dijalankan dengan sempurna pada Drupal.

Integrasi siap sedia dengan sistem lain

Seperti sedia maklum, terdapat lebih ratusan sistem pengurusan kandungan yang dibina dan dicipta semenjak lahirnya konsep sumber terbuka ini. Setiap sistem mempunyai fokus dan minat tersendiri seperti blog, forum dan pengurusan media.

Sekiranya mana-mana sistem Drupal telah diintegrasikan dengan lain-lain sistem pengurusan kandungan, penggunaan integrasi pendaftaran pengguna menerusi sosial media akan gagal. Antara modul yang disediakan pada Drupal adalah seperti Facebook OAuth dan Facebook Connect.

Kegagalan ini bukan disebabkan oleh kekurangan pada Drupal tetapi perbezaan token pengesahan atau sesi ID yang diberikan oleh aplikasi Facebook kepada Drupal. Sekiranya sistem sepenuhnya bergantung kepada Facebook sahaja, integrasi Drupal--CMS lain--Facebook boleh dijana tanpa sebarang masalah.

Tetapi perlu diberi perhatian bahawa tidak semua pengguna yang hadir mempunyai akaun Facebook. Kengkangan ini memaksa Drupal perlu menyediakan alternatif sistem pendaftaran atau log masuk yang asal. Pendaftaran atau sesi log masuk menggunakan sosial media ini tidak akan menghasilkan kata laluan memandangkan pengesahan dibuat menerusi aplikasi yang disediakan. Oleh itu sekiranya pengguna telah memadamkan akaun sosial medianya, maka tiada cara untuk log masuk ke dalam sistem secara manual.

Pengesahan aktiviti dan kewujudan akaun

Drupal menetapkan beberapa maklumat yang akan aktif dikemas kini menerusi proses log masuk secara lalai. Seandainya kaedah log masuk digantikan menerusi sosial media, aktiviti ini tidak akan dipantau dan disimpan. Ini menyebabkan beberapa keperluan maklumat yang diperlukan dalam integrasi antara Drupal dengan CMS yang lain tidak boleh dijalankan.

Ini menyebabkan pengguna log masuk pada Drupal tetapi tidak mendapat pengesahan daripada sistem yang satu lagi. Situasi ini berlaku pada laman Kripkorn Studios di mana cubaan untuk menyediakan kemudahan integrasi dengan sosial media gagal dilaksanakan.

Sehingga kini, masih belum ada jalan penyelesaian untuk permasalahan ini.

[Custom module] Sendnotes

11 Feb 2013 - 04:40 pm

Versi: 7.x-1.0

Fungsi: Modul ini berfungsi menyediakan satu borang untuk memaklumkan penulis kandungan melalui penghantaran emel. Emel yang dihasilkan dihantar menerusi fungsi drupal_mail(). Modul ini sangat kecil dan tidak memerlukan sokongan pangkalan data. Pembaca atau pengendali laman boleh memakluman sebarang perubahan terhadap kandungan spesifik kepada penulis asal. Pautan kepada kandungan dihasilkan secara automatik oleh modul ini. Selain itu, ianya dilengkapi dengan medan Carbon copy (cc) yang membolehkan salinan emel dihantar kepada daripada seorang penerima.


Setelah dipasang, satu menu pada bahagian "action links" Drupal akan dipaparkan pada setiap kandungan.

Ini adalah borang yang disediakan oleh modul ini. Bagi pengguna berdasark, nama dan emel akan diisi secara automatik di medan pengirim. Bagi pengunjung tetapi, ruangan ini membenarkan tetamu memasukkan nama dan alamat emel persendirian. Medan ini berfungsi agar mesej yang dihantar kepada penulis boleh dimaklumkan kembali kepada pengirim. Alamat URL halaman berkenaan dilampirkan bersama dalam emel secara automatik.

Fungsi modul ini mudah memandangkan proses pembinaanya juga sekejap, sekitar 2 jam sahaja. Namun kegunaannya boleh diaplikasikan lebih daripada fungsinya. Sebagai contoh, laman komuniti boleh menggunakan modul ini untuk memastikan maklum balas kandungan boleh dihantar terus kepada penulis (bagi kes laman komuniti berbilang penulis) secara peribadi (tiada paparan emel penulis dipaparkan). Bagi laman korporat, pihak pengurusan tertinggi boleh memastikan setiap kandungan terkini dan dikemas kini oleh pihak pengendali/pekerja.

Pages