Friday, November 16, 2007

公司门户改版手记

day 1

公司网站改版,索性扔掉 drupal 改用 symfony,维护起来会方便很多。

试试 bleeging edge trunk 先,大体上是一致的,虽然半年没用 symfony,遇到问题参考 symfony/docs 和以前代码即可, 未更新到 symfony 1.1 的 plugin 直接 svn export 过来,大多可以正常使用,一切设定停当,移植 utilities 和 basic class,卡壳在 propel,symfony 1.1 将 propel 拆分出去为单独的 plugin (which is good),从现在看来还不稳定,并且实际使用的话,需要 compat 10 layer,旧的 helper 系统还未移植过去。1.1 的 widget、validator、event 等都还没有文档。时间紧张,没有时间看代码 debug(还记得 symfony 1.0 beta 时候花费很多时间找 symfony 的 bug),所以做出决定,放弃 symfony 1.1!

回到 1.0 stable,再熟悉不过了,搭建基本系统,配置数据库,创建 frontend app,安装 plugin,试验 sfGuardPluin 一切停当之后,发现非常之 lack of feature! 没有 editor profile,request password,RBAC 对公司门户来说是杀鸡用牛刀,放弃 sfGuardPluin。

从以前项目移植 signup/login/user 等,一切顺利。

新的网站需要 blog 系统,sfSimpleBlogPlugin 功能简单,本这够用就好的原则,安装测试,buggy,propel-build-model task 失败(sfGuardPlugin 正常),最致命的是无法定制 module 名称,http://blah.com/sfSimpleBlog 这样的 URL 对我来说是无法接受的,放弃 sfSimpleBlogPlugin。

两次使用 plugin module 的失败经验让我确信不用再看 sfSimpleCMSPlugin 了,新闻栏目本来需求就很简单。

try, try, try,try 掉宝贵的一天时间。明天任务很重了。

day 2

创建 backend app,移植 layout,menu system。

创建 blog 数据库 schema,用以前写的 Comment plugin scaffolding 出基本的带评论功能的 frontend blog module。CommentHelp 是 ajax based,对这个项目来说太复杂了,注释掉 templates 中用于 display comment 部分的代码,放到后面再考虑。

使用 propel-init-admin 创建 blog post, blog post comment 后台模块,定制 generator.yml,增加 TinyMCE 编辑器, 导入 sfMediaLibaryPlugin 提供图片媒体支持,搞定 blog 后台部分。

news schema,后台模块;ask schema,系统后台。fixture 功能还是比较若,手工写代码初始化测试数据。

day 3

移植分页系统,更新分页 helper,开始 blog 前台部分,列表需要现实博客文章 summary,暂时去除 html tag 好了,抓出一段完整的 html tag 的话,估计会比较浪费时间,之前使用 drupal,这个问题就让我非常不爽。

blog 的显示页面,URL 使用 permalink,格式为 blog/:year/:month/:day/:permalink,permalink 为去除特殊字符后的 title,对 SEO 稍有好处。

新闻、问题前台。about 模块,添加 routing 保证 URL 和原系统一致。

首页,CSS fixing。

用户个人信息设置,找回密码功能。

testing, bug fixing。

上线。

day 4

使用 sfSugarCRMPlugin 模块处理 lead caputures。

使用 awstats 分析日志,找出 Error 404。调整 routing,保证旧系统链接可用。

SEO,添加 meta 信息,调整系统 title。

添加 RSS blog 订阅功能。

We are done!

No comments:

Post a Comment