Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. CMS
Code

4 Alasan Memilih ProcessWire sebagai CMS Anda Berikutnya

by
Length:LongLanguages:

Indonesian (Bahasa Indonesia) translation by Hasannudin Amin (you can also view the original English article)

Beberapa minggu yang lalu saya menemukan sebuah artikel berjudul "Managing Your Content Management System". Ini memberikan rekomendasi bagaimana membatasi dan menyesuaikan kebebasan pengguna dalam sistem back-end Content Management System (CMS) dengan tujuan membuatnya semudah mungkin untuk menggunakannya.

Membaca rekomendasi ini dan membandingkannya dengan kemungkinan teknis pemain utama dalam lanskap CMS saat ini, saya melihat banyak keterbatasan. Sebagian besar CMS ini tidak memiliki kemampuan seperti ini dan tidak dapat memberikan tingkat pilihan untuk secara ideal menyesuaikan antarmuka pengguna akhir. Tapi bekerja dengan ProcessWire selama beberapa tahun sekarang, saya rasa saya telah menemukan tempat perlindungan bagi pengembang dan pengguna yang menginginkan hal itu.

Screenshot of the ProcessWire website

ProcessWire adalah PHP CMS dan Content Management Framework (CMF) yang gratis dan open source. Intinya didasarkan pada beberapa konsep sederhana dan ini menyediakan alat yang sangat mudah digunakan dan sangat hebat pada saat yang bersamaan. Dalam artikel ikhtisar ini saya ingin mengenalkan Anda pada beberapa alat dan konsep ini. Berikut adalah empat alasan untuk memilih ProcessWire sebagai CMS Anda berikutnya.

1. Ini Berdasarkan Tiga Konsep Inti Sederhana: Halaman, Bidang, and Template

Input dan output data didasarkan pada tiga konsep inti saja, dan tidak ada yang lain. Ini berarti bahwa begitu Anda memahami konsep ini, pada dasarnya Anda memahami segala hal tentang ProcessWire dan filosofi di baliknya. Keren banget kan? Jadi, izinkan saya memperkenalkan Anda ke halaman, bidang dan template.

Halaman

Di halaman awal instalasi ProcessWire Anda, Anda akan melihat sebuah hierarchical page tree tunggal

ProcessWire installation

Tautan yang Anda lihat di tree disebut halaman. Halaman di back-end biasanya mencerminkan halaman yang terlihat di front-end. Misalnya, laman "About" di tangkapan layar dapat diakses di front-end dengan membuka your-domain.com/about/ Anda.

Tapi halaman tidak harus memiliki pendamping di front-end. Mereka juga bisa hanya ada di back-end dan berfungsi sebagai wadah data untuk halaman lain. Biarkan kalimat yang baru saja Anda baca tenggelam: Konsep halaman yang hanya tersedia di back-end cukup kuat karena membuka kemungkinan tanpa akhir dalam bagaimana menyusun situs web Anda dan berinteraksi dengan data yang diinput.

Anda bisa-dan seharusnya-menggunakan halaman untuk hampir semuanya. Misalnya, Anda dapat memiliki halaman pengaturan tersembunyi, di mana Anda menyimpan hal-hal seperti navigasi utama atau teks umum seperti nama, slogan, pemberitahuan hak cipta, dll dari situs Anda. Contoh lainnya adalah tag dan kategori posting blog (setara dengan taksonomi di WordPress). Anda hanya akan membuat halaman untuk setiap tag atau kategori dari sebuah posting blog. Izinkan saya mengutip dari Joss Sanglier berkenaan dengan halaman di ProcessWire:

Halaman di ProcessWire digunakan untuk segala macam hal. Mereka dapat digunakan sebagai penanda dalam daftar halaman Anda. Mereka bisa digunakan sebagai induk kelompok untuk halaman lain. Mereka dapat digunakan sebagai kategori, tag atau daftar atau pengguna. Dan mereka bahkan bisa digunakan untuk memilih drop-down sederhana - hanya untuk memberi label dan nilai.

Mari buka dan edit halaman "About" yang disebutkan di atas

The About Page

Anda sekarang melihat konsep inti berikutnya dari bidang ProcessWire:.

Bidang

