加拿大家园论坛

加拿大移民家园社区软件项目

原文链接:https://forum.iask.ca/threads/4385/

admin : 2005-01-12#1
笨笨最近把兴趣和精力转移到软件开发学习方面(为将来找工做准备).当前的学习计划包括java和.net.学习计划+实际工程自然最有推动力。由此基于整个论坛的用户和帖子数据,启动加拿大移民家园社区软件项目。考虑到时间紧迫,笨笨对此项目做以下限定:

  • 开放源代码
    第一版快速原型开发并定义一个可扩展的架构

社区软件项目可能的功能如下:

  • 离线论坛
    单一移友登录平台
    移友点对点网络
    移民进度查询
    移友进度列表
    移友聊天室
    移民材料填写助手

apple3800 : 2005-01-12#2
能具体点吗?

admin : 2005-01-12#3
一个long-term 的solution需要一个可扩展的架构。关于社区软件的架构, 笨笨的构想是一个“微小的内核+外挂插件模型”。 所有的功能应当定义和实现成外挂插件。外挂插件之间应当可以扩展和交互.外挂插件的语义和约定使用XML定义。此外实现一个全局属性引擎,存储和访问当前用户自定义或者全局的属性。

admin : 2005-01-12#4
在许多开源软件里,有外挂插件模型(Addin Model),笨笨计划从中抽取出一个简单的,与应用独立,XML定义的模型。外挂插件模块主要有以下工作:

1)外挂插件模型的XML语法定义
2)外挂插件管理器实现XML语法分析和外挂插件的装入
3)命令分发到外挂插件(根据条件或者菜单分发命令到外挂插件)

admin : 2005-01-12#5
离线论坛模块有如下工作需要完成:

1)论坛数据的获取:
有以下可能的实现:

a)家园论坛网站提供php暴露xml-rpc接口.提供返回单个帖子或者用户数据的web service方法。客户端软件调用这些方法获得用户或者帖子数据。

或者

b)客户端软件直接做为Mysql客户端连接到论坛数据库。

2)论坛数据在客户端软件的显示

笨笨倾向于将论坛数据表示成XML的形式,通过XSLT将其转化成html,在客户端内嵌的浏览器中显示出来.

波浪谷 : 2005-01-12#6
:wdb6: :wdb6: :wdb6: :wdb17: :wdb17: :wdb17:

admin : 2005-01-12#7
实现单一登录(SSO)。

单一登录功能。笨笨一直希望获得一个像微软.net passport一样通用的集中化的账户管理方案,为家园论坛提供了通一的登录/认证界面。 即登录家园论坛网站及所有参与站点(以后的相关网站或者扩展),无须反复注册。

这是一项巨大的工程,笨笨将试图极度简化其相关复杂度,以取得一定范围的单一登录!

admin : 2005-01-12#8
关于单一登录的工作方向,可以暂时搁置对定义个人信息标准的努力(那是w3c和foaf的工作)和安全方面的考量(那是商业公司的大餐)。

可能的工作如下:
1)将用户管理接口从phpbb系统中分离(提供php暴露xml-rpc接口?)
2)将用户数据独立成单一的数据库(需要吗?如果将用户数据独立成单一的数据库,需要修改phpbb来使用这个独立的用户数据库)
3)建立一个单独的网站,注册和管理用户数据。

admin : 2005-01-12#9
移友点对点网络:

这是整个系统最复杂和含糊不清的部分。社区软件没有P2P软件或者社交软件的雄心, 然而将家园论坛集成到某个聊天软件(MSN?)或者开源P2P平台,可能是这个工程中最激动人心和最具有价值的部分。

admin : 2005-01-12#10
由于 ”移友点对点网络” 的概念有太多含糊不清的地方,笨笨在此列出可能的研发方向:

1)评估P2P特性在移民事务中可能的应用。
2)评估家园论坛与MSN可能的集成方式

admin : 2005-01-12#11
移民进度查询(可能的工作包括):
1)移民进度查询 ,是比较简单的部分。 输入用户信息界面(FN,姓,生日),发出http post命令进入查询界面(启动浏览器或者内嵌)

移友进度列表(可能的工作包括):
1) 将移民进度的数据定义成一个XML文件,通过XSLT将其转化成html,在客户端内嵌的浏览器中显示出来(通过Javascript支持排序和搜索).也可以在移友之间直接分发传播xml文件。
2)录入移民进度信息,提交到家园论坛数据库。
3)当某人的移民进度信息发生变化时,在移友网络里广播(像MSN那样的消息?)

