JPress adalah pengganti java untuk wordpress, dikembangkan menggunakan JFinal. Mendukung hampir semua fungsi yang mirip dengan WordPress, seperti template, plug-in, dll. Sementara itu, dalam hal template, JPress mengedepankan konsep "template as model", yang memfasilitasi produsen template untuk secara fleksibel membuat model bisnis, menghilangkan fungsi rumit seperti widget, dan lebih fleksibel dan ringkas dibandingkan WordPress dalam hal produksi template dan plug-in.
Namun, JPress bukanlah Java dari WordPress, ia secara alami terintegrasi dengan platform publik WeChat, mengintegrasikan banyak platform cloud domestik, platform pengiriman SMS, dan pengiriman email. Konsep asli "template sebagai model" tidak tersedia di WordPress, dan hanya Hanya pemain WordPress berpengalaman yang dapat memahami hubungan halus di dalamnya. Pada saat yang sama, fungsi sinkronisasi artikel dari sinkronisasi artikel WeChat, platform publik QQ, Toutiao, Yidian, dan media baru lainnya akan ditambahkan di masa mendatang, menjadikannya lebih domestik dan terlokalisasi.
Dari segi fungsionalitas
Mendukung model khusus, yang ditentukan melalui templat, bukan fungsi latar belakang. Pada saat yang sama, konten model mendukung kategori khusus, misalnya model artikel mendukung topik, kategori, tag, dan kategori lainnya.
Mendukung beberapa mesin templat. Freemarker digunakan secara default. Pembuat templat dapat menggunakan mesin lain seperti thymeleaf untuk rendering. Ini juga mendukung pengeditan templat online di latar belakang (saat ini hanya mesin freemarker yang didukung).
Mendukung beberapa tipe database dan dapat mengkonfigurasi database yang berbeda (saat ini hanya mysql yang didukung).
Mendukung banyak editor, peralihan bebas antara pengeditan visual latar belakang dan pengeditan penurunan harga, dan mendukung fungsi seperti pengeditan gambar online dan penyorotan kode secara default.
Ini mendukung plug-in, dan Anda dapat menyelesaikan pengembangan plug-in hanya dengan beberapa baris kode. Sudah ada contoh plug-in helloworld di git.oschina.net dan github.
Mendukung URL khusus dan penyesuaian gaya URL konten situs web.
Dukungan API memfasilitasi APP atau pihak ketiga lainnya untuk memanggil data.
Dukungan internasionalisasi, gunakan JPress untuk membuat situs web dengan mudah dalam bahasa apa pun.
Fungsi SEO minimalis, Anda dapat mengatur SEO secara terpisah untuk setiap artikel, setiap kategori, dan setiap tag, serta mendukung keluaran peta situs.
Pendaftaran pengguna mendukung verifikasi email dan SMS. Saat ini, penyedia layanan SMS hanya mendukung Alibaba Dayu.
Mendukung pengaturan CDN, termasuk Qiniu, Alibaba Cloud, Youpai Cloud, dll.
Gambar yang diunggah mendukung pengaturan tanda air, dan gambar yang diunggah secara otomatis dipotong menjadi berbagai ukuran gambar yang diperlukan oleh template untuk memastikan tampilan gambar tidak melebar.
Login pengguna mendukung login pihak ketiga, dan mendukung QQ, WeChat, Weibo, Open Source China, Github, Facebook, Twitter, dan LinkedIn (saat ini hanya login ke QQ, WeChat, Weibo, Open Source China, dan Github yang selesai).
Di WeChat
Mendukung pengaturan menu WeChat.
Mendukung balasan otomatis, penambahan kata kunci, dan konten balasan.
Mendukung balasan default, antara lain: saat pengguna memperhatikan, saat memasuki layanan multipelanggan, saat keluar dari layanan multipelanggan, saat mengirim gambar, saat mengirim suara, saat mengirim video, saat mengirim lokasi, saat mengirim koneksi, saat pengguna memindai kode QR dengan parameter, saat pengguna bergetar.
Semua balasan otomatis atau balasan default mendukung fungsi "balasan lanjutan", seperti membalas artikel, membalas ke URL... Balasan lanjutan adalah balasan khusus yang ada di JPress, tetapi dapat dikonfigurasi sepenuhnya, dan lebih banyak "balasan lanjutan" akan ditambahkan di Fungsi masa depan.
Balasan otomatis atau balasan default mendukung balasan plug-in, dan memanggil plug-in JPress untuk menyelesaikan balasan.
Mendukung pencarian artikel. Membalas kata kunci akan menghasilkan artikel yang cocok dengan kata kunci.
Di masa depan, fungsi praktis seperti sinkronisasi artikel atau impor WeChat akan didukung.
Dari segi teknologi
Dengan bangga menggunakan JFinal sebagai intinya, JPress juga memanfaatkan arsitektur fleksibel JFinal. Dalam sistem sumber terbuka kerangka JFinal, JPress peduli dengan implementasi setiap baris logika dan memperhatikan kualitas setiap baris kode. Ini harus menjadi salah satu praktik terbaik JFinal, jadi ini juga harus menjadi item yang harus dibaca untuk setiap JFinaler.
Gunakan Freemarker dan thymeleaf sebagai mesin template. Cache unik yang dibangun di JPress membuat kecepatan rendering UI tidak bergantung pada mesin template.
Tinymce digunakan sebagai editor visual dan simplemde digunakan sebagai editor penurunan harga. Keduanya dapat dialihkan secara bebas di latar belakang.
Plugin UI untuk pengunggahan file dan gambar menggunakan pengunggah halus.
Di bagian depan, JPress menggunakan jquery, bootstrap, admin lte, font-awesome, x-editable, fastclick, toastr, tag-editor, pace, layer, dll.
Dalam hal keamanan, meskipun saya pribadi telah melakukan banyak upaya dan telah melakukan banyak pekerjaan di XSS, CSRF, injeksi SQL, keamanan Cookie, dll., masih diperlukan lebih banyak orang untuk menggali dan meningkatkan Keamanan adalah sebuah keabadian . (Tetapi bagi teman-teman pemula, keamanan ini patut dipelajari dan dipahami, bukan?)
Untuk mendukung penerapan terdistribusi, JPress menulis ulang HttpSession dan menggunakan ehcache untuk mengimplementasikan fungsi sesi. Pada saat yang sama, proyek ini sangat bergantung pada cookie, sehingga tidak ada tekanan pada arsitektur terdistribusi.
JPress memiliki beberapa fitur berikut
1. Ringan.
Ringan hanya dengan 8 tabel data, namun dapat merealisasikan hampir semua fungsi wordpress. Paket jar dependen juga sangat ringan. Saat ini, hanya ada cos-26Dec2008.jar, druid-1.0.16.jar, ehcache-2.7.5.jar, fastjson-1.2.7.jar, freemarker-2.3.23. jar, dan javax.jar、jfinal-2.2-bin-with-src.jar、jfinal -weixin-1.7-bin-with-src.jar, jsoup-1.8.3.jar, log4j-1.2.17.jar, mysql-connector-java-5.1.36.jar, slf4j-api-1.7.7.jar , slf4j-log4j12-1.7.7.jar, jetty-server-8.1.8.jar Dari 14 paket jar tersebut, jetty-server-8.1.8.jar tidak diperlukan dan hanya digunakan untuk memfasilitasi debugging.
Keseluruhan proyek termasuk paket jar berukuran sekitar 20MB.
2. Cepat.
Tidak peduli seberapa rumit halamannya, JPress merespons dalam waktu hampir 10 milidetik. Pada saat yang sama, JPress mendukung Alibaba Cloud, Qiniu, Youpaiyun, dan CDN lainnya sebagai akselerasi, dan mendukung penerapan terdistribusi dan fungsi lainnya Kong, itu hanya bisa digunakan dengan "cepat" untuk mendeskripsikan.
3. Fleksibel.
JPress mengusulkan konsep "templat sebagai model". Produsen template dapat menggunakan JPress untuk membangun blog, sistem berita, forum, komunitas Tanya Jawab, pusat perbelanjaan... ditambah fungsi plug-in yang fleksibel, dapat digunakan untuk membangun hampir semua jenis dari situs web.
4. Domestik.
Karena buatan China, lebih sesuai dengan kebutuhan masyarakat China. JPress secara alami terintegrasi dengan akun publik WeChat. JPress memiliki fungsi pengiriman SMS bawaan dari Alibaba Big Fish, dan mendukung kotak surat QQ, 163 kotak surat, dll. Sebagai server pengirim surat di masa depan, pengiriman pesan template WeChat dan pengguna notifikasi ditambah, dan fungsi-fungsi lain yang lebih sesuai dengan kebutuhan masyarakat Tionghoa.
Yang paling penting adalah
JPress menggunakan perjanjian open source LGPL yang paling longgar, yang tidak setingkat dengan produk "open source" dalam negeri yang menggunakan perjanjian swasta.
jpress v4.2.0 mengubah log
Baru: Tambahkan sakelar kode verifikasi latar belakang untuk memfasilitasi pengujian otomatis dalam skenario tertentu
Baru: Mendukung penerbitan produk 0 yuan. Ketika jumlah pembayaran 0, pembayaran langsung berhasil
Baru: Fungsi penyesuaian direktori instalasi plug-in memudahkan instalasi plug-in dan plug-in tetap tersedia saat mengkompilasi dan membersihkan direktori target.
Optimasi: Perbaiki modul artikel dan tambahkan fungsi koleksi, terima kasih @tikus yang menakuti kucing sampai mati
Optimasi: Konfigurasi sistem opsi memungkinkan data kosong diteruskan untuk menghapus konfigurasi
Optimasi: Sesuaikan ukuran lampiran default untuk diunggah. Ukuran default untuk gambar adalah 10MB, dan ukuran default untuk file lainnya adalah 100MB.
Optimasi: Tingkatkan Jboot, Log4j2 hingga ini
Perbaiki: Masalah kata kunci ilegal yang dikustomisasi di latar belakang tidak valid
Perbaiki: Menghapus Opsi melalui API mungkin tidak berlaku pada waktunya
Perbaiki: Plug-in bergantung pada stoples eksternal, yang mungkin menyebabkan masalah tidak dapat diinstal dalam beberapa kasus.
Perbaiki: 500 error terjadi setelah pembayaran WeChat H5 berhasil dikembalikan ke halaman, terima kasih @AlienJunX
Cara Memperbaiki: Ketika lampiran dimasukkan ke dalam artikel dan file lampiran terlalu besar terjadi kesalahan, tidak ada prompt di halaman.
Memperbaiki: Gambar editor CKEditor tidak dapat ditempel dan diunggah