华为开发者社区官网是华为ICT(信息和通信技术)产品和解决方案的展示平台和服务与支持平台。众所周知,华为是全球ICT的领头羊和探路者,其产品和解决方案覆盖了全球170多个国家,服务全球超过三分之一的人口,由此也可见华为对此官网的重视。
华为开发者社区官网是一个多语言网站,主要内容包含了5个方面:产品和解决方案、学习培训、开发装备、资源中心以及活动。其中产品和解决方案又被分为14个生态圈,每个生态圈独立运营内容且权限分离。
为什么选择Drupal?
华为开发者社区官网是华为使用Drupal 开发的第一个项目,经过近一个月地调研和筛选,发现Drupal 在多语言、多用户角色、权限管理、工作流,内容分类等方面都有很好的支持,并且Drupal 开源且在业界有很好的口碑,才下定决心使用Drupal。最终的结果也没有让他们失望。
项目描述:
-
块状内容单元
由于该项目有10多种内容类型,且每种内容类型展示的内容单元都有交叉,比如都会有视频,幻灯片,图片+链接,图标+标题+内容,背景图+描述等,所以基于内容类型的数据结构设计并不合适,我们将这些内容单元进行归类,得到10多种内容单元,同一个内容单元再通过外部容器(容器按照不同的长宽比可分为1*1、2*1、2*2、4*2等)控制,就可以得到更多的展示样式。这些独立的内容单元,再通过所属内容和所属楼层进行布局管理。
上图为4种不同的内容单元组成的两个楼层(“专家支持”和“教程和培训”)
-
基于楼层的内容组织
多个块状内容单元排列成一行,就是一个楼层,如首页的热门推荐,新闻资讯等。我们使用Drupal 的Taxonomy 为不同的生态圈建立了独立的楼层,不仅可以通过楼层组织内容,还可以通过调整楼层顺序修改页面布局,并且自动生成基于楼层的锚点导航。
上图为楼层和基于楼层的内容锚点展示
-
基于生态圈的内容管理与设计
网站上的内容都包含生态圈属性,只有该生态圈的管理员才能管理该生态圈下的内容。我们创建了生态圈内容类型,在楼层,内容,用户中添加了生态圈的关联。实现对内容的添加,修改,删除以及管理页面的权限分离。
-
配置迁移
通过Features、Features Override、Strongarm等模块的配合使用,实现了配置与内容的分离(配置在代码中,内容在数据库中),不仅简化了升级部署流程,大大提升了效率,而且降低了出错率。