Halaman berisi bidang. Tapi bidang harus dilihat dari dua sudut yang berbeda. Secara optiknya mereka adalah bagian dari halaman, karena ketika Anda membuka halaman Anda melihat bidang yang Anda dapat bekerja dengannya. Secara teknis bidang ini adalah bagian dari template halaman. Saya akan menjelaskan konsep template nanti; pertama mari kita pahami tentang bidang.

Bidang dalam ProcessWire adalah wadah tempat Anda memasukkan data atau dari data yang Anda pilih, seperti teks, teks area, angka, e-mail, upload file, halaman lain, dan lain-lain. Ini benar-benar sesuai dengan jumlah bidang yang Anda isi. Itu hanya bisa memiliki satu (misalnya bidang untuk judul halaman), atau tidak ada bidang apapun (tidak terlalu nyaman), atau lebih dari 50 atau 100 bidang.

ProcessWire tidak memiliki pengertian bidang kustom seperti WordPress, karena setiap bidang di ProcessWire adalah bidang kustom. Anda membuat bidang dan menentukan jenis yang Anda inginkan (lihat gambar di bawah). Itu dia!

ProcessWire fields

Bidang bisa diberi label, deskripsi dan beberapa catatan untuk informasi tambahan yang muncul di bawahnya. Setiap jenis bidang memiliki pengaturannya sendiri. Mari kita lihat tiga jenis bidang dan beberapa pengaturan yang dapat Anda lakukan untuk mencobanya:

  • Bidang jenis Textarea: Anda dapat memutuskan apakah teks itu diterjemahkan seperti teks editor biasa atau seperti rich text editor (CKEditor secara defaultnya). Anda bisa menentukan tombol mana yang akan muncul di toolbar CKEditor dan bahkan masukan opsi konfigurasi custom tepat di admin GUI.
  • Bidang jenis Page: Anda bisa menghubungkan satu halaman dengan halaman lain dan dengan demikian menciptakan hubungan di antara mereka. Anda bisa menghubungkan satu halaman (hubungan satu-dengan-satu) atau beberapa halaman (hubungan satu-dengan-banyak). Anda bahkan bisa membiarkan pembuatan halaman baru dari bidang halaman.
  • Bidang jenis Image: Anda dapat menentukan jenis (ekstensi) gambar apa yang bisa diunggah. Anda dapat menentukan tinggi dan lebar minimum dan/atau maksimum yang harus dipenuhi untuk diupload.

Intinya begini: Setiap bidang yang Anda buat sangat mudah disesuaikan dengan kebutuhan dan kebutuhan orang-orang yang membuat dan mengedit konten sebagai berikut.

Tapi bagaimana sebuah halaman mengetahui bidang apa yang ada dalam dirinya sendiri? Jadi, mari kita lihat template.

Template

Bila Anda membuat halaman baru Anda harus memilih template. Template berisi semua informasi yang perlu diketahui halaman tentang isinya (bidang apa yang dimilikinya, bagaimana bidang itu diterjemahkan dan bagaimana mereka berperilaku).

Di bawah ini Anda melihat bidang dari template basic-page.

ProcessWrite templates

Mengklik pada sebuah bidang membuka jendela modal, di mana Anda dapat memodifikasi pengaturan bidang tepat untuk template itu.

ProcessWire tempalte attributes

Template dapat memiliki file PHP fisik dengan nama yang sama yang terkait dengannya. File template ini berada di /site/templates/. Dalam file seperti itu Anda menulis kode PHP dan markup HTML yang akhirnya mengeluarkan konten halaman dan merender elemen yang dilihat pengunjung di halaman situs Anda.

Jika template tidak memiliki file yang sesuai, halaman yang terkait dengannya tidak dapat ditampilkan di front-end berdiri sendiri. Itu tidak berarti bahwa Anda tidak bisa mendapatkan data dari halaman itu dan menampilkannya di tempat lain-Anda dapat melakukannya dengan menggunakan file template yang ada dari halaman lain.

Mari meringkas hubungan teknis antara halaman, bidang dan template: Anda menambahkan field ke template, dan Anda memilih template saat membuat halaman baru. Bidang yang Anda lihat saat mengedit halaman adalah bidang yang Anda tambahkan ke template yang dipilih.

2. Memiliki API yang Membuat Jatuh Cinta Dengannya

Kode pada file template Anda sebagian besar akan terdiri dari beberapa konstruksi PHP dasar seperti menetapkan nilai pada variabel, kondisi if, loop foreach dan markup HTML di satu sisi, dan bekerja sama dengan API ProcessWire di sisi lain.

