Showing posts with label PHP. Show all posts
Showing posts with label PHP. Show all posts

Tuesday, December 04, 2007

sugarcrm 定制开发小帖士

定制重复记录发现

sugarcrm 中的姓和名是分开的,对于中文来说,只需要一个字段即可,我们这里只使用了 last_name,first_name 一律留空,便于搜索。 sugarcrm leads 的“重复记录发现”功能默认匹配 first_name 和 last_name 字段,需要将 first_name 关闭。 打开 $PATH/include/SugarObjects/templates/person/vardefs.php,注释掉 first_name 的 merge_filter 键:

'first_name' =>
  array (
   'name' => 'first_name',
   'vname' => 'LBL_FIRST_NAME',
   'type' => 'varchar',
   'len' => '100',
   'unified_search' => true,
   'comment' => 'First name of the contact',
/** start customization */
           //'merge_filter' => 'selected',
/** end */   
          
  ),

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!

Friday, March 04, 2005

PHP大步踏入企业市场?

LinuxAid 传出的新闻:

25日,IBM宣布,将公司的30件开源项目在著名开源网站SourceForge.net上发布。同时IBM还表示,为将公司的开源 Java 数据库 Cloudscape 与网页编程语言PHP相结合,即将与PHP工具企业ZendTechnologies进行合作。

http://blog.oseac.org/archives/45-IBM-aec-30-aeca-SourceForge.html

http://www.linuxaid.com.cn/infos/1/5/155623323.shtml

前 天在 agileph 见到有朋友说 IBM 开始支持 PHP,看来说的就是这个事情,PHP 5 发布已经半年多了,可能已经部分使用在了一些生长环境中,而在开发领域大家可能更多的是考虑PHP5 了,相对来说 PHP5 的面向对象要完善的多,也有错误处理以及更容易的处理 XML。

不过这些看看上去都不足以促使 IBM 加强对 PHP 的支持,在我一直的看法中,IBM 如果去做一件事情,那么肯定是可以为其以后带来利润或者说一些增长点。结合一些新闻中有一些数据“据IBM提供的数据,PHP 在 Web 开发领域占40%的份额,以基于PHP的Apache服务器作为Web服务平台的占到70%以上”,暂且不论数据的来源以及准确度,这 40% 大约是吸引 IBM 进入的真正原因?

不管其商业目的如何,这对 PHP 来说都是一个机遇,没有商业的支持,解决方案,PHP 或许永远都只是说笑中的“个人主页系统”。

相关新闻链接:

IBM和Zend签定PHP开发协议 积极推广开源产品

IBM推动PHP发展,是否寻求Java替身?

Friday, January 21, 2005

Open Source 项目管理软件

做个简单记录,有时间整理。

PHP:

dotProject:http://www.dotproject.net/

group-office:http://group-office.sourceforge.net/

phpcollab:http://www.php-collab.org/

netoffice:http://netoffice.sourceforge.net/

XOOPS Forge:dev.xoops.org

Wednesday, January 19, 2005

phpBB 下一个发布版本将是 3 系列

phpBB 官方消息,下一个发布版本将不在是 2.2,取而代之将是代号为“Olympus”的 phpBB3,官方称,这是由于其版本改变太大,与 2 系列不兼容,所以命名为 2.2 不再适合,而跳到版本 3 系列符合命名规则。并且称,并非于其它 php 的 BBS 系统竞争的缘故。

psoTFX 同时还透露"Olympus" 新特性还包括一个由 subSilver 的设计师设计的新样式,并且非常漂亮,但是现在不会放出,需要等到三月份时候与 phpBB3 同时放出。

霍霍,是不是很期待了呢?

全文见:

http://www.phpbb.com/phpBB/viewtopic.php?f=14&t=256072

Wednesday, August 18, 2004

XOOPS 的 Session 不会过期问题

PHP 中的 session 由 session.gc_maxlifetime 控制,超过 session.gc_maxlifetime 时间的被垃圾处理函数回收。 最近用 xoops 的时候发现很怪的问题,session 不会失效了,期间没有动过程序,升级过一次 PHP,配置文件用的是 php.ini-recommended,查看 php.ini 发现 session.gc_divisor 为 1000,相应的 session.gc_probability 为 1,\ 也就是说 session 初始化 1000 次才会有一次调用垃圾处理函数(按照几率来算的),而测试站点根本就没有什么访问量,导致 session 不会过期,将 session.gc_divisor 改为 php.ini-dist 中的 100,问题解决 。 记录在此备查。

Friday, April 16, 2004

Mambo CMS安装

1。下载mambo #mkdir mambo #cd mambo #wget http://mosforge.net/frs/download.php/337/MamboV4.5-Stable-1.0.7.tar.gz 2。解压 #tar zxvf MamboV4.5-Stable-1.0.7.tar.gz 3。安装 直接到输入 Mambo 目录 URL进行安装,会自动定位到安装目录: http://192.168.48.129/mambo/ 如果有不满足的条件会有提示,根据提示修改即可,我的是目录权限有问题: #chmod -R 707 images media uploadfiles components language modules templates administrator/backups administrator/components 修改过权限后刷新 mambo 的 URL,只有: configuration.php Unwriteable 这么一个条件不满足,不过提示是此文件会自动生成,可以继续安装。 点击 Continue。 4。数据库配置 在此页填写正确的数据库信息,如:localhost、用户名、密码、数据库名称。 底下有几个单选框用于删除表、备份表、使用简单数据库、使用帮助,默认就可以了。 点击 Next。 5。其它 在这个页面输入站点名称,Next后填写你的 E-mail、密码其它默认,然后 Next,将下面生成的内容保存到 mambo目录下命名为 configuration.php,修改权限: chmod 644 configuration.php 点击 Run OK。 6。管理 管理登陆页面在: Go to http://www.yoursite.com/administrator/ 用户名 : admin 密码 : 你自己设定的 默认的 template 非常漂亮,我很喜欢。

Friday, December 12, 2003

drupal很不错

无意中去MagicLinux逛 逛的时候发现网站系统已经由wiki的cms换成了PHP blog的,magiclinux官方网站的维护者jackey觉得原先的wiki系统太慢了,于是商议一下决定转换后台系统,drupal成为了他们最 终的选择,: ),偶也有幸了解倒这么样一个系统, xoops的开发者goghs在他的blog里面也谈到了durpal,他认为drupal会是xoops的一个竞争者,可见功力之深。