Java 实时论坛——Sym 1.4.0 发布

88250
 88250
发布于 2016年07月29日
收藏 202

简介

Sym 是一个用 Java 写的实时论坛,欢迎来体验

如果你需要搭建一个企业内网论坛,请使用 SymX

作者

Sym 的主要作者是 Daniel 与 Vanessa,所有贡献者可以在这里看到。

初衷

Sym 的诞生是有如下几点原因:

  • 已有的用 Java 写的论坛很少也很丑,并且大多数已经不再维护

  • 我们想实现一种新的网络社区体验,独立博客+论坛互动

基本理念

实时交互

在浏览帖子时,传统论坛都是需要刷新页面来查看回帖的,而 Sym 则是基于 WebSocket 技术进行回帖推送,看帖时不需要刷新页面也可以看到其他人回帖。

互联

Sym 提供了 API 进行帖子、评论的同步(B3log 构思),目前 SoloTypechoZ-BlogPHPWordPress 均已经提供插件来进行内容同步,欢迎大家进行接入!

HTML5

Sym 使用了很多 HTML5 提供的技术特性,比如

  • 通过使用本地存储防止编辑帖子/评论时内容丢失

  • 使用了音频特性来进行帖子/评论音频录制、播放

  • 复制/粘贴上传图片

  • CSS3 动画

通过使用这些技术,Sym 可以让用户在分享、交流时更加便捷、舒服

功能图解

首页

帖子

个人设置

发布编辑

  • Markdown 编辑器,支持 GFM 语法

  • LaTeX 数学公式

  • 复制粘贴时自动转换为 Markdown

  • Chrome 下可以直接粘贴图片,其他浏览器支持拖拽

  • 除了使用文字,也可以在帖子内进行录音

  • 支持 Emoji

  • 使用本地存储保障数据在未提交时不丢

移动端

移动端使用单独的模版进行渲染,解决通过一套模版自适应不能达成的效果和体验。

安装

需求:Maven3+、MySQL5+、Jetty9+/Tomcat9+(理论上只要实现了 JSR356 规范的 Servlet 容器都可以)

  1. 下载源码

  2. 解压后修改 src/main/resources/local.properties 中的数据库配置,并创建数据库

  3. 可能需要修改 latke.properties 中的端口为容器端口

  4. 可能需要修改 init.properties 中的管理员账号

  5. 使用 mvn install 进行构建

  6. 部署到 Servlet 容器的 ROOT 下并启动容器,数据库表会在第一次启动时自动建立

注意:

  • 没有数据库建表 SQL 脚本,只需要手动建库,表会在第一次启动时自动生成

  • 只能部署到 ROOT 中,线上环境建议使用反向代理

  • Tomcat 用 9 以上版本,最好是使用最新版

商用授权

请看这里

思绪

在实现 B3log 构思的这几年:

  • 我们见证了 xAE(GAE/BAE/SAE/etc)的兴起与没落。2009 年选择了 GAE 作为服务器,并开始实现 Latke 框架来解决跨云平台,直到告别 GAE,不得不感叹技术更迭之快

  • 感受到了自造轮子的优缺点,并且可以肯定一点:对于一个想要长久的产品来说,自制技术框架优势远大于劣势

  • 一个好玩的产品或说是细节特性然并卵,需要做的是一个能够持续提供用户价值的产品/特性

  • 虽然直到目前 B3log 系产品用户不多,但我们已经初步证明了:Java 用来实现博客、论坛没有什么不好的

  • 使用开源软件,了解开源思想,融入开源

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Java 实时论坛——Sym 1.4.0 发布
加载中

最新评论(40

VanessaLi
VanessaLi

引用来自“LiLiyuan”的评论

憋了好久,终于发布了 ^^

引用来自“逗逼师父”的评论

我只是路过看到你了而已,哈哈
这样都能被你看到。。。
88250
88250

引用来自“anandysong”的评论

本地搭建启动起来以后,无法访问呢?访问地址不是localhost:8080/不就可以了吗?

引用来自“88250”的评论

具体是什么问题呢?需要配置一下 latke.props 里面的 port

引用来自“anandysong”的评论

下载1.4版本,Skins无法初始化,查看代码是final String skinsPath = servletContext.getRealPath("skins");skinsPath为null了。处理之后,能够访问首页,但是所有资源文件都报503,拿不到资源文件。这个是什么情况呢?
请加 Sym 开发支持 Q 群:17370164
anandysong
anandysong

引用来自“anandysong”的评论

本地搭建启动起来以后,无法访问呢?访问地址不是localhost:8080/不就可以了吗?

引用来自“88250”的评论

具体是什么问题呢?需要配置一下 latke.props 里面的 port
下载1.4版本,Skins无法初始化,查看代码是final String skinsPath = servletContext.getRealPath("skins");skinsPath为null了。处理之后,能够访问首页,但是所有资源文件都报503,拿不到资源文件。这个是什么情况呢?
88250
88250

引用来自“anandysong”的评论

本地搭建启动起来以后,无法访问呢?访问地址不是localhost:8080/不就可以了吗?
具体是什么问题呢?需要配置一下 latke.props 里面的 port
anandysong
anandysong
本地搭建启动起来以后,无法访问呢?访问地址不是localhost:8080/不就可以了吗?
g
grandsun
inputPwd
88250
88250

引用来自“徐传弟”的评论

没有初始化sql脚本?
启动的时候会自动建表的
ATOMXU
ATOMXU
没有初始化sql脚本?
88250
88250

引用来自“徐传弟”的评论

后台用了什么框架呢
自己写的框架: Latke

https://github.com/b3log/latke
ATOMXU
ATOMXU
后台用了什么框架呢
返回顶部
顶部