正式在这里一周了
记录一些心得,等过两年再回头看看,希望能有所得。
这周主要做了mediawiki与用户中心的整合,已经mediawiki的一些功能设计。
mediawiki与网站用户的整合其实不难,最简单的是登出,域下的cookie没了就视为登出,无论wiki的cookie还在不在(当然,在的话还要清除cookie和session)。登陆部分稍微麻烦一点,主要还是调用核心包的几个类。
1.当网站端的cookie存在,而wiki无对应session时,调用sso对象进行认证。有session则判断一致性并用session创建用户对象登陆
2.无网站cookie的时候,进行登陆的时候调用sso认证
3.以上两种方法都要判断是否已有本地wiki用户,没有本地用户的时候要新建。
嗯,差不多就是这样,其中用到的HOOK有"UserLoadFromSession"和"UserLogout",同时要注意wiki端的密码规则检验要与网站端一致。
存在的问题,主要是用户表同步的问题,由于网站端用户表变动时不会给wiki发消息,而如果每次登陆都检查并同步会消耗很大。目前的解决办法是不保存用户信息,用户表中只留用户名,id(当然这个也不同步),token,默认option,其他的都置空吧(所以密码规则检验一定要限制密码不能为空,否则随便都能登录了)
功能设计主要是为各个频道服务,这里最大的困难是希望不同频道不同的二级域名,这个很麻烦,想不到很好的解决办法,还需要讨论后决定。我的想法是建立多wiki,用户同步很简单只要顶级域名相同就ok,看wikipedia的办法貌似是这样的。
portal比想象得要简单些,建立不同的命名空间,做几个首页就行,如果多wiki就更容易了。
评论功能现在使用的是mediawiki官方发布的extension——LiquidThread,功能强大,但也有些不好用,主要原因是这个extension的评论是记录在单独的表上的,在wiki数据库中是找不到的,这时候如果试图将评论内容包含在词条页面的时候会认为无评论。现在的解决办法是在底部添加一个模板,并添加一个前往讨论页的链接,还不能用[[xxxx]]的形式,否则会自动新建。囧
审核机制我认为不靠谱,本来mediawiki做的就是自由言论,官方都说了管理员不会有任何官僚特权,整个审核机制怎么弄?只是mediawiki自身肯定是不支持的,讨论了再看吧。
嗯,就是这样。
再说说感觉,在这儿有一种莫名的压力想做到最好,可能是因为技术经理只用了2年就从程序员做到经理给了我比较大的刺激。努力啊,每天多工作一些时间还是好的,虽然不知道有没有加班费,但至少充实啊
不后悔从北大的事业单位出来,在那儿虽然清闲有地位但是还是太空虚了。
以上
1086

被折叠的 条评论
为什么被折叠?



