发布于 2016-08-19 05:51:05 | 197 次阅读 | 评论: 0 | 来源: 网友投递
Sym Java 实时论坛
Sym 是一个用 Java 写的实时论坛。
Java 实时论坛 Sym 1.5.0 发布了。
Sym 是一个用 Java 写的实时论坛,欢迎来 体验!(如果你需要搭建一个企业内网论坛,请使用 SymX)
非常详细的 Sym 功能点脑图
如果你在搭建或者二次开发时碰到问题,欢迎加 Q 群 17370164 进行讨论
Sym 的主要作者是 Daniel 与 Vanessa,所有贡献者可以在这里看到。
点击这里查看官方发行说明
Sym 的诞生是有如下几点原因:
已有的用 Java 写的论坛很少也很丑,并且大多数已经不再维护
我们想实现一种新的网络社区体验,独立博客+论坛互动
在浏览帖子时,传统论坛都是需要刷新页面来查看回帖的,而 Sym 则是基于 WebSocket 技术进行回帖推送,看帖时不需要刷新页面也可以看到其他人回帖。
Sym 提供了 API 进行帖子、回帖的同步(B3log 构思),目前 Solo、Typecho、Z-BlogPHP、WordPress 均已经提供插件来进行内容同步,欢迎大家进行接入!
Sym 使用了很多 HTML5 提供的技术特性,比如
通过使用本地存储防止编辑帖子/回帖时内容丢失
使用了音频特性来进行帖子/回帖音频录制、播放
复制/粘贴上传图片
CSS3 动画
通过使用这些技术,Sym 可以让用户在分享、交流时更加便捷、舒服 。
首页
帖子
个人设置
发布编辑
Markdown 编辑器,支持 GFM 语法
LaTeX 数学公式
复制粘贴时自动转换为 Markdown
Chrome 下可以直接粘贴图片,其他浏览器支持拖拽
除了使用文字,也可以在帖子内进行录音
支持 Emoji
使用本地存储保障数据在未提交时不丢
移动端使用单独的模版进行渲染,解决通过一套模版自适应不能达成的效果和体验。
需求:Maven3+、MySQL5.5+、Jetty9+/Tomcat9+(理论上只要实现了 JSR356 规范的 Servlet 容器都可以)
下载源码
解压后修改 src/main/resources/local.properties 中的数据库配置,并创建数据库
可能需要修改 latke.properties 中的端口为容器端口
可能需要修改 init.properties 中的管理员账号
使用 mvn install 进行构建
部署到 Servlet 容器的 ROOT 下并启动容器,数据库表会在第一次启动时自动建立
注意:
没有数据库建表 SQL 脚本,只需要手动建库,表会在第一次启动时自动生成
只能部署到 ROOT 中,线上环境建议使用反向代理
Tomcat 用 9 以上版本,最好是使用最新版
图片上传默认是上传服务器本地,要使用七牛可配置 symphony.properties 中的 qiniu.* 属性
邮件发送使用的是 SendCloud,需要配置 symphony.properties 中的 sendcloud.* 属性
将 WEB-INF/cron.xml 中注释掉的部分打开
如果部署在***非 Jetty 容器***中,需要把 WEB-INF/web.xml 中如下配置注释掉:
<servlet> <servlet-name>default</servlet-name> <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class> <init-param> <param-name>useFileMappedBuffer</param-name> <param-value>false</param-value> </init-param> </servlet>
用户注册时是启用邮件验证的,如果需要修改请参考相关代码。
如果遇到问题,可以参考一下这篇帖子。
如果你也搭建好了,欢迎通过 Pull Request 将你的站点加到这个列表中 :-p
请看这里。
在实现 B3log 构思的这几年:
我们见证了 xAE(GAE/BAE/SAE/etc)的兴起与没落。2009 年选择了 GAE 作为服务器,并开始实现 Latke 框架来解决跨云平台,直到告别 GAE,不得不感叹技术更迭之快
感受到了自造轮子的优缺点,并且可以肯定一点:对于一个想要长久的产品来说,自制技术框架优势远大于劣势
一个好玩的产品或说是细节特性然并卵,需要做的是一个能够持续提供用户价值的产品/特性
虽然直到目前 B3log 系产品用户不多,但我们已经初步证明了:Java 用来实现博客、论坛没有什么不好的
使用开源软件,了解开源思想,融入开源
Feel easy about trust.