320 likes | 502 Views
Wego Architecture. Socialbrain.org. Social Software Works. They are all good enough top gather social knowledge in a democratic way! But how to protect your own knowledge property if those sites closed? How to retrieve “your information” on those sites in an effective way. Blog Wiki
E N D
Wego Architecture Socialbrain.org
Social Software Works They are all good enough top gather social knowledge in a democratic way! But how to protect your own knowledge property if those sites closed? How to retrieve “your information” on those sites in an effective way. • Blog • Wiki • Flickr • AllComsuming • Del.icio.us • Wealink • Upcoming.org • Etc.
Public space …… Wego Wiki- Wikipedia Public Archive Photos/ Media Private Knowledge Bookmarks Public News Email Blogosphere Publish Google Subsrcribed News Google Blog+ Portal Document+ Personal Archive Contact …… Social Networking Service Social Bookmarks BBS Newsgroups Social Software
Wego– A Multi-tier desktop server http://127.0.0.1:5225http://127.0.0.1:5225/writehttp://127.0.0.1:5225/bookmark etc. Web Server (RESTful) Application Logic Tools Interface 3rd party Plugins… Drivers DocumentServices Threading Shared components Data layer DB File Cache/ Archive
Common Data Model of Wego Publishing Hisotry <Publishings> <Publish id=“0”> <DateTime>…</Datetime> <Type>…</Type> <DestURl>…<DestURI> </Publish> …. </Publishings> • Blog • Wiki • SS Services • *Hosting • … Revision Information <Revisions>….</Title> <Revision id=“0”> <DateTime>…</Datetime> <Description>….</Description> <MD5>…</MD5> </Revision> <!—More revisions--> ….. </Revisions> Snapshot of a document <Title>….</Title> <DateTime>…</Datetime> <Author>….</Author> <GUID>…..</GUID> <Links>….</Links> <Description> <![CDATA[….]]> </Description>
Wego Component Model Internet Desktop Server Application Framework (http://127.0.0.1:5225) Developers Your tools here! Tool Service Render Service Preference Service Tools (Blog, News, Works, Bookmarks, Gallery, Search, Lookup, Calendar, Shelf…..) System Log Data Service Index Service Publish Service Synchronization Service Tag Service db
Entities relationship Agent Portal Public Component Plugins/tools View Template Language Pack Public namespace Documents Gadget/Applet Index/revision Storage Mount
Namespace • <$Writing:Editbox Instant=“on”$> • <$Collection:ThumbnailList$> • <$Collection:URLList number=“100”$> • <$Writing:PostList description=“full” view=“blog”$>
Template • 更新消息(最后更新5分钟前) • <$Subscription:NewsList number=“5”$> • 新创作 • <$Writing:PostList number=“5”$> • <$Writing:EditBox Mode=“ClickShow” Visible=“false”$> • 图片收藏 • <p> • <$Collection:PictureList number=“3” view=“thumbnail”> • </p> • 链接 • <$Collection:URLList number=“50”> 系统正常 <$System:Storage$> 新功能 <$System:Updates$> <$System:UserInfo$> 了解MW <$System:Tutorial$> <$Search:SearchBox$>
Template model • Embeddable templates • Dynamic macros • User defined layout • “Memorable” templates (version tracks)
Template Logic Theme <html><header> <!- Theme style and script here-> [%ToolTitle%] [%ToolCSS%] [%ToolScript%] </header> <body> <!- Theme header and frame -> [%ToolBody%] </body> </html> Class StandarTool: Render(_ToooClassName, _Title) RenderThemeLogic Pass ToolMacroLogic Class ToolClass(StandarTool): Tool Template <!- Toollayout-> [%ToolMacro%] StandardTool.Render(_ToooClassName, _Title) MacroFunction() http://127.0.0.1:5225/tool
Wego主页 系统状态 知识更新 退出(X) http://127.0.0.1:5225
http://127.0.0.1:5225 My world • 更新消息(最后更新5分钟前) • 中国经济发展速度减缓,各行业基础不足弊端显现—新华网 • 昨日的程序开发—小丁 • 这是怎么回事? --- CNET中文 • 新创作 • 我发现了新的Google功能 (2005-3-2, 12:30am) • 他们的解释不满意 (2005-3-1, 8:33pm) • 图片收藏 • 链接 • 美味书签* • Flickr* • Python.org* • 美丽的漓江 • 52届奥斯卡 • 实施新政的问题和我们必须面对的考验 • 美丽的漓江 • 52届奥斯卡 • 实施新政的问题和我们必须面对的考验 系统正常 整个系统占用硬盘空间280M,数据占用520M(提醒你备份) 新功能 有2个新的工具发布,还有3个更新的功能 你已经使用了2年零4个月8天,你共有公共网站3个,公共网站空间300M,剩余20M,你还参与12个公共服务。 了解MW 了解My World就是了解自己 搜索:__________ =〉
http://127.0.0.1:5225/gallery 搜索:__________ =〉 Images • 标签 • 音乐 (2) • Python(15)- 中国(233) • 家(20) • -Danny(2) • - 美国(21) • - 电脑(12) • - 政治(2) • 2005-2-3 • 2005-1-20
Wiki as workspace • {{work}} • [[article]] Default Work {{work1}} {{article}} {{work1}} {{article}} {{work1}} {{article}}
Scenarios • Write once, publish anywhere (Java? :D) • All actions will be blogged(Blogging by doing) • All actions are RESTful, thus readable (e.g. blog/2003/4/12) • All actions could be searchable (e.g. search/blog/?query=china) • Your public blog can be “updated” automatically by your settings • Only trusted users can comment on your blog, you can comment locally while publishing to both other’s blog and your own blog
Knowledge Flows and Orchestration (sample: url collection) Public Bookmark Service URL collection Photo News Blogging
Universal tag • Consistent tag operation and integral access • /blog/tag/China • /gallery/tag/Spring • /bookmark/tag/python
Chronological stream • Calendar anywhere • Consistent mapping • /gallery/2004/3/28 • /blog/2003/2/19 • /bookmark/2004/1/1
Searchable knowledge • /blog/search/?q=China • /gallery/search/?q=China • /calendar/search/?q=dinner • /links/search/?q=sex
Bookmarklet: higher experience • Digest it • Bookmark it • Grab it (picture) • Subscribe it • Comment it • Lookup it
Publishing Model FTP hosting Trackbacks Comments Wiki 2 Wiki 1 Flickr Blog 3 bog1 blog2 Grassland iCalShare.com Del.icio.us Technorati Publishers Calendar MetaWeblog API Blog publishlet Blogger API Bookmarks (url, links) Flickr API Works (wikis) Delicious API Bookshelf Grassland API Gallery iCal API News Wiki API … … …
APIs for everyone Template You XML-RPC Interface (RESTful) developers Wego Source Code Hardcore developers
API works for client side scripting • Access data without refreshing client • Via xml-rpc object • API visible to everyone
Threading model (draft) • Background queue • Lockup mechanism • Callback?
Implementation preferences • Low-weight web server and application server, RESTful • Low-weight and embedded database server • Embedded template • Minimal relevance and distribution size • Extensible tools • Multi-threading model • Multi-tier
P2P consideration • Can Wego P2P? • P2P for knowledge sharing • P2P for proxy • P2P for trust transaction • IPv6?
P2P of Wego—the Circle model • No central server!! • Each Wego node knows its immediate neighbors on the circle • Each Wego node knows a few other nodes about the circle • Follow the links to find any other node quickly • Share object between trusted peers, e.g. RSS, contact, collections, etc. • Shall we still need web? Maybe, or maybe not
Security • Designed for private machine use, ownership • Public key/Private key pairs • User controlled privacy, consensus
Open issues • Mobility: how to support people with multiple working machines • Performance: how cache mechanism designed • Internationalization: template and message dictionary • Tool namespace and version management • Packaging( what’s the size will be?) • How theme/tool template are compatible