admin : 2005-01-12#12
关于移友聊天功能,有一个很有意思的开源聊天软件(很久以前,笨笨曾经汉化和为这个软件新增了一个功能): http://www.lluna.de

LLuna将在线状态和即时通信变得和访问网页一样容易和快捷。LLuna 可以使你在网页上会见朋友...动画形象,视频,气泡聊天,私人聊天和个人数据...一个很酷的有创意的聊天软件.

笨笨曾经设想过,利用它建设一个移友聊天网站!

admin : 2005-01-12#13
移民材料填写助手以及自助打分功能.

移民材料填写助手: 笨笨暂时没有想到如何实现在pdf提供真正填写帮助。感觉上助手可以帮助的形式打包下载。

自助打分功能:HTML+javascript是最好和首选的实现方式。

admin : 2005-01-12#14
ok,说了这样多,赶紧回到现实中来吧。考虑到有这样多潜在的功能发展,笨笨将在第一个版本即强调一个可扩展的架构和long-term 的solution。

关于第一个milestone,笨笨计划定义以下特性:

1)微小的内核+外挂插件模型
2)离线论坛
3)移友进度列表
4)自助打分

实现语言将使用java和.net c#

dawn0065 : 2005-01-12#15
上述帖子一个也没看明白!!!

:wdb3: :wdb4: :wdb8: :wdb12: :wdb14: :wdb15: :wdb15:

:wdb20: :wdb17:

apple3800 : 2005-01-12#16
一个没有看明白还浪费那么多表情。

mfcguy : 2005-01-12#17
啊呀,真的要被淘汰了,java和.net都不会用啊

xklorlq : 2005-01-13#18
严重支持,但后面怎么打算?整个计划比较庞大,具体细化一下,大

感觉要从头作起,前后台一起上。能否将规模缩减一下,以现在的基础上逐渐改进的方式实现?

baqialilhy : 2005-02-02#19
小熊,您好。先谢谢您上次给我提供的帮助,令我了解到取签的详细资料。
你的离线论坛的概念很新,但我想请教您,搞离线论坛,意义何在呢?加快浏览速度?为自己创建离线浏览器?(看你的实现方式好象不是)不是你笨笨,是我笨笨啊。:)

admin : 2005-02-03#20
baqialilhy 说:
小熊,您好。先谢谢您上次给我提供的帮助,令我了解到取签的详细资料。
你的离线论坛的概念很新,但我想请教您,搞离线论坛,意义何在呢?加快浏览速度?为自己创建离线浏览器?(看你的实现方式好象不是)不是你笨笨,是我笨笨啊。:)

hi, baqialilhy. 离线论坛本意为数据备份之用,由于俺主要关注数据与UI分离的问题,技术上的目标是为论坛数据库提供访问接口,对于离线论坛的意义考虑不多。所以俺上面的帖子里只谈到了客户端从服务器获取数据的实现方式。

具体到离线论坛完整的实现可以考虑为4个模块(模块间从上往下依赖):

代码:
             离线论坛 UI (1)

              论坛数据管理模块(2)

本地数据库访问模块(3)     论坛主数据库数据获取模块(4)

模块4的实现方式已经讨论过了; 模块3应该提供gettopic,getuser,getposter之类的高度抽象,但使用简单的本地数据库访问接口;模块2向上提供如同模块3一样的接口,但同时负责保证本地数据库于论坛主数据库一致(调用模块4)。

zhg519 : 2005-02-08#21


版主, 我支持你的想法,我是一个j2EE的初学者, 别的忙帮不上, 写程序时算我一个, 您可以联系我huigangzhang@hotmail.com.只要是对论坛有益的事情,我都愿意帮忙.

另:我记得好象可以用RSS技术实现离线论坛.

ronger : 2005-03-01#22
思路太乱 ,如果方向以及系统功能、目标确定以及需要采用JAVA、.NET以及PHP开发,本人愿意出份力。

yalo : 2005-03-11#23
小熊辛苦了,代表全论坛的人感谢你!
说明:
他们没选我代表,我想他们都没意见,我就给自己先封一个代表吧!
还有两个代表名额,手长的先得!

fafan : 2005-03-11#24
无限支持中!!!!!!!

lilianou : 2005-05-09#25
感觉上想法比较零散,整理一下做成一个完成的文档,发给有兴趣参加的人,大家一起探讨一下吧
PS
你提到的一些功能,我们的项目组正在做哦,而且已经进入应用阶段了。例如:数据定义成一个XML文件,通过XSLT将其转化成html,在客户端内嵌的浏览器中显示出来