JPress ist ein Java-Ersatz für WordPress, der mit JFinal entwickelt wurde. Unterstützt fast alle WordPress-ähnlichen Funktionen wie Vorlagen, Plug-Ins usw. Gleichzeitig vertritt JPress in Bezug auf Vorlagen das Konzept „Vorlage als Modell“, das es Vorlagenherstellern ermöglicht, Geschäftsmodelle flexibel zu erstellen, komplizierte Funktionen wie Widgets zu entfernen und in Bezug auf WordPress flexibler und prägnanter zu sein Template- und Plug-in-Produktion.
JPress ist jedoch nicht das Java von WordPress. Es ist natürlich in die öffentliche WeChat-Plattform integriert und integriert viele inländische Cloud-Plattformen sowie SMS- und E-Mail-Versandplattformen. Das ursprüngliche Konzept „Vorlage als Modell“ ist nicht in WordPress verfügbar Nur erfahrene WordPress-Spieler können die subtile Beziehung im Inneren verstehen. Gleichzeitig werden in Zukunft die Artikelsynchronisierungsfunktionen der WeChat-Artikelsynchronisierung, der öffentlichen QQ-Plattform, Toutiao, Yidian und anderer neuer Medien hinzugefügt, wodurch sie inländischer und lokalisierter werden.
Was die Funktionalität angeht
Unterstützt benutzerdefinierte Modelle, die über Vorlagen und nicht über Hintergrundfunktionen definiert werden. Gleichzeitig unterstützt der Modellinhalt benutzerdefinierte Kategorien. Beispielsweise unterstützt das Artikelmodell Themen, Kategorien, Tags und andere Kategorien.
Unterstützt mehrere Vorlagen-Engines. Vorlagenersteller können zum Rendern auch andere Engines wie Thymeleaf verwenden. Es unterstützt auch die Online-Bearbeitung von Vorlagen im Hintergrund (derzeit wird nur die Freemarker-Engine unterstützt).
Unterstützt mehrere Datenbanktypen und kann verschiedene Datenbanken konfigurieren (derzeit wird nur MySQL unterstützt).
Unterstützt mehrere Editoren, freies Umschalten zwischen visueller Hintergrundbearbeitung und Markdown-Bearbeitung und unterstützt standardmäßig Funktionen wie Online-Bildbearbeitung und Code-Hervorhebung.
Es unterstützt Plug-Ins und Sie können die Entwicklung eines Plug-Ins mit nur wenigen Codezeilen abschließen. Es gibt bereits Helloworld-Instanzen des Plug-Ins auf git.oschina.net und github.
Unterstützt benutzerdefinierte URLs und die Anpassung des URL-Stils für Website-Inhalte.
Durch die API-Unterstützung können Apps oder andere Dritte Daten abrufen.
Internationalisierungsunterstützung: Verwenden Sie JPress, um ganz einfach eine Website in jeder Sprache zu erstellen.
Minimalistische SEO-Funktion: Sie können SEO für jeden Artikel, jede Kategorie und jedes Tag separat festlegen und die Sitemap-Ausgabe unterstützen.
Die Benutzerregistrierung unterstützt die E-Mail- und SMS-Verifizierung. Derzeit unterstützen SMS-Dienstanbieter nur Alibaba Dayu.
Unterstützt CDN-Einstellungen, einschließlich Qiniu, Alibaba Cloud, Youpai Cloud usw.
Hochgeladene Bilder unterstützen Wasserzeicheneinstellungen und hochgeladene Bilder werden automatisch in verschiedene, von der Vorlage benötigte Bildgrößen zugeschnitten, um sicherzustellen, dass die Bildanzeige nicht gestreckt wird.
Die Benutzeranmeldung unterstützt die Anmeldung von Drittanbietern und unterstützt QQ, WeChat, Weibo, Open Source China, Github, Facebook, Twitter und LinkedIn (derzeit ist nur die Anmeldung bei QQ, WeChat, Weibo, Open Source China und Github abgeschlossen).
Auf WeChat
Unterstützt WeChat-Menüeinstellungen.
Unterstützt automatische Antworten, das Hinzufügen von Schlüsselwörtern und Antwortinhalten.
Unterstützt Standardantworten, einschließlich: wenn der Benutzer aufmerksam ist, wenn er den Mehrkundendienst betritt, wenn er den Mehrkundendienst verlässt, beim Senden von Bildern, beim Senden von Sprache, beim Senden von Videos, beim Senden des Standorts, beim Senden der Verbindung, wenn der Benutzer scannt der QR-Code mit Parametern, wenn der Benutzer schüttelt.
Alle automatischen Antworten oder Standardantworten unterstützen die Funktion „Erweiterte Antworten“, z. B. das Antworten auf einen Artikel, das Antworten auf eine URL usw. Erweiterte Antworten sind spezielle Antworten, die in JPress integriert sind, aber vollständig konfigurierbar sind, und weitere „erweiterte Antworten“ werden es sein in der Zukunft hinzugefügt Funktion.
Die automatische Antwort oder Standardantwort unterstützt Plug-In-Antworten und ruft das JPress-Plug-In auf, um die Antwort abzuschließen.
Unterstützt die Artikelsuche. Durch die Beantwortung von Schlüsselwörtern werden Artikel zurückgegeben, die mit Schlüsselwörtern übereinstimmen.
Zukünftig werden praktische Funktionen wie die Artikelsynchronisierung oder der WeChat-Import unterstützt.
Was die Technik angeht
JPress nutzt stolz JFinal als Kernstück und profitiert auch von der flexiblen Architektur von JFinal. Im Open-Source-System des JFinal-Frameworks kümmert sich JPress um die Implementierung jeder Logikzeile und achtet auf die Qualität jeder Codezeile. Dies sollte zu den Best Practices von JFinal gehören und daher auch ein Muss sein für jeden JFinaler.
Verwenden Sie Freemarker und Thymeleaf als Template-Engines. Der einzigartige in JPress integrierte Cache macht die UI-Rendering-Geschwindigkeit unabhängig von der Vorlagen-Engine.
Tinymce wird als visueller Editor und simplemde als Markdown-Editor verwendet. Die beiden können im Hintergrund frei geschaltet werden.
Das UI-Plug-in zum Hochladen von Dateien und Bildern verwendet den Fine-Uploader.
Im Frontend verwendet JPress JQuery, Bootstrap, Admin LTE, Font-awesome, X-editable, Fastclick, Toastr, Tag-Editor, Pace, Layer usw.
Was die Sicherheit angeht, habe ich persönlich große Anstrengungen unternommen und viel Arbeit in den Bereichen XSS, CSRF, SQL-Injection, Cookie-Sicherheit usw. geleistet, aber es dauert noch eine Ewigkeit, bis mehr Leute gemeinsam an der Sicherheit arbeiten . Thema. (Aber für unerfahrene Freunde sollten diese Sicherheitsmaßnahmen es wert sein, gelernt und verstanden zu werden, oder?)
Um die verteilte Bereitstellung zu unterstützen, schreibt JPress HttpSession neu und verwendet ehcache, um die Sitzungsfunktion zu implementieren. Gleichzeitig ist das Projekt stark auf Cookies angewiesen, sodass kein Druck auf die verteilte Architektur ausgeübt wird.
JPress verfügt über die folgenden Funktionen
1. Licht.
Es ist so leicht wie nur 8 Datentabellen, kann aber fast alle Funktionen von WordPress realisieren. Die abhängigen JAR-Pakete sind ebenfalls extrem leicht. Derzeit gibt es nur cos-26Dec2008.jar, druid-1.0.16.jar, ehcache-2.7.5.jar, fastjson-1.2.7.jar, freemarker-2.3.23. jar und 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-java-5.1.36.jar, slf4j-api-1.7.7.jar , slf4j-log4j12-1.7.7.jar, jetty-server-8.1.8.jar Von diesen 14 JAR-Paketen ist jetty-server-8.1.8.jar nicht erforderlich und wird nur zur Erleichterung des Debuggens verwendet.
Das gesamte Projekt einschließlich des JAR-Pakets ist etwa 20 MB groß.
2. Schnell.
Egal wie komplex die Seite ist, JPress reagiert in fast 10 Millisekunden. Gleichzeitig unterstützt JPress Alibaba Cloud, Qiniu, Youpaiyun und andere CDNs als Beschleunigung und unterstützt die verteilte Bereitstellung und andere Funktionen Kong, es kann nur mit „schnell“ beschrieben werden.
3. Flexibel.
JPress schlägt das Konzept „Vorlage als Modell“ vor. Vorlagenersteller können JPress zum Erstellen von Blogs, Nachrichtensystemen, Foren, Q&A-Communities, Einkaufszentren usw. verwenden. Dank der flexiblen Plug-in-Funktion können damit nahezu alle Arten erstellt werden der Website.
4. Inland.
Da es in China hergestellt wird, entspricht es eher den Bedürfnissen der Chinesen. JPress ist natürlich in das öffentliche WeChat-Konto integriert. JPress verfügt über eine integrierte SMS-Versandfunktion von Alibaba Big Fish und unterstützt in Zukunft die E-Mail-Versandserver für WeChat-Vorlagen hinzugefügt werden, und andere Funktionen, die eher den Bedürfnissen der Chinesen entsprechen.
Das Wichtigste ist
JPress verwendet die lockerste LGPL-Open-Source-Vereinbarung, die nicht auf dem gleichen Niveau ist wie inländische „Open-Source“-Produkte, die private Vereinbarungen verwenden.
jpress v4.2.0 Änderungsprotokoll
Neu: Fügen Sie einen Schalter für den Hintergrundverifizierungscode hinzu, um automatisierte Tests in bestimmten Szenarien zu erleichtern
Neu: Unterstützt die Veröffentlichung von Produkten im Wert von 0 Yuan. Wenn der Zahlungsbetrag 0 beträgt, ist die Direktzahlung erfolgreich
Neu: Die Funktion zum Anpassen des Plug-In-Installationsverzeichnisses erleichtert die Installation des Plug-Ins und das Plug-In bleibt beim Kompilieren und Löschen des Zielverzeichnisses weiterhin verfügbar.
Optimierung: Verbessern Sie das Artikelmodul und fügen Sie die Sammelfunktion hinzu. Vielen Dank an die Maus, die die Katze zu Tode erschreckt
Optimierung: Die Optionssystemkonfiguration ermöglicht die Übergabe leerer Daten zum Löschen der Konfiguration
Optimierung: Passen Sie die Standardgröße für Anhänge zum Hochladen an. Die Standardgröße für Bilder beträgt 10 MB und die Standardgröße für andere Dateien beträgt 100 MB.
Optimierung: Jboot, Log4j2 bis dahin aktualisieren
Fix: Das Problem, dass illegale Schlüsselwörter, die im Hintergrund angepasst wurden, ungültig sind
Fix: Das Löschen einer Option über die API wird möglicherweise nicht rechtzeitig wirksam
Behebung: Das Plug-in ist auf externe Jars angewiesen, was in manchen Fällen zu dem Problem führen kann, dass es nicht installiert werden kann.
Fix: Fehler 500 tritt auf, nachdem die WeChat H5-Zahlung erfolgreich auf die Seite zurückgekehrt ist, danke @AlienJunX
Fix: Wenn ein Anhang in einen Artikel eingefügt wird und die Anhangsdatei zu groß ist, tritt ein Fehler auf, es gibt keine Eingabeaufforderung auf der Seite.
Behoben: Das CKEditor-Editorbild kann nicht eingefügt und hochgeladen werden