Anda bisa memikirkan API sebagai jQuery untuk PHP. Ini menyediakan metode, penyeleksi, chaining (antarmuka lancar) dan kemampuan melintas.

API mungkin adalah satu hal yang paling mengherankan saya tentang ProcessWire: Sangat mudah digunakan, mudah dimengerti, ekspresif, dan kuat pada saat yang bersamaan. Tapi yang terpenting, ini memungkinkan Anda berkembang dengan cepat dan tidak rumit, dan Anda benar-benar bersenang-senang berinteraksi dengannya. Itu masuk akal.

API Cheatsheet adalah referensi yang bagus Ini menunjukkan semua metode yang tersedia yang dapat Anda gunakan.

ProcessWire API

Sekarang, izinkan saya memperkenalkan Anda pada dua variabel yang terpapar API yang paling banyak Anda hadapi saat pengembangan template: $page and $pages.

Variabel $page

variabel $page berisi semua bidang yang spesifik untuk halaman yang sedang dilihat. Ini termasuk bidang built-in, yang umum untuk semua halaman, serta bidang yang spesifik untuk halaman satu ini saja.

Tapi bagaimana Anda bisa mengakses bidang halaman? Mari selami dengan benar dengan melihat beberapa contoh sederhana.

Keluarkan konten bidang teks dengan title:

Tampilkan nama template halaman:

Buat navigasi breadcrumb:

Sejak versi 2.5.27 Anda juga bisa menulis di atas sebagai berikut:

Keluarkan gambar hanya jika benar-benar telah diunggah:

Catatan: Anda harus mengatur bidang gambar Anda untuk memuat hanya satu gambar agar bisa berfungsi.

Berikut adalah beberapa contoh untuk saat bidang gambar diatur untuk berisi beberapa gambar.

Ambil dan output gambar pertama:

Ambil dan output gambar acak:

Siklus melalui semua gambar, buat gambar berukuran besar dengan lebar 500 pixel dengan tinggi proporsional, dan gambar mini berukuran 100x100 dengan kualitas dan pengaturan tanam tertentu, lalu dapatkan link thumbnail ke varian besar:

Catatan: ProcessWire akan membuat gambar Anda dalam berbagai ukuran dengan cepat dan kemudian menyimpan cachenya.

Variabel $pages

Variabel $pages adalah referensi dari semua halaman di situs Anda. Ini memungkinkan Anda mengakses semua konten dan halaman situs Anda dari mana saja yang Anda inginkan.

Untuk contoh selanjutnya saya akan merujuk ke situs demo standar ProcessWire yang menyediakan koleksi gedung pencakar langit di Amerika Serikat.

Dapatkan halaman tertentu dan tampilkan judulnya:

Catatan: /cities/chicago/sears-tower/ adalah jalur lengkap yang mengarah ke halaman Sears Tower di hierarki pohon halaman ProcessWire.

Temukan semua gedung pencakar langit dengan tinggi lebih dari 500 kaki, dan kurang dari atau sama dengan 1.000 kaki:

Catatan: height adalah bidang yang terkandung di dalam template skyscraper.

Temukan semua gedung pencakar langit yang dibangun sebelum tahun 1950 dengan lantai 10, diurutkan berdasarkan tahun secara descending, lalu lantai secara descending:

Catatan: year dan floors adalah bidang yang terdapat di dalam template skyscraper.

Temukan semua gedung pencakar langit di Chicago dengan lantai 60, diurutkan berdasarkan lantai naik:

Temukan semua gedung pencakar langit oleh arsitek David Childs atau Renzo Piano, dan urutkan berdasarkan tinggi secara descending:

Catatan: architects adalah bidang yang ada di dalam template skyscraper.

3. Ini Dibangun dengan Arsitektur Modular dan Mudah Dipersiapkan

ProcessWire sendiri terdiri dari kerangka inti kecil (pertimbangkan inti dari ProcessWire yang memungkinkan fungsi dasar) dan satu set modul pra-paket, yang disertakan dengan setiap instalasi. Beberapa modul inti ini terpasang, dan yang lainnya di uninstall pemasangannya, secara default. Pikirkan modul ProcessWire sebagai plugin WordPress: Mereka memperluas dan menyesuaikan sistem.

