Drupal是一个免费的、开源的、具有模块化框架,使用PHP开发的网站内容管理系统。 它允许网站管理员创建和组织网站内容、定制网站的表现形式、自动化管理工作以及管理站点的用户。它有着相当活跃的开发社区,全世界广大的开发者为它创造了成千上万的功能模块,使 Drupal 能被广泛地应用于各种类型网站的建设。同时,Drupal 本身也是一个具有优良架构设计的网站系统。
通常的Drupal网站项目流程同一般网站建设项目,差异不大,但也有其特殊性。从需求分析、系统页面设计再到实现、测试,以及上线后续维护都是网站项目管理的核心工作流,在下文逐一列举中会涵盖Drupal的特点进行简单分析。
需求分析
在用Drupal建站之前,需求分析是首先进行重要的事。尤其是前期了解需求的时候,尽量多的采集客户可以明确的需求信息,例如网站的结构,一共多少层级纵深的页面,站点地图,首页希望着重展示的内容,核心子页面的内容、分类,功能清单,语言种类,移动端自适应等,细节可以在另外一篇博客中详细了解:如何做好网站项目客户沟通
尽管Drupal已提供了普通网站的大部分功能,但是仍需要准确的收集客户需求,并以此来指导网站的建设。与其他系统不同的是,在进行需求分析时,要充分利用Drupal现有功能的可用性,力求用最小的改动满足网站的要求,这个阶段要确定网站的业务需求、功能需求以及非功能需求。
与客户多次沟通确定完需求,拟定好合作事宜后,便是需要制定一个项目预估的timetable,确定一些关键任务时间点,便于外部客户的督查,也便于内容项目进度的考核。
同时,服务器的选择与购买,备案工作的准备,都可以在前期协商制定。
设计
设计阶段的主要工作是:根据需求分析获得的功能列表,逐步地设计好相关的页面,使用户能够使用这些功能。通常如果时间、条件允许,最好在出完整的psd设计稿之前,预先制作一份原型设计,它能够给到清晰的页面直观感受,页面简单布局,功能的罗列展示,甚至部分交互体验。这不仅给到客户以初步的网站设计蓝图,以满足客户前期了解所设计网站的大体轮廓,并能促使快速获得需求反馈,减少迭代开发的效果,从而减少返工,提高效率。
值得说的是,核心功能通常不是一个简单的操作,而是一个系列的动作,这称为工作流。如何在网站中实现工作流,是设计阶段的重要任务。设计这些功能时,要充分考虑Drupal给予的解决方案,力求最小的更改满足目的。在设计阶段,需要把一些重要的页面确定下来,一方面便于开发者对网站有个总体的印象,另一方面也让客户能明确自己的需求。对网站要管理的内容进行分类,创建相应的内容类型,确定系统所需的用户角色与权限,是Drupal和其他内容管理系统建站过程中的重要任务。在确定了网站的页面设计后,需要为Drupal选择主题,主题的制作是非常关键的开发步骤,它是用户所看到的最终界面。网站的成功与否,很大一部分取决于用户对各个页面的认可度。如果Drupal自带的主题或者第三方的主题不能满足需求,则需要开发自定义主题。最后,确定建站需要的Drupal核心模块以及第三方模块,尽管Drupal有成百上千的模块可供使用,但一定要遵循环保原则:尽可能地利用Drupal自带的功能来完成。这样做既可以保证网站质量,又可以减少管理和维护成本,同时增强网站的性能。
其实,即便网页设计师不是技术背景出身,但与其沟通的时候,这些功能类型也要尽可能去传达,罗列必要的功能清单与工作流逻辑,让设计师有大致的了解,这样设计出来的页面效果才会更接近客户的真实需求。这部分详细的介绍可以在:如何与设计师和程度员有效沟通中了解更多。
实现
在设计工作基本完成后,可以进入开发阶段。首先,基本的安装配置Drupal和需要使用的第三方模块、主题,创建设计总结的内容类型,并适当地为每个内容类型增加一些测试用节点,创建系统所需的用户角色,并根据设计的权限表来分配相应的权限,分配权限的任务一般都在模块全部开启完毕后进行,因为模块会在开启时,将其自带的权限注册到系统中,对选定的主题进行配置或者进行自定义主题的开发。
这些基本的配置完成,便到了主体开发的过程,这期间需要定期汇报进度与成果给到客户展示,并收集反馈,过程中难免会提出修改反馈意见,这时候就要酌情商量,保持节约开发成本的原则沟通修改意见,以加快项目进度,避免过多返工,尽量按时交付。
测试
软件测试是软件开发过程的重要组成部分,是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审。使用Drupal开发网站可以减少很多测试的工作量。因为它本身带有很多基本功能,这些功能都经过充分测试的。尽管不能保证100%没有Bug,但比全部重新开发的网站测试任务量要小很多。尽管如此,在网站发布之前,一定要对系统的主要功能进行充分测试,并在模拟生产环境中测试,在正式分布前解决尽可能多的问题。Drupal有一个第三方模块SimpleTest,它是Drupal开发中最常用的单元测试模块。
对于bug追踪,通常由于开发团队自身的工作人员几乎都参与了网站的各个环节,太熟悉网站结构与内容了,反而不容易发现一些偏小白一点的错误bug,这时候其实找第一次接触该新项目网站的人员进行全站点扫描式的浏览测试是效果最好的,往往能发现开发团队意想不到的问题。
后续与总结
通常在开发到尾声阶段,反复检查修复bug是重点工作,直到与客户确认站点基本无误后,便可以将测试用站点迁移到正式服务器,IP域名绑定,再将一些配置、路径做二次检查调整,确保正式网址内所有链接真实有效。本文提到的Drupal项目管理方法并不是标准的或者固定的,不同的项目和不同的团队可能有不同的开发方式,需要根据实际情况而已。