youBBS for SAE only (v1.04 & RC)

By ego008 at 2013-04-12 21:27:41 • 5500次点击 • 4收藏

这个版本是依赖SAE 平台的多种服务,是youBBS 官方网站的三月三克隆版,集一些改进意见和个人想法,可能不符合一部分人的需要,先看看他有哪些与其它版本不同的功能。

依赖SAE 的资源:MySQL、Memcache、Task Queue、中文分词服务,这些是必需开通的;
第三方存储:仅支持又拍云,如果你不开通附件上传,则只保存用户上传的头像,当然也可修改相关代码,使用SAE Storage 存放头像;
微博同步;
还有利用SAE 的Task Queue、中文分词服务自动生成tag,并根据tag获取相关帖子;
有一个水区分类,相当于垃圾桶,管理员可以在编辑帖子时把它移到水区,不影响其它用户和搜索引擎。

附几张图:
创建新应用

需要开通的服务

你可以使用SAE 更多的服务,实现自己想要的功能,如mail

数据不多、流量不大的网站Memcache 用5M足够了,若还想省可以用1M。
Task Queue 照图开通

开源地址 https://github.com/ego008/youbbs-for-sae 44 欢迎Fork

youbbs, for, sae, only, amp, rc


如果你正在SAE上使用1.03,可尝试自行升级,注意数据备份。
升级说明:
1)对照yunbbs_mysql.sql 文件,看添加了哪些,在SAE 的mysql 管理面板下添加字段,这个较容易实现;
2)对水区(垃圾桶)的处理,发布的新版本默认水区id 是1,其实是为方便,你可以像官方站一样,指定另外一个分类id 为水区,但需要修改源码,
如:把sql 的 WHERE `id` > '1'

改为 WHERE `id` != 'your_spam_id' 等。

3)看看水区的起源 http://youbbs.sinaapp.com/t/796 3

后来又添加了与水区相关的功能:不能在水区发帖,水区的帖不能发新评论。

<等会还是写一下升级向导>
写好了,请移步 http://youbbs.sinaapp.com/t/966 1

ego008 at 2013-04-12 21:38:16
1

一直对SAE的Storage收费不了解
官方文档写到
Storage 磁盘消耗5 云豆/GB·天
流出流量150 云豆/GB
也就是说只要开通Storage服务,每天都会消耗5云豆,对不对?

沉默小子g at 2013-04-12 21:46:32
2

@沉默小子g

应该不是这样,我的一个sae今天的Storage,应该是按流量计算的

先知先觉 at 2013-04-12 21:59:46
3

@ego008

谢谢了,终于出来了,看能否成功升级

先知先觉 at 2013-04-12 22:02:15
4

@沉默小子g 使用1G,每天至少花5云豆,流量另算。

ego008 at 2013-04-12 22:03:16
5