Sifat modular dari ProcessWire memiliki beberapa keunggulan bagus:

  • Basis kode lebih dipelihara karena fungsionalitas inti diisolasi dan dipisahkan dari bagian lain sistem, yang juga sangat meningkatkan keamanan keseluruhan.
  • Pengembangan fitur baru disederhanakan, dan bug bisa menjadi sasaran dan diperbaiki dengan lebih mudah dan cepat.
  • Upgrade ke versi ProcessWire yang lebih baru atau modul tunggal biasanya tidak bermasalah, dan Anda tidak perlu khawatir bahwa setelah upgrade semuanya rusak.

Menginstal Modul

Instalasi modul semudah menyeret file modul ke direktori /site/ modules/ dan kemudian mengklik Install di admin GUI. Tapi sebenarnya ada lebih banyak cara untuk menginstal modul dari direktori modul.

Misalnya, Anda dapat menginstal Manajer Modul, yang memungkinkan Anda menjelajah, mendownload, menginstal dan memperbarui modul tepat di GUI admin.

Jumlah Modul: Kualitas Lebih dari Kuantitas

Pada saat penulisan, sekitar 370 modul ada untuk ProcessWire. Anda sekarang dapat membandingkan jumlah tersebut dengan sekitar 40.500 plugin WordPress yang ada di luar sana, dan perbandingan itu memang menarik dan mengungkapkan pada saat bersamaan. Setelah ini, seseorang dapat menarik beberapa kesimpulan yang memikirkan sifat umum ProcessWire dan modulnya, dan bagaimana perbandingannya dengan plugin CMS lainnya:

  • ProcessWire hampir tidak sepopuler dan tersebar luas seperti WordPress, Joomla, Drupal, dan lainnya.
  • Modul ProcessWire biasanya memiliki kualitas kode yang cukup tinggi. Mereka melakukan satu hal dan melakukan hal itu dengan baik.
  • Inti ProcessWire dengan sendirinya sangat kuat dan fleksibel sehingga tidak perlu menambahkan satu ton modul tambahan untuk memperpanjangnya. Misalnya, Anda tidak memerlukan modul untuk membuat tayangan slide galeri, modul untuk mendapatkan anak pertama dari sesuatu, modul untuk menghasilkan gambar mini, dll. Semua itu (dan banyak lagi) sudah ditutup dengan fungsionalitas dasar ProcessWire.

Hooks

Sementara hooks adalah topik yang lebih lanjut, perlu dicatat dan menunjukkan bahwa fungsionalitas ProcessWire dimaksudkan untuk menjadi super mudah untuk diubah dan diperluas. ProcessWire berisi ratusan metode yang mungkin Anda gunakan, untuk memodifikasi perilaku metode.

Misalkan kita telah membangun sebuah form kontak sederhana dengan menggunakan API atau Form Builder, dan beberapa bidang ditandai sesuai dengan kebutuhan back-end. Yang ingin kita capai adalah menambahkan markup front-end HTML5 yang sesuai untuk bidang formulir yang dibutuhkan. ProcessWire membuat ini cukup mudah. Kami hanya menghubungkan ke metode input bidang dan menentukan apa yang ingin kita sesuaikan: Tanyakan apakah bidang tersebut diperlukan, tambahkan atribut front-end yang diinginkan, dan taruh asterisk di akhir label input.

4. Tidak Menghalangi Jalan Anda dan Ini Menyediakan Alat untuk Membuat Antarmuka yang Disesuaikan dan Ramah Pengguna

Salah satu hal utama yang disukai orang tentang ProcessWire: Tidak menghalangi jalan Anda. Ini berperilaku sesuai dengan keinginan Anda dan menyesuaikan diri dengan gaya Anda mengembangkan situs web.

Misalnya, Anda memiliki kontrol penuh atas output markup dan Anda tidak dipaksa masuk ke cara tertentu untuk mengembangkan template pada sistem file. Jika Anda terbiasa dengan gaya pengembangan WordPress, Anda bisa terus seperti sebelumnya. Atau jika Anda ingin membuat arsitektur yang lebih canggih, Anda bisa menggunakan pendekatan yang terinspirasi MVC, dan akan berhasil dengan baik.

