Java 实时论坛——Sym 1.4.0 发布 - 开源中国社区
Java 实时论坛——Sym 1.4.0 发布
88250 2016年07月29日

Java 实时论坛——Sym 1.4.0 发布

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

有免费的MySQL,为什么还要买? >>>  

简介

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)
最新评论
0

引用来自“LiLiyuan”的评论

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

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

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

引用来自“anandysong”的评论

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

引用来自“88250”的评论

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

引用来自“anandysong”的评论

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

引用来自“anandysong”的评论

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

引用来自“88250”的评论

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

引用来自“anandysong”的评论

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

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

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

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

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

https://github.com/b3log/latke
0
后台用了什么框架呢
0

引用来自“LiLiyuan”的评论

憋了好久,终于发布了 ^^
我只是路过看到你了而已,哈哈
0
我也来支持老D
0
真快呀,这是又一批咯
CqtVqnlv01cqOpkp
oeSF7Kmk8HwF9fGY
FHoJ9NfwlLFqDPvY
aWIscMTmI4elOGiH
Uw7l6FCxqjOy7tGb
h3XBf8LauMkjMdjf
k7VWEfZismUcma3j
mHyns35QzBIrx6Zn
henxyMiRUgUrXppc
uvZvxtnUQFdrj3KR
0
eAY2XScGM8HkW88J 用了
0
QB712nz2hADQWs4K
0

引用来自“sammi”的评论

弱弱问句,实时论坛跟平常说的论坛,有什么区别?
实时交互

在浏览帖子时,传统论坛都是需要刷新页面来查看回帖的,而 Sym 则是基于 WebSocket 技术进行回帖推送,看帖时不需要刷新页面也可以看到其他人回帖。
0
弱弱问句,实时论坛跟平常说的论坛,有什么区别?
0
弱弱问句,实时论坛跟平常说的论坛,有什么区别?
0
5Wiq9NNAPgzioYbH 以用
0

引用来自“88250”的评论

顺便发布一些黑客派论坛的邀请码,如果有要体验 Sym 功能的伙伴可以使用这些邀请码进行注册体验:

yRkizu4t3qmKS4vy
7Gkke7HemfZkgrsq
6CcKYDDUpLZeFSCV
vz1rbCAeEIINQhe1
W4BWR9kCZ7uI6YBh
DlVYAese5QBAX67x
ZeFzysHQwn0LgEZt
uGzSHRRI1v3UDXZK
GcrxRo4bFRTQAoz7
Yf1YOYdBxJjhzSvB
dBhmqA4QRbI4st1I
i58xfiCv0Ds3Wote
wpw2dbOGI51svswt
ZfKdvBtfpWBHRRX4
Ql8LIym2lWP5EeII
tR5iMBO94UjcaOCW
77e0OtBfqUcqCNzN
6zAj1yAEMQ6h3Dzk
E4u6OBsjkm3dCYKS
XIpKuYd28F7jE7DB
我也放一批

yjSmKKWBmCyDChu0
uqxYUbhluMbrBV9w
l4clMAtYjLmTpFta
oeSF7Kmk8HwF9fGY
Vr7KQZq7ph5Hpjry
eAY2XScGM8HkW88J
5Wiq9NNAPgzioYbH
QB712nz2hADQWs4K
Fe6Tq31z3yrHkz8t
有使用的可以跟帖注明
顶部