JPress , una alternativa java a wordpress, desarrollada con JFinal. Admite casi todas las funciones similares a WordPress, como plantillas, complementos, etc. Al mismo tiempo, en términos de plantillas, JPress propone el concepto de "plantilla como modelo", que facilita a los productores de plantillas crear modelos de negocios de manera flexible, elimina funciones complicadas como widgets y es más flexible y conciso que WordPress en términos de producción de plantillas y complementos.
Sin embargo, JPress no es la versión Java de WordPress. Está naturalmente integrado con la plataforma pública WeChat e integra muchas plataformas de nube nacionales, envío de SMS y plataformas de envío de correo electrónico. El concepto original de "plantilla como modelo" no está disponible en WordPress. Sólo los jugadores experimentados de WordPress pueden comprender la sutil relación interna. Al mismo tiempo, en el futuro se agregarán la función de sincronización de artículos de WeChat, la plataforma pública QQ, Toutiao, Yidian y otros medios nuevos, haciéndola más nacional y localizada.
JPress en términos de funcionalidadAdmite modelos personalizados, que se definen mediante plantillas en lugar de funciones en segundo plano. Al mismo tiempo, el contenido del modelo admite categorías personalizadas. Por ejemplo, el modelo de artículo admite temas, categorías, etiquetas y otras categorías.
Admite múltiples motores de plantillas. Freemarker se usa de forma predeterminada. Los creadores de plantillas pueden usar otros motores como thymeleaf para renderizar. También admite la edición en línea de plantillas en segundo plano (actualmente solo se admite el motor freemarker).
Admite múltiples tipos de bases de datos y puede configurar diferentes bases de datos (actualmente solo se admite mysql).
Admite múltiples editores, cambio gratuito entre edición visual de fondo y edición de rebajas, y admite funciones como edición de imágenes en línea y resaltado de código de forma predeterminada.
Admite complementos y puede completar el desarrollo de un complemento con solo unas pocas líneas de código. Ya existen instancias de helloworld del complemento en git.oschina.net y github.
Admite URL personalizadas y personalización del estilo de URL del contenido del sitio web.
El soporte API facilita que la aplicación u otros terceros llamen datos.
Soporte de internacionalización, utilice JPress para crear fácilmente sitios web en cualquier idioma.
Función SEO minimalista, puede configurar SEO por separado para cada artículo, cada categoría y cada etiqueta, y admitir la salida de mapas del sitio.
El registro de usuario admite la verificación por correo electrónico y SMS. Actualmente, los proveedores de servicios de SMS solo admiten Alibaba Dayu.
Admite configuraciones de CDN, incluidas Qiniu, Alibaba Cloud, Youpai Cloud, etc.
Las imágenes cargadas admiten configuraciones de marcas de agua y las imágenes cargadas se cortan automáticamente en varios tamaños de imagen requeridos por la plantilla para garantizar que la visualización de la imagen no se estire.
El inicio de sesión del usuario admite el inicio de sesión de terceros y admite QQ, WeChat, Weibo, Open Source China, Github, Facebook, Twitter y LinkedIn (actualmente solo se completa el inicio de sesión en QQ, WeChat, Weibo, Open Source China y Github).
JPress en WeChatAdmite la configuración del menú WeChat.
Admite respuestas automáticas, adición de palabras clave y contenido de respuesta.
Admite respuestas predeterminadas, que incluyen: cuando el usuario presta atención, cuando ingresa al servicio multicliente, cuando sale del servicio multicliente, cuando envía imágenes, cuando envía voz, cuando envía video, cuando envía ubicación, cuando envía conexión, cuando el usuario escanea El código QR con parámetros, cuando el usuario lo agita.
Todas las respuestas automáticas o respuestas predeterminadas admiten la función de "respuesta avanzada", como responder a un artículo, responder a una URL... Las respuestas avanzadas son respuestas especiales integradas en JPress, pero son totalmente configurables y se incluirán más "respuestas avanzadas". agregado en la función futura.
La respuesta automática o la respuesta predeterminada admite la respuesta del complemento y llama al complemento JPress para completar la respuesta.
Admite la búsqueda de artículos. Responder a palabras clave devolverá artículos que coincidan con palabras clave.
En el futuro se admitirán funciones prácticas como la sincronización de artículos o la importación de WeChat.
JPress en el aspecto técnicoJPress se enorgullece de utilizar JFinal como núcleo y también se beneficia de la arquitectura flexible de JFinal. En el sistema de código abierto JFinalframework, JPress se preocupa por la implementación de cada línea de lógica y presta atención a la calidad de cada línea de código. Debería estar entre las mejores prácticas de JFinal, por lo que también debería ser un elemento de lectura obligada. cada JFinal.
Utilice Freemarker y thymeleaf como motores de plantillas. El caché único integrado en JPress hace que la velocidad de renderizado de la interfaz de usuario sea independiente del motor de plantilla.
Tinymce se utiliza como editor visual y simplemde se utiliza como editor de rebajas. Los dos se pueden cambiar libremente en segundo plano.
El complemento de interfaz de usuario para cargar archivos e imágenes utiliza el cargador fino.
En la interfaz, JPress usa jquery, bootstrap, adminlte, font-awesome, x-editable, fastclick, tostador, tag-editor, pace, Layer, etc.
En términos de seguridad, aunque personalmente he hecho muchos esfuerzos y he trabajado mucho en XSS, CSRF, inyección SQL, seguridad de cookies, etc., todavía se necesita más gente para investigar y mejorar juntos. La seguridad es una eternidad. . tema. (Pero para los amigos novatos, vale la pena aprender y comprender estas medidas de seguridad, ¿verdad?)
Para admitir la implementación distribuida, JPress reescribe HttpSession y usa ehcache para implementar la función de sesión. Al mismo tiempo, el proyecto depende en gran medida de las cookies, por lo que no hay presión sobre la arquitectura distribuida.
JPress tiene las siguientes características1. Luz.
Es tan liviano como solo 8 tablas de datos, pero puede realizar casi todas las funciones de WordPress. Los paquetes jar dependientes también son extremadamente livianos. Actualmente, solo existen cos-26Dec2008.jar, druid-1.0.16.jar, ehcache-2.7.5.jar, fastjson-1.2.7.jar, freemarker-2.3.23. jar y javax mail.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- 14 paquetes jar: java-5.1.36.jar, slf4j-api-1.7.7.jar, slf4j-log4j12-1.7.7.jar, jetty-server-8.1.8.jar, entre los cuales jetty -server-8.1 .8.jar no es necesario y solo se utiliza para facilitar la depuración.
El proyecto completo, incluido el paquete jar, ocupa aproximadamente 20 MB.
2. Rápido.
No importa cuán compleja sea la página, JPress responde en casi 10 milisegundos. Al mismo tiempo, JPress admite Alibaba Cloud, Qiniu, Youpaiyun y otros CDN como aceleración, y admite la implementación distribuida y otras funciones. Kong, solo se puede usar con "rápido" para describir.
3. Flexibles.
JPress propone el concepto de "plantilla como modelo". Los productores de plantillas pueden utilizar JPress para crear blogs, sistemas de noticias, foros, comunidades de preguntas y respuestas, centros comerciales... además de su función de complemento flexible, se puede utilizar para crear casi cualquier tipo. del sitio web.
4. Nacional.
Debido a que se fabrica en China, se adapta más a las necesidades del pueblo chino. JPress se integra naturalmente con la cuenta pública de WeChat. JPress tiene la función de envío de SMS incorporada de Alibaba Big Fish y admite buzones QQ, buzones 163, etc. como servidores de envío de correo. En el futuro, los usuarios de notificación y envío de mensajes de plantilla de WeChat. añadirse y otras funciones que estén más en consonancia con las necesidades del pueblo chino.
Lo más importante es
JPress utiliza la licencia de código abierto LGPL más flexible, que no está al mismo nivel que los productos nacionales de "código abierto" que utilizan licencias privadas.
Registro de actualización de jpressv4.0.9:
Nuevo: Se agregó la función de subir videos a los editores de artículos.
Nuevo: Se agregó la API html2wxml y su documentación.
Optimización: actualice artículos, productos, API de páginas y documentación.
Optimización: mejorar las API relacionadas con productos, carritos de compras y cupones
Solución: el título del editor del artículo y la negrita no son válidos.
Solución: después de importar JPress a eclipse, la ruta del recurso obtenida era incorrecta en algunos casos.
Reparación: Menu.isUrlEquals puede determinarse incorrectamente en el directorio secundario
Solución: los usuarios del miniprograma no pueden obtener información de opciones cuando no han iniciado sesión y la información solicitada es incorrecta.
Solución: después de desactivar el código de verificación, no se muestra el cuadro de entrada del código de verificación de inicio de sesión en segundo plano.
Visualización de la página JPress