www.meshly.com
   Login | Connect to Meshly
Most Popular Channels:
Member View: fangle » api - (all posts tagged api)
1
vote

看了很多人对lbs ui的讨论([1]),最为一个程序员,从技术的角度来谈谈我修改的过程。
提供和整合其它网络服务,这点是在WEB2.0时代重要的里程碑。

点击这里下载源文件:lbs-fangle20070330.rar
因为休闲时间用完所以只是简单调试,也没提供详细的代码变动情况,暂时停摆。
运行升级数据库程序:
/update_fangle.asp

功能描述:http://www.28star.com/blog/?id=5...
通过这里推荐的方式订阅最新动态:
http://www.28star.com/blog/feed.... ;id=598

Akismet Anti-Spam服务支持
Wordpress中著名的反Spam插件,此插件能主动有效的防御Spam。(我做的一个Demo)
需要去Wordpress官方网站申请Api Key,才能激活此功能。
通过Akismet在线数据中心,验证留言和引用通告是否是Spam。
支持提交Spam OR Not Spam样本。
所有Spam放入临时表中等待管理员人工核实,防过度过滤。
class/antispam.asp
js/wpApiKey.js

Weblog Api支持
支持Blogger, MetaWeblog, Movable Type三套Api
支持RSD(Really Simple Discovery)自动探知blog支持的api体系
xml-rpc.asp
rsd.xml

Google Password Service功能模块
通过gps服务实时提示输入密码的强壮度,结合你输入的username和email一起计算出来。
js/XmlHttp.js
js/password.js
AjaxProxy.asp - 跨域访问数据

Sitemap Class功能模块
使用Google,Yahoo,Microsoft,Ask通用的sitemap0.9版协议
支持sitemap ping,/ping?sitemap=sitemap_url
在发布文章的时候追加sitemap文件后想搜索引擎自动ping
可以在后台全新生成所有sitemap
支持记录过多是,生成sitemap index,也就是索引多个sitemap文件
类可以通用到其它类型的网站。
要想让搜索引擎自动探知sitemap,在robots.txt中添加Sitemap:
class/sitemap.asp - sitemap功能类

ping协议功能模块
和WordPress的Options->Writing管理页最下面有一个“Update Services“功能一样
向其它网站发送更新通知。
支持weblogUpdates.extendedPing和weblogUpdates.Ping两个协议
自动判断,首先使用weblogUpdates.extendedPing,如果对方不支持则使用weblogUpdates.Ping。
class/xml-rpc.asp - 在sic的版本上修改,增加兼容性。

ping服务地址:
http://blogsearch.google.com/pin... - sic原版xml-rpc.asp不兼容
http://rpc.pingomatic.com/
http://rpc.weblogs.com/RPC2

Backlinks功能模块
Google Backlinks是在想减轻服务器负担,提高相应效率的时候,并且被Trackback spam困扰的时候。
需要显示引用你文章的外部页面链接列表的好方法。
因为使用AJAX调用当前页面在Google Blog Search中的反向链接结果。
效果可以看Google 黑板报里的文章页面。
这个模块可以独立运行于其它网站。
js/backlink.js
js/backlink_control.js - 以上两个基本来源于google原版代码
AjaxProxy.asp - 跨域访问数据
backlinkrss.asp - 因为客户端js不能跨域访问,所以只能通过服务端中转

2007-4-25
增加控制Anti-Spam功能开启选项(不开启不能使用和不开启rsd) - admin.asp
因为使用Wordpress中的插件Akismet,所以需要Wordpress Api Key。
增加Wordpress Api Key存储项,以便开启Anti-Spam。

2007-4-17
增加控制Weblog Api功能开启选项(不开启不能使用和不开启rsd) - admin.asp
增加选择Weblog Api引擎(目前支持3种:Blogger, MetaWeblog, Movable Type) - admin.asp
根据选择Weblog Api引擎,自动生成rsd文件 - source/src_admin.asp

2007-4-16
Blogger, MetaWeblog, Movable Type三套Api
增加了rsd自动发现机制
增加了robots.txt中sitemaps的链接
增加了部分中rss的自动发现链接
为Lables标签增加 rel="tag" 属性
增加tab舌签,合并左侧Categories/Lables;3个web2.0服务

2007-4-6
最近主要针对用户体验的修改。
给lables增加了Rss输出 - source/src_feed.asp
搜索结果的RSS输出,针对Yahoo! Alpha等服务 - source/src_feed.asp
去掉了侧栏隐藏分类的Rss图标,因为其他Rss阅读器根本没权限看,减少不必要的选择 - global.asp
倒序排列文章,也是实践我以前讨论的列表显示历史记录方式,不管是出于用户体验还是网络营销的目的,结果都是有益的。
减少页数为5个,很少有人跨度的大的翻页,这样还不如用站内搜索。

2007-3-30
解决了客户端jscript的跨域权限问题(通用Backlinks) - AjaxProxy.asp
增加了Google Password Service功能,验证密码强度。


2007-3-27
修正记录某些搜索引擎无法抓去网站的错误,这个错误在几年前犯下的 - class/user.asp

2007-3-25
修改控制Lables功能开启判断
增强Sitemaps功能,只在类型为全局的新帖子或编辑帖子类型为全局的时候追加。
增强Ping功能,在编辑帖子后也重新Ping。

2007-3-23
增加控制Sitemaps功能开启选项(不开启不会在管理界面菜单里显示) - admin.asp
增加了Sitemap Ping,自动向Google和Yahoo通知sitemap更新(必须同时开启Sitemaps功能和ping功能选项) - class/sitemap.asp
重构了一些代码,因为多个地方使用到了MSXML2.ServerXMLHTTP,所以独立写了func.xmlHttp(url,contentType,data)函数 - class/function.asp

