Halo sahabat developer, jadi saat ini kita akan membahas tentang Popoji CMS versi yang paling baru. Jadi di sini kita akan menjelaskan kenapa Popoji CMS di versi 3 ini merubah brandingnya dari Popoji CMS menjadi Popoji saja. Oke, karena Popoji yang terbaru versi 3 ini adalah sebuah engine management system jadi kita bebas mengarahkan Poco G ini menjadi CMS menjadi engine dari web terserah dari teman-teman developer nah di versi 3 ini memang agak lama versi rilisnya yaitu dari 2016 dan baru rilis di 2019 dan itu pun masih versi beta sebenarnya nah Di versi beta ini, developer POPOG itu memilih Laravel sebagai base engine-nya. Nah, kenapa dipilih Laravel? Karena Laravel ini dukungan komunitas yang dicari.
Jadi, dokumen komunitas bermasalahan pasti akan ada jalan keluar kalau kita tanya di forum-forum. Dan plugin-plugin komponen yang sudah ada di internet itu kebanyakan dari Laravel. Jadi kenapa Laravel ini menjadi calon kuat dijadikan base-nya Popoji versi 3. Nah, cuma di Indonesia, memang rekan-rekan di daerah itu pasti akan sangat kesulitan beradaptasi dengan Popoji yang terbaru ini. Di mana rekan-rekan yang semula hanya biasa di PHP yang langsung dipakai, sekarang dia harus belajar bagaimana menggunakan composer dan harus dipaksakan untuk menggunakan git.
Oke, jadi untuk repository git popogcms yang terbaru pun dipisah. Jadi kita punya kalau yang lama itu popogcms, popogcms, sedangkan yang baru itu ada di popogcms slash popoji. Oke, untuk struktur foldernya itu pun sama, jadi ada PO admin, PO content, PO include dan file pelangkap lainnya cuman kalau kita melihat ke dalam folder-folder itu, maka kita akan menjumpai perbedaan yang cukup mendasar di tiap folder, yang folder di versi 2 dan folder di versi 3, nah saya akan menjelaskan di scope yang versi 3 saja untuk versi 3 jadi Laravel ini kita taruh itu di dalam PO includes jadi apapun yang berkaitan dengan Laravel kita harus nyetingnya itu di dalam folder PO includes oke pertama-tama banyak teman-teman yang kesulitan bagaimana memasang popoji nya itu di localhost atau di hosting atau di server pribadi nah sebenarnya disini ada dua cara cara pertama adalah lewat composer cara kedua adalah lewat file ship yang pernah dibagikan nah file ship yang pernah dibagikan itu ada di link nah linknya itu nanti akan mengarah ke google drive yang berisi popoji versi 3.0 0.0 beta final dot sip nah ini untuk cara yang pertama cara pertama ini kita harus men-load file-nya dimana file di sini kita tidak membutuhkan git dan kita tidak membutuhkan komposar karena semua file-nya sudah dibundling di dalam file sip ini nah kira-kira struktur folder Kalau kita lihat di file ship, kita akan mendapatkan di dalam PO include, kita akan mendapatkan folder vendor. Di mana folder vendor ini berisi file-file yang dibutuhkan oleh engine Laravel untuk bisa berjalan.
Nah, kenapa rekan-rekan yang download dari Git sering masalah bahwa autoloadnya tidak menemukan folder vendor? Ya iya, karena... Kalau download dari GIT, kita tidak langsung menempatkan folder vendor ini. karena kita harus membutuhkan komposer untuk menginstal file-file yang dibutuhkan ini oke, nah kalau kita mendownloadnya lewat git dari repositorynya popoji itu kita harus melakukannya lewat komposer pertama teman-teman bisa mendownload komposernya dulu terserah di Linux atau Windows. Nah, nanti kita akan panggil itu lewat command line.
Nah, command line di sini kita bisa gunakan composer install atau composer require. Oke, cuma saya sarankan pakai composer install saja. Nah, composer install ini di dalam command line harus di mana?
yaitu harus di dalam folder poinclude jadi seperti ini masuk ke folder poinclude nah di folder ini baru kita harus pakai composer install nah composer install ini dia akan menginstal semua paket-paket yang diperlukan oleh engine level untuk dapat berjalan seperti itu nah Jika sudah, barulah kita harus buka link instalasinya. Link instalasinya seperti folder web slash install.php. Kemudian, kalau kita mengenal di versi 2, di mana konfigurasinya ada di dalam file poincludes, core, dan ada di config, sekarang kita berbeda.
Jadi semua config yang ada di Laravel itu ada di file.env. Nah.env itu ada di sini, ada di dalam poincludes.env. Nah seperti ini.
Jadi ketika teman-teman menginstall POPO GCMS lewat install.php, maka itu akan mengenerate file env ini sebenarnya nah file env ini adalah standarnya Laravel kita bisa mengubahnya lewat disini jadi misalnya ini baris ini untuk koneksi database baris ini untuk key yang kita pakai di file manager terus file ini akan di file app key ini digunakan untuk key terserah dari key untuk Laravelnya, key untuk random character, key untuk penentuan JSON enkripsinya itu pakai key ini. Sedangkan env ini bisa kita ganti pakai local, pakai production dan app debug disini itu kalau kita true maka kita akan mendapatkan jendela error jika ada error kalau kita false maka ketika ada error kita akan mencumpai halaman error yang menarik yang sudah disediakan oleh Laravel itu sendiri nah config-config di bawah ini ada config-redis kalau kita pakai redis ada config-mail, aws, password nah kalau di sini saya menambahkan analytic view Jadi ini kalau kita masuk ke dashboard yang baru, dashboard POPOJI yang baru, kita akan menemukan jendela analitik traffic itu menggunakan Google Analytics. Nah kita koneksinya lewat sini untuk ID-nya.
Kemudian no chapter secret sama no chapter side key kita konfikan juga lewat sini. Jadi kalau yang di lama kita harus konfiknya. harus kita ubah lewat admin dashboard kita juga kalau di versi 3 ini kita bisa mengubah langsung lewat IMV Oke nah sering bertanya untuk teman-teman yang menginstal langsung di hosting jadi untuk teman-teman yang menginstal langsung di hosting pasti akan bermasalah bermasalah di kita tidak bisa menggunakan composer maka cara yang cocok adalah kita download yang versi dari google drive ini karena isinya itu sudah lengkap, kita tidak membutuhkan composer untuk menginstallnya Jika permasalahan instalasi sudah selesai, jadi disini saya akan menjelaskan folder-folder dari POPoji versi 3 yang baru.
Kalau kita lihat, di luar sini ada 3 folder dan ada file-file pendukung lainnya. Nah, disini kita hanya fokus ke install PHP. PHP jadi sop HP ketika kita selesai menginstall bobojcms sebaiknya kita rename atau sebaiknya kita hilangkan saja kita delete kemudian htaccess ini konflik dasar enggak usah kita ubah terus kita ada index.php disini sebagai jadi dia sebagai file pertama yang akan nge-load si Laravel-nya. Kemudian kita masuk ke folder PO Admin. Nah, folder PO Admin, kalau dulu berisi engine untuk admin, sekarang PO Admin ini hanya berisi aset-aset yang kita gunakan di admin.
Jadi seperti Jackware yang dipakai di admin, CSS yang dipakai di admin, image yang dipakai di admin, itu kita simpan di sini. Hai kemudian kita lanjut di PO konten Oke PO konten di sini adalah kalau dulu kita menjumpai di versi dua adalah berguna menyimpan file-file untuk file front-end sedangkan di sini kita ubah jadi PO konten ini khusus menyimpan file backup terus file-file manager file front-end file installer, file zoom, sama upload. Jadi ketika kita mengupload sebuah image, itu kita akan menyimpan di file upload, dan secara otomatis dia akan mengenerate thumbnail-nya di folder thumbnail. Untuk installer, ini adalah semua aset CSS, itu yang dipakai untuk tema pada installer kita.
Kemudian untuk frontend, itu adalah Hai aset yang kita pakai di tema yang kita gunakan dan popojcms didasarnya ini kita mempunyai tema inyus nah aset-aset tema inyus itu ada di folder sini.com content front-end inyus Oke seperti ini kemudian untuk file manager file manager ini adalah yang kita pakai jadi yang kita pakai di dari dulu ini popotis POPOG itu adalah responsive file manager. Kita simpan di folder ini. Jadi jika rekan-rekan ingin mengupdate responsive file managernya, bisa menimpa folder yang ada ini.
Kemudian backups. Backups ini kalau kita lihat di engine yang baru ini, di dashboard kita ada pilihan untuk membackup data kita. Jadi membackup database.
Jadi ketika file itu kita backup akan tersimpan di folder ini. Kita lanjut di engine Laravel-nya. Engine Laravel kita letakkan di dalam PO-Includes. Nah ini adalah engine Laravel utuh. Jadi di sini rekan-rekan developer dari POPO GCMS tidak mengubah apapun dari Laravel itu.
Jadi Laravel itu murni diletakkan di file PO-Includes. Kenapa tidak diubah? Karena misi dari Popoji adalah untuk mengenalkan bagaimana cara untuk mengembangkan suatu project web dengan baik dan benar. Nah, sedangkan kita menggunakan base Laravel, jadi kita harus menerangkan Laravel secara murni.
kepada developer-developer Pocoji jadi tanpa mengubah engine Laravelnya sendiri karena butuh waktu untuk belajar Laravel apalagi kalau engine itu sudah kita manipulasi jadi akan lebih sulit lagi jadi akan dua kali belajar nah seperti itu untuk base directory-nya Laravel itu bisa teman-teman dapatkan di Laravel website resminya Laravel Nah kalau disini saya jelaskan saja untuk follower app ini menyimpan banyak konsol exception helper http dimana di dalam itu ada controller kemudian ada mail ada provider dan di luar ini adalah model yang kita pakai jadi Laravel ini menganut MVC jadi ada model view sama controller jadi kita kalau kita mengembangkan project menggunakan Laravel, kita hanya fokus di 3 itu, minimal fokus di 3 itu, jadi ketika kita sudah tahu di mana letak folder-folder itu, akan lebih gampang jadi ketika kita mau modelnya berarti kita harus ke folder poincludes app ketika kita mau merubah controller, kita bisa ke poincludes app http controllers nah, seperti itu Dan di sini, POPOG memisahkan untuk controller frontend itu akan ada di sini, alias di luar. Sedangkan controller yang dipakai di backend atau di dashboard admin itu ada di dalam folder backend. Kemudian, di mana letak view?
Letak view itu ada di dalam folder resource view. Nah, seperti ini. Jadi layouts itu akan kita gunakan untuk indukan view.
Jadi kalau kita punya header, punya footer, punya body, dan konten yang mau diisi itu kita pakai di layout. Jadi layout ini sebagai indukan dari view tersebut. Nah layout di sini app itu digunakan untuk dashboard backend kita.
Outblade ini digunakan untuk login register. Sedangkan email ini digunakan untuk tema email. Kemudian kita punya out. Nah, out di sini berisikan view-view dari login, register, verify, sama password, reset password ada di sini.
Sedangkan di backend, kita akan melihat view-view yang dipakai di backend. Nah, kenapa POJ memisahkan? Supaya rekan-rekan akan sangat mudah menemukan.
file-file sesuai tempat yang ingin diubah jadi ketika kita ingin mengubah back-end operatif you nya ada di dalam Vinclude resource view back-end seperti itu dan modul-modulnya juga sudah terstruktur jadi sudah kita bisa menurut folder jadi modul album ada di folder album modul kategori di folder kategori seperti kemudian image jadi email disini kita hanya dua ya untuk replay kontak sama ngirim post-post baru kepada yang sudah subscribe di web kita kemudian kita punya frontend nah frontend disini jadi ketika kita ingin mengedit codingan untuk frontend kita harus jadi kita harus melihat nama tema yang sedang aktif misalnya kita ingin mengubah misalnya kita sudah punya banyak tema nah tema yang ingin kita ubah adalah tema anews nah dia akan ada di PO include resource view frontend inews nah jangan bingung ya jadi ketika aset webnya itu aset web yang di frontend itu ada di dalam PO content kemudian frontend dan disini di folder tema tersebut sedangkan untuk codingan view nya itu ada di dalam sini di popo.jpeo includes resource view from end dan layout ini sudah sesuai dengan URL yang dituju jadi misalnya URL kategori ada di kategori blade, kontak, detail post, galeri, home, page Search, tag, semua ada di sini. Kemudian kenapa di sini ada layout? Nah, kan tadi kalau kita lihat di dalam view layout, kita nggak akan menemukan layout yang dipakai di frontend. Karena apa?
Karena layout yang dipakai di frontend itu ada di tema yang dipakai. Jadi ketika di inews, layoutnya ya ada di sini. Sedangkan... di luar folder disini kita akan menemukan folder apa file-file sesuai dengan url Oke di sini ada partial juga jadi partial ini adalah bagian-bagian kecil yang kita gunakan di tema yang kita pakai jadi misalnya jadi di sini ada comment itu untuk breakdown comment view nya jadi menu itu untuk menu bagian hidernya Sidebar untuk bagian sidebar.
Sub-comment, jadi ketika comment itu ada parent comment-nya itu di comment, sedangkan child dari comment-nya itu ada di sub-comment. Begitu juga dengan sub-menu, parent-nya ada di menu, kemudian children-nya itu ada di sub-menu. Seperti itu. Struktur tema default itu seperti ini. Kita juga bisa memanipulasi sesuai.
dengan kebutuhan dari project web kita. Oke, nah ketika kita sudah mengenal, jadi tempat model kita sudah tahu, ingat ya model di sini adalah koneksi dengan database. Jadi representatif dari database. Jadi kita punya table user, kita harus bikin model user. Kemudian kita ketika user, kita harus mempunyai controller.
Controller di sini adalah tempat dimana kita mengatur kontrol dari sebuah modul misalnya bagian edit bagian create bagian tabelnya kemudian ketika Klik tombol ini data diproses itu semua ada di controller sedangkan view nya itu itu ada di dalam PO include resource view seperti itu kemudian Sama di Popoji versi 3 ini juga sudah mendukung bahasa, multibahasa. Jadi multibahasa di sini disimpan di dalam folder PO, include resource lang. Nah, di sini baru ada bahasa Inggris. Kenapa di versi 3 malahan hanya ada bahasa Inggris?
Bahasa Indonesia tidak ada, karena... Setelah kita 6 tahun ini, kita tahu bahwa kebutuhan di luar juga sangat banyak. Jadi kita ingin default bahasanya adalah bahasa yang dipakai secara global. Agar apa? Agar POPOJI ini bisa dipakai juga secara global oleh developer-developer di luar sana.
Nah, kalau kita ingin menambahkan bahasa, kita tinggal copy folder N, kemudian kita... paste disini aja kemudian kita ubah sesuai kode bahasa kode bahasa disini adalah kode bahasa ISO yang dipakai di internasional jadi bisa Indonesia berarti harus ID seperti itu kemudian bahasa ini digunakan bagaimana sih jadi secara default Laravel akan membaca bahasa yang dideteksi ketika anda masuk di web tersebut Jadi dia akan membaca bahasa yang default di browser tersebut. Jadi ketika bahasa, misalnya kita browser kita bahasa Indonesia. Ketika bahasa Indonesia itu tidak ditemukan, maka dia akan membaca default bahasanya adalah EN atau English. Setelah semua folder itu kita sudah tahu, pasti ada pertanyaan rekan-rekan di mana kita menyimpan.
Jadi ketika kita klik ini, klik ini, muncul ini, muncul ini, dimanakah file yang mengendalikan tersebut? Nah, yang mengendalikan di sini adalah ada di folder routes. Nah, di sini akan sering kita gunakan adalah routes web.php. Karena di sinilah router-router yang akan kita gunakan. Seperti ini.
Jadi router untuk frontend. kita letakkan di bagian atas sedangkan router untuk admin dashboard kita letakkan di dalam group middleware out seperti itu jadi ketika kita ingin menambahkan modul kita bisa tambahkan disini rootnya, jadi dia root ini dia akan membaca misalnya url home itu akan mengarahkan ke home controller dan fungsinya index jadi ketika kita buka di dalam app http controller home controller kita akan melihat fungsinya index nah berarti kita akan pakai ini untuk untuk pemprosesan file index yang ada di router ini kemudian Ketika di dalam index, dia akan memanggil view home. Dan di mana get tema home, dia akan mencari tema yang sedang aktif adalah tema apa. Setelah dia menemukan misalnya iNews, dia akan melihat di dalam resource view frontend iNews. Dan dia akan mencari home blade PHP sesuai yang kita lihat di sini.
Seperti itu. Hai nah oke kemudian folder-folder lainnya kita akan bahas folder yang akan akan jarang sekali kita sentuh bahkan hampir tidak akan kita sentuh ada folder bootstrap karena folder bootstrap ini hanya berisi file app.php saja untuk penjelasan app.php ini silakan rekan-rekan lihat di Laravel web officialnya Laravel nah kemudian kita beralih di config nah config disini berisi semua konfigurasi yang kita pakai di Laravel dan semuanya disini juga akan jarang kita pakai kecuali teman-teman sudah sangat expert di Laravel dan ingin menambahkan modul-modul lain atau mengubah konfigurasi dari modul-modul dasar yang dipakai di popoji itu bisa dilihat lewat bisa kita ubah lewat folder konflik ini dimana kan di dalam folder popoji kita sudah dilengkapi sebenarnya generate file Excel generate file PDF itu sudah didukung di sini jadi bisa teman-teman custom konfigurasinya di folder ini kemudian Kita lanjut di folder database. Nah, folder database di sini ketika kita menjalankan folder instalasi, maka file instalasi itu akan memanggil popoji.sql ini untuk menginstall tabel-tabel yang baru. Jadi tabel user, tabel yang dibutuhkan di project popoji itu akan diambil sebenarnya dari popoji.sql ini.
Nah, ketika teman-teman ingin membuat modul baru atau teman-teman ingin membuat POPOJI ini jadi proyek sistem berbasis web A, sistem berbasis web B, itu pasti kita akan sangat dekat dengan namanya migration. Nah, sebenarnya bisa saja kita tanpa migration. Jadi tabelnya kita create sendiri di MySQL.
Kemudian, jadi di sini... Kalau Laravel sudah mendukung banyak database ya. Jadi kalau di sini saya ambil contoh MySQL.
Kita bisa membuat langsung tabelnya atau kita bisa langsung atau kita bisa melalui artisannya Laravel. Jadi kita pakai pembuatan melalui artisan Laravel. Jadi ketika kita bikin migrasi suatu tabel lewat artisan itu akan membentuk.
filenya di dalam poinclude database migration nah jadi popoji sudah dilengkapi oleh file-file migration yang dipakai di project popoji ini jadi misalnya teman-teman ingin membuat popojinya ini ke database postgreSQL misalnya itu bisa langsung jadi kita tinggal ganti config database nya kita di file.env itu ke postgres kemudian kita harus running lewat artisan jadi running lewat artisan untuk membuat jadi file migrasi ini akan membuat tabel-tabel yang dibutuhkan di database yang baru tersebut nah seperti itu jadi teman-teman tidak tidak usah mendownload file apa software untuk Oh my skill ke postgres, gak usah jadi kita bisa membentuk table-nya lewat migration ini kemudian kita lanjut di kalau resource tadi itu sudah jelaskan root juga sudah nah storage di sini itu berisi cache berisi logs kemudian berisi jadi ada cache view itu ada di framework terus view nah ini jadi akan menyimpan session dari view itu di dalam sini jadi biasanya ketika file ini sudah penuh kita bisa menghapus juga jadi lewat artisan juga ada untuk clear kita juga bisa clearnya secara manual di folder ini kemudian folder test jika teman-teman punya unit test cuman kan pasti kalau teman-teman yang menggarap freelance atau apa pasti test juga jarang melakukan apalagi kalau projectnya cuman web company profile web-web umumlah pasti akan jarang menggunakan tes ini tapi kalau rekan-rekan menggunakannya untuk membuat sistem berbasis web pasti unit test ini akan sangat dibutuhkan gitu dan folder vendor folder vendor ini yang tadi itu memuat semua file-file modul-modul yang digunakan atau dibutuhkan oleh larasel itu sendiri Oke larasel Jadi video ini direkam sebelum, jadi video ini dibuat di Popoji yang masih Laravel versi 6. Sedangkan untuk Laravel sendiri sekarang sudah rilis versi yang 7. Tapi Popoji CMS untuk versi 3 masih menggunakan Laravel versi 6. Mungkin jika Laravel 7 sudah... sudah agak lama dirilis maka engine popoji versi 3 juga bisa kita update ke Laravel versi 7 seperti itu ya sekian dulu pengenalan dari popoji versi 3 ini jadi versi 3 ini sebenarnya udah beta final tapi beta final disini kenapa belum dirilis menjadi versi final karena masih ada beberapa bug seperti bug untuk instalasi komponen dan masih ada PR dari rekan-rekan developer Pocoji yaitu untuk Clark-nya jadi di versi 3 ini di beta final belum ada Clark-nya dimana Clark ini adalah komponen generator yang bisa mengenerate sebuah modul tanpa perlu kita belajar coding jadi bisa kita generate lewat dashboard Seperti itu. Oke, jadi teman-teman sampai jumpa di video berikutnya yang akan membahas lebih dalam tentang pembuatan tema, pembuatan komponen, dan mungkin pembuatan Clark juga akan didokumentasi.
Oke teman-teman, sekian dulu. Jangan lupa untuk komen kalau ada pertanyaan-pertanyaan. Dan jangan lupa subscribe untuk menempatkan video-video terbaru.
tentang popoji atau tentang dunia web Terima kasih bye bye