JPress,一个wordpress的java代替版本,使用JFinal开发。支持相似wordpress的几乎所有功能,比方:模板,插件等。同时在模板上,JPress提出了“模板即模型”的概念,方便模板制作人灵活制作业务模型,移除了widget等繁杂功能,同时在模板和插件制作上比wordpress更加灵活简洁。
但是,JPress又不是wordpress的java版本,它天生融合了微信公众平台,整合了国内众多云平台、短信发送、邮件发送平台,独创的“模板即模型”概念是wordpress所不具有的,只有资深的wordpress玩家才能体会里面的微妙关系。同时后续会增加微信文章同步,6公众平台,今日头条,一点资讯等新媒体的文章同步功能,更加国产和本地化。
在功能方面:
支持自己设置模型,自己设置模型通过模板来定义,而不是后端功能。同时模型内容支持自己设置类别,比方文章模型支持专题、分类、标签等类别。
支持多模板引擎,默认使用Freemarker,模板制作者可以使用其余引擎比方thymeleaf来渲染,同时支持后端在线编辑模板(目前暂时只支持freemarker引擎)。
支持多数据库类型,可以配置不同的数据库(目前暂只支持mysql)。
支持多编辑器,后端可视化编辑和markdown编辑自由切换,默认支持在线图片编辑和代码高亮等功能。
支持插件化,几行代码即可以完成一个插件的开发,git.oschina.net和github上已经有插件的helloworld实例。
支持自己设置URL,网站内容URL风格自己设置。
API支持,方便APP或者其余第三方调用数据。
国际化支持,使用JPress轻松制作任何语言的网站。
极简的SEO功能,可以为每篇文章、每个分类、每个标签单独设置SEO,支持sitemap输出。
客户注册支持邮件和短信验证,目前短信服务商暂时只支持阿里大鱼。
支持CDN设置,包括七牛,阿里云,又拍云等。
上传图片支持水印设置,同时上传图片自动剪切成为模板需要的多种图片尺寸,保证图片显示不会拉伸。
客户登录支持第三方登录,支持6、微信、微博、开源中国、github、Facebook、twitter、linkedin(目前只完成6、微信、微博、开源中国、github的登陆)。
在微信方面:
支持微信菜单设置。
支持自动回复,增加关键字和回复内容。
支持默认回复,包括:客户关注时、进入多客服时、退出多客服时、发送图片时、发送语音时、发送视频时、发送位置时、发送连接时、客户扫描了带参数的二维码时、客户摇一摇时。
所有的自动回复或者默认回复支持“高级回复”功能,比方回复一篇文章,回复一个网址…高级回复是由JPress内置开发的特殊回复,但完全可配置,今后会添加更多的“高级回复”功能。
自动回复或者默认回复支持插件回复,调用JPress插件完成回复。
支持文章搜索,回复关键字就可返回关键字匹配文章。
未来会支持文章同步或者微信导入等实用功能。
在技术方面:
自豪的采用了JFinal作为核心,JPress也是得益于JFinal灵活的架构。在JFinal framework开源体系里,JPress关心每行逻辑的实现,重视每行代码质量,应该属于JFinal的实践,所以也应该是每个JFinaler必读的项目。
使用Freemarker和thymeleaf作为模板引擎。JPress内置的独创缓存,使得的UI渲染速度已经和模板引擎无关。
使用了tinymce做可视化编辑器,使用simplemde做markdown编辑器。两者可以后端自由切换。
文件和图片上传的UI插件使用了fine-uploader。
在前台上,JPress使用了jquery,bootstrap,admin lte,font-awesome,x-editable,fastclick,toastr,tag-editor,pace,layer等。
在安全方面,虽然我个人做了非常多的努力,已经在XSS,CSRF,SQL注入,Cookie安全等方面做了很多的工作,但是还是需要更多的人来一起挖掘和完善,安全是一个永恒的话题。(但是对于新手朋友来说,这些安全应该都是值得去学习和理解的,不是吗?)
支持分布式部署,JPress重写了HttpSession,使用ehcache实现了session的功能,同时在项目中大量依赖于cookie,在分布式架构上毫无压力。
JPress有以下特点:
1、 轻。
轻到只有 8张 数据表,却能实现wordpress的几乎所有功能。依赖的jar包也极度轻,目前只有cos-26Dec2008.jar、druid-1.0.16.jar、ehcache-2.7.5.jar、fastjson-1.2.7.jar、freemarker-2.3.23.jar、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 这 14个 jar包,而且其中jetty-server-8.1.8.jar 不是必需的,只用于方便调试。
包括jar包在内的整个项目在20MB左右。
2、快。
无论多么复杂的页面,JPress响应几乎在10毫秒内,同时JPress支持阿里云,七牛,又拍云等CDN作为加速,支持分布式部署等功能,就算是香港的服务器,只能用“飞快”来描述。
3、灵活。
JPress提出的“模板即模型”的概念,模板制作人可以用JPress来做博客,新闻系统,论坛,问答社区,商城…加上其灵活的插件功能,几乎可以用来做任何类型的网站。
4、国产。
由于国产,所以更符合国人需求。JPress天生融合了微信公众号,JPress内置了 阿里大鱼 的短信发送功能,支持了6邮箱,163邮箱等作为邮件发送服务器,后续会添加微信模板消息发送通知客户等更加符合国人需求的功能。
最最重要的的是
JPress使用了最宽松的LGPL开源协议,和国内的那些采用了 私有协议 的“开源”产品并不是一个级别的。
JPress v0.3.0 升级日志:
增加:添加元数据读取可以是上传的文件的功能;
增加:增加TaxonomyTag标签,方便读取Taxonomy信息;
增加:增加NextContent标签和PreviousContent标签,方便在文章介绍页面显;
增加:增加findListByModuleAndobje-ctId方法,方便二次开发;
增加:添加模板渲染的命中文件调试输出,方便调试;
增加:增加更多排序字段的支持;
增加:增加 module 的 iconClass 配置的支持;
增加:增加针对某个slug的内容样式的支持(即:不同的分类,介绍使用不同的模板);
增加:增加内容列表页自己设置排序规则的支持;
增加:增加taxonomy的内容列表可以根据元数据排序的支持;
增加:给分类taxonomy增加过滤型URL和选择型URL的支持;
增加:增加对TaxonomysTag的根据parentId查找分类的支持;
增加:增加消息的取消注册功能;
增加:修改content render before的钩子为可阻拦型钩子;
增加:给客户增加元数据读取的支持;
增加:增加全局标签使用的相关文档内容;
增加:新添加搜索功能的不同模型搜索不同模板的功能;
增加:MenuManger增加删除菜单接口,方便后端菜单设置;
增加:增加模板的自己设置后端内容编辑模板和内容列表模板功能的支持;
优化:移除文章介绍controller的客户查询功能,直接由content读取客户信息;
优化:加强元数据读取功能;
优化:修改登录客户在attribute中的key为大写USER;
优化:简化后端的设置逻辑功能;
优化:修改JPress的标签规则:所以顶级标签一律增加jp.前缀,例如<@jp.content>;所有取数据的相关的标签改写为大写,比方${option('xx')}修改为${OPTION('xx’)};
优化:修改 commentPageTag 为 commentPage ,模板制作人需修改下标签名称;
优化:ehcache的缓存文件位置为WebRoot/.ehcache
优化:简化元数据的读取和升级操作;
优化:重构是搜索引擎,默认增加 SearcherActionListener 异步监听内容的变动,通知搜索引擎;
优化:重构模板管理相关模块,使之更加简单好用,逻辑更加清晰明了;
优化:重构元数据的插入和升级功能,使之更加简单易用
优化:重构插件机制,编写插件更加方便简单;
优化:重构消息发送和监听模块,使之更加简单和好用;
优化:调整后端内容编辑的UI后端,使之更加简洁。
修复:修复maven运行tomcat时,get请求可能会出现乱码问题的bug;
修复:修复文档列表读取的错误;
修复:修复搜索功能可能造成的XSS漏洞的问题;
修复:修复搜索分页出错的问题;
修复:修复标签调整后,后端无法编辑的问题;
修复:修复Druid数据库连接信息无需登录也可以查看其页面的bug;
修复:修复编辑文章时,粘贴的图片自动上传后,不带设置的水印的问题;
修复:修复粘贴的图片上传后,在tomcat二级目录下图片路径不正确的问题;
修复:修复contentPageTag只有module时,出现的分页错误的bug;
修复:修复jblog模板的关闭评论还显示评论框的bug;
修复:修复jblog模板的打赏设置关闭无效的bug;
修复:修复后端的附件介绍弹出页面的标题错误的bug;
修复:修复编写文章时,选中的样式重新编辑时不正确的bug。
修复:修复后端user.phone字段错误的问题
修复:修复menuTag的分类页子模块无法显示高亮的问题
发货方式
自动:在特色服务中标有自动发货的商品,拍下后,源码类 软件类 商品会在订单详情页显示来自卖家的商品下载链接,点卡类 商品会在订单详情直接显示卡号密码。
手动:未标有自动发货的的商品,付款后,商品卖家会收到平台的手机短信、邮件提醒,卖家会尽快为您发货,如卖家长时间未发货,买家也可通过订单上的QQ或电话主动联系卖家。
退款说明
1、源码类:商品详情(含标题)与实际源码不一致的(例:描述PHP实际为ASP、描述的功能实际缺少、功能不能正常使用等)!有演示站时,与实际源码不一致的(但描述中有"不保证完全一样、可能有少许偏差"类似显著公告的除外);
2、营销推广类:未达到卖家描述标准的;
3、点卡软件类:所售点卡软件无法使用的;
3、发货:手动发货商品,在卖家未发货前就申请了退款的;
4、服务:卖家不提供承诺的售后服务的;(双方提前有商定和描述中有显著声明的除外)
5、其他:如商品或服务有质量方面的硬性常规问题的。未符合详情及卖家承诺的。
注:符合上述任一情况的,均支持退款,但卖家予以积极解决问题则除外。交易中的商品,卖家无法修改描述!
注意事项
1、在付款前,双方在QQ上所商定的内容,也是纠纷评判依据(商定与商品描述冲突时,以商定为准);
2、源码商品,同时有网站演示与商品详情图片演示,且网站演示与商品详情图片演示不一致的,默认按商品详情图片演示作为纠纷评判依据(卖家有特别声明或有额外商定的除外);
3、点卡软件商品,默认按商品详情作为纠纷评判依据(特别声明或有商定除外);
4、营销推广商品,默认按商品详情作为纠纷评判依据(特别声明或有商定除外);
5、在有"正当退款原因和依据"的前提下,写有"一旦售出,概不支持退款"等类似的声明,视为无效声明;
6、虽然交易产生纠纷的几率很小,卖家也肯定会给买家最完善的服务!但请买卖双方尽量保留如聊天记录这样的重要信息,以防产生纠纷时便于送码网快速介入处理。
送码声明
1、送码网作为第三方中介平台,依据双方交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益;
2、非平台线上交易的项目,出现任何后果均与送码网无关;无论卖家以何理由要求线下交易的(如:要求买家支付宝转账付款的,微信转账付款的等),请联系管理举报,本平台将清退卖家处理。
淘宝小号交易平台 账号交易平台 全自动发卡密 支付宝财付通自动收款充值...
首发!比通达OA强大得多的泛微e-office9 OA办公自动化系统含...
游戏交易平台交易数据量查询工具5173游戏平台交易量查询工具另有手游查...
外汇MT4 MT5 官网源码 仿XM网站模板 企业官网...
【价值500元DZ插件】GPlay社区江湖 ⅡV1.4.7主程序+全组...
帝国CMS Redis缓存插件
PHP开发的游戏辅助销售网站源码,网络游戏辅助推广网站源码,带后端...
PHP资格证书查询系统源码 自动生成二维码 支持导入导出功能...
2023最新阿里云代金券 最新优惠码优惠券免费发放中心...
QQ选号网站源码 QQ号码站源代码【整站带后端】...