@先知先觉 也就是说加入Storage中存放了0.5G的文件,那么每天需要花费0.5云豆。如果是这样我就敢放心用了,没实名开发者信息,云豆不敢乱用呀`(*∩_∩*)′

沉默小子g at 2013-04-12 22:04:25
6

发现手机版的footer还没改

沉默小子g at 2013-04-12 22:13:13
7

沉默小子g at 2013-04-12 22:15:46
8

电脑更换UA后访问一个页面,很容易看到footer悬浮在半空

沉默小子g at 2013-04-12 22:16:53
9

@沉默小子g 什么改为什么?

ego008 at 2013-04-12 22:17:06
10

@沉默小子g

具体怎么算,没有自己没有计算过,我的这个sae的Storage中存放了 8.23 MB的文件(网站的图片)

先知先觉 at 2013-04-12 22:17:30
11

@沉默小子g 那个是用第三方帐户登录时出现的一个醒目提示,手机版是安排在那个位置。

ego008 at 2013-04-12 22:18:56
12

@ego008 不是,你理解错了,你仔细看我发的图,在youbbs,桌面模式下面,有好大一片空白呢

沉默小子g at 2013-04-12 22:27:32
13

@沉默小子g 上次你提到的,height 100%的事,手机页面的css没改。

ego008 at 2013-04-12 22:52:21
14

分词功能有点坑爹,for 这样的介词也生成 tag
amp 是 &amp; 吧

jat001 at 2013-04-12 23:35:28
15

@jat001 对英文、英文符号和繁体字无奈。

ego008 at 2013-04-12 23:44:54
16

@ego008 安装sae1.04 出现“部署代码中遇到问题”

先知先觉 at 2013-04-13 08:59:45
17

@先知先觉 你上传的是rar压缩包吧,SAE不支持rar,支持zip

沉默小子g at 2013-04-13 11:12:28
18

试了一下1.04,感觉问题好多呀
1.发帖时无法发到水区(会提示403: spam info forbidden.),但发帖时默认分类却是水区(希望普通用户在选择分类时不出现水区分类)
2.管理员编辑一个帖子到水区并选择不显示帖子,这时如果没有用户发帖或回复,缓存不会刷新,导致其他用户在帖子列表还可以看到这个贴子名称(无法查看帖子内容)
3.在论坛根目录的newpost.php文件第19行的“else if($cid == 17)” 应该是“else if($cid == 1)”吧!?当选择的分类是水区时显示403

沉默小子g at 2013-04-13 11:20:17
19

另外,我会告诉你我安装好1.04后连续发了7次帖子都显示403: spam info forbidden.才看的源码吗!!!!

沉默小子g at 2013-04-13 11:26:13
20

@沉默小子g

我直接安装1.04 ,不成功,不知道为什么

先知先觉 at 2013-04-13 11:50:04
21

@沉默小子g 1、3已修复,2缓存的问题没有及时删除对应的键,等待它自动过时就好。

ego008 at 2013-04-13 12:01:07
22

@先知先觉

出现104:the uploaded package has no xml file
应该是用安装包安装吧?

这个版本不提供安装包安装,因为SAE 没有详细的关于初始化的文档,参见1.03 的sae_app_wizard.xml 文件,官方也就只给简单的初始化mysql 和 Memcache 示例。

1.04 还要其它的一些功能,需要在后台面板开通。

可通过上传代码包上传。

ego008 at 2013-04-13 12:16:30
23

@ego008 我也把13修复了,问一下,关于我说的2,是不是只要给admin-edit-post 里添加一句$MMC->flush(); 就好了?

沉默小子g at 2013-04-13 12:33:34
24

@沉默小子g $MMC->flush(); 可以,就是有点强,所有的缓存都清空了。

ego008 at 2013-04-13 12:54:51
25

@ego008 那有添加什么代码比较好?
还有右上角的头像为何不加圆角效果?

沉默小子g at 2013-04-13 13:12:30
26

@沉默小子g

因为是判断麻烦而让它五分钟后过期,
mini avatar 漏了圆角。

ego008 at 2013-04-13 13:25:42
27

@ego008 我不想使用又拍云,想直接使用storage,我把你上传到又拍云那块儿的代码改了后但有些问题

$out_img里面保存的就是经过处理后的图片吧?
我仿照官方给的Storage写入方法成功写入jpg文件到Storage中,但是访问图片时却显示图片有问题
把图片下载下来,打开显示“文件可能已损坏”,你知道是哪里的问题吗?

沉默小子g at 2013-04-13 14:46:08
28

@ego008

请问:上传代码包后,运行install.php ?

先知先觉 at 2013-04-13 15:09:02
29

@沉默小子g $out_img 是imagejpeg 输出的图片,以string 形式存在;

@先知先觉

要先安装,打开网址 /install

ego008 at 2013-04-13 15:23:07
30

@先知先觉 上传代码包后开通图中的所有服务,然后编辑代码,打开config.yaml,在末尾添加一个回车,保存后再运行install

沉默小子g at 2013-04-13 15:23:07
31

@ego008 下面是write函数的用法,我觉得没有问题呀,可为什么存下的图片无法打开?
string write (string $domain, string $destFileName, string $content, [int $size = -1], [array $attr = array()], [bool $compress = false])
string $domain: 存储域,在在线管理平台.storage页面可进行管理
string $destFileName: 文件名
string $content: 文件内容,支持二进制数据
int $size: 写入长度,默认为不限制
array $attr: 文件属性,可设置的属性请参考 SaeStorage::setFileAttr() 方法
bool $compress: 是否gzip压缩。如果设为true,则文件会经过gzip压缩后再存入Storage,常与$attr=array('encoding'=>'gzip')联合使用

沉默小子g at 2013-04-13 15:31:54
32
登录 后发表评论