Seperti yang saya sebutkan sebelumnya, halaman tidak memiliki seperangkat bidang wajib agar ProcessWire dapat memahami struktur halaman. (Paling tidak tak terlihat. Ada beberapa bidang built-in seperti referensi ke orang tua halaman atau nomor halaman anak-anak, dll.) Anda dapat memasukkan 100 bidang pada halaman jika Anda mau, pesanlah sesuai keinginan Anda, tentukan yang diperlukan dan mana yang tidak, dan Anda dapat memasukkannya ke dalam set bidang atau tab yang berbeda untuk pengalaman UI yang lebih baik.

Hal utama lainnya yang disukai orang tentang ProcessWire: Ini tentu saja menyediakan alat untuk membuat antarmuka yang disesuaikan dan user-friendly. Saya memberi Anda sekilas tentang itu di paragraf sebelumnya. Tingkat kustomisasi untuk template adalah mind-blowing. Setelah Anda mengalami ini sendiri, Anda akan mengerti mengapa ProcessWire lebih merupakan CMF daripada CMS.

Sebagai contoh: Setiap bidang memiliki konteks khusus template yang menyertainya. Itu berarti Anda dapat menentukan bahwa bidang yang satu dan sama memiliki label, deskripsi, dan perilaku tertentu dalam satu template, dan label, deskripsi, dan perilaku yang sama sekali berbeda di template lain.

Contoh lain adalah dependensi inputfield: Mereka memungkinkan Anda menentukan kondisi di mana bidang tertentu di editor halaman ditampilkan atau dibutuhkan.

Dan contoh lainnya adalah modul PageTableExtended: ini memungkinkan tampilan pengguna, mengedit dan memodifikasi berbagai bagian halaman situs Anda (yang Anda sebagai pengembang mendefinisikannya) secara visual dan intuitif.

Itu bagi saya adalah definisi elegan dan sangat memberdayakan.

Kesimpulan

Artikel ini hanya bisa menggores permukaan dari apa yang bisa Anda lakukan dengan ProcessWire dan apa yang ditawarkannya. Daftar fitur hebat adalah, cukup cantumkan, terlalu lama dan akan melampaui cakupan artikel ini. Biarkan saya memberi Anda sekilas beberapa dari ini:

  • ProcessWire memiliki mekanisme caching yang hebat (misalnya template dan markup cache atau ProCache) dan kinerjanya sangat baik. Skalabilitas juga cukup mengesankan. Anda dapat benar-benar memiliki jutaan halaman dalam satu instalasi.
  • ProcessWire memiliki komunitas kecil namun fantastis. Discussion board adalah tempat utama untuk mendiskusikan pertanyaan dan masalah.
  • ProcessWire memiliki dukungan multi bahasa yang luar biasa. Modul multi bahasa adalah bagian dari modul inti pra-paket. Sangat mudah untuk mengatur dan merawat.
  • ProcessWire memiliki kemampuan pengelolaan pengguna built-in yang hebat dengan pengaturan yang sangat rinci dan mudah dikelola pada saat yang bersamaan. Misalnya, Anda dapat membuat peran bagi pengguna yang memiliki izin tunggal untuk mengedit bidang dalam bahasa Prancis, dan tidak dalam bahasa lain.
  • Ada banyak tema admin yang dapat Anda pilih untuk mengubah tampilan GUI admin.
  • Keamanan merupakan prioritas utama bagi ProcessWire.
  • ProcessWire memiliki roadmap transparan dan perkembangannya sangat aktif. Ada rilis minor baru hampir setiap minggu.

Semakin Anda menggunakan ProcessWire dan semakin Anda menginternalisasi konsep inti, API dan arsitektur modularnya, semakin Anda akan senang menggunakannya. Anda akan menyadari betapa hebatnya alat dan alur kerja ProcessWire sebenarnya. Orang bisa mengatakan bahwa satu-satunya hal yang membatasi Anda dalam mencapai tujuan tertentu dengan ProcessWire adalah imajinasi Anda sendiri.

Biarkan saya selesai dengan mengutip pencipta ProcessWire, Ryan Cramer:

ProcessWire adalah sistem yang memberi penghargaan kepada Anda dengan menjadi penasaran. Kami bertujuan untuk menunjukkan kepada Anda cara memancing sehingga Anda bisa menangkap ikan besar.

Kemana Harus Pergi Setelah Ini

Link dan alat yang berguna di sekitar ProcessWire:

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.