2007-3-22
增加控制Backlinks功能开启选项 - admin.asp
增加了通用ping模块(Update Services) - admin.asp
增加控制ping功能开启选项(不开启不会在管理界面菜单里显示) - admin.asp
发帖时自动ping所有的server - src_article.asp
修改了lbs官方的xml-rpc和标签问题 - xml-rpc.asp
ping优先级weblogUpdates.extendedPing-->weblogUpdates.ping


2007-3-21
抽空把以前为公司写的生成google sitemap class(基于遍历目录),添加到lbs里了(基于数据记录)。
根据google的文档要求:
符合Google,Yahoo和Microsoft通用的sitemap 0.90版。
单个sitemap.xml文件必须小于10M和不多于50000条记录,否则自动分割成多个sitemap.xml文件,通过sitemap_index.xml关联。
支持robots.txt的配置过滤sitemap中的记录。
在admin.asp中增加重新生成全站sitemap功能,提供简单的生成报告。
添加文章的时候自动追加记录到sitemap中。
删除文章之后自动删除sitemap中的记录。(未完成)
sitemap ping。

2007-3-17
继续借鉴一葉千鳥的UI,修改了Recent Comments部分表现方式,不过当回复开始部分出现超长连接的时候就会破相,而且Comments摘要被大段URL串充斥着也不美观。

为此引入了Google Group的方式,在显示摘要的时候用"[link]"替代连接。

其实这样做还有一个好处,就是尽量不要让垃圾链接占据重要页面,因为无法有效防御垃圾评论。

2007-3-16
1.我很想要的是blog API,可是没时间弄到一半就无限期搁置了。
2.加入了Google Backlinks(显示Google Blog Search的Backward Links结果),代替Trackback。(e.g.)

对于Trackback, Pingback & Backlink的讨论已经由来已久。因为Trackback spam让我实在头疼,所以关闭了这个我曾经看好的功能。
3.增加了Tags(这里我还是习惯称为Lables),Relate Articles。
Lables是因为有些网络服务要求RSS包含keywords和优化meta keywords标记。
比如Google Co-op中的Deliver specialized search results。
Relate Articles抱着有加不加猪头三的原则增加的。
基础程序是参照老米甲的,UI参照了一葉千鳥,修改了它的很多问题:
它数据层和UI层的代码没有很好分离;
Relate Articles没有很好的过滤隐藏分类和文章;
增加控制Relate Articles和Lables显示个数的变量 - class/cache.asp;
将程序中 border="0" 替换为 style="border:0;",主要是前者的样式优先级低。一旦图片外层定义了 .cls img{border: 1px;} 内层的所有 border="0" 都会失效。
4.seo优化
要想更好的进行这类优化,最好的方法就是订阅SEO网站的Rss,可以发现很多,甚至是界面优化秘技。
添加meta优化:
meta无引用时显示默认值,默认值定义在 - lang/blog.asp



由于以前SEO们对这部分优化太猛,导致现在搜索引擎不太重视这里。
不过我发现还是有收录这部分内容的,合理优化有百利而无一害。
页面内容优化:
在界面上尽量少使用“name:value”这样的难以联系上下文的描述方式,虽然简短,但不流畅。

而应该使用更符合阅读习惯的语法描述,去掉一些不必要的数据。
去掉了IP显示,反正能发新帖的都是自己或熟人,真的帐号被黑,还是通过日志追查比较详细。
改变了日期显示格式,首页只显示发帖日期,帖子页显示发帖日期和时间。
一直犹豫1 Comments放摘要前还是摘要后,最后选择后一种。
很奇怪的就是发帖者和回复者都希望在上面,其它游览者习惯放下面。
我想身份也决定了游览的方式,发帖者知道帖子的内容,所以游览的重点在于评论的变化。
游览者更注重帖子的内容,看完后才会去注意评论,所以放在下面符合他们的阅读习惯。
没记错的话应该叫“以用户为中心的设计”。


--------------------------
相关资料
1.Sitemaps
http://www.sitemaps.org/protocol...
2.Internationalized Resource Identifiers (IRIs)
http://www.ietf.org/rfc/rfc3987....
http://www.w3.org/International/...
3.Uniform Resource Identifier (URI)
http://asg.web.cmu.edu/rfc/rfc39...
4.Extensible Markup Language (XML)
http://www.w3.org/TR/REC-xml/
5.sitemap ping
http://www.sitemaps.org/faq.html...
http://developer.yahoo.com/searc...
http://www.google.com/webmasters...
http://search.yahooapis.com/Site... ;url=http%3A%2F%2Fwww.28star.com%2Fsitemap.xml
6.Google Password Service
https://www.google.com/accounts/NewAccount
7.Microsoft Live Password strength
http://demo.rexsong.com/200703/l...
8.RSD
http://cyber.law.harvard.edu/blo...
9.Anti-Spam
Akismet http://akismet.com/
10.wordpress api key
http://www.wordpress.com

Submitted by fangle - 2007-04-26 20:21:01
Channels - lbs
Tags - api ping lbs sitemaps backlinks akismet-anti-spam

Comment on this post

Recent Channels


Recent Tags




Track This Page

Place the contents of this page in your site. Just set your desired title, height, and width. Then, copy and paste the embed code into your layout.

Title:
Width:
Height:

Copy & Paste Embed Code:

preview