文档章节

途牛原创|运营神器之高效的CMS

ftwbzhao
 ftwbzhao
发布于 2016/05/12 16:00
字数 1436
阅读 124
收藏 9

人生短短几个秋,不醉不罢休。

CMS即将迎来2周岁生日,服务期间生产了*2200+*个内容页面。(平均每月孵化100个页面

CMS的全视角:

  • 覆盖范围(PC、M、APP)
  • 业务支持(周年庆,旅游节,营销,专题,主题游,频道页)
  • 涉及品类(跟团,自助、自驾、当地、酒店、签证、金融、通信、攻略、玩法、超级自由行)
  • ...

下面请跟随CMS大喇叭,一睹“运营播种机”的前世今生。

一些想法

CMS诞生之初,来源于这些想法:

  • 建立一个配置灵活、管理高效的网站页面创建和运营的管理平台。
  • 加快网站创建产品聚合页的速度,依靠主题模板可以快速生成频道页和专题页。
  • 增加网站产品聚合页面的主题风格,基于区块和模块的自由组装,更具灵活性。
  • 提升产品运营的效率,运营人员根据运营监测结果可以快速调整产品露出策略。

第一个孵化页面~高端游~。

一段历程

》》》业务不断,升级不止《《《

支持过的大促

8周年-双11-双12-旅游节-9周年-双11-双12-旅游节-...

Release Notes:

  • 04/18/2016:CMS/8.0.5发布,支持RBZ模块配置。
  • 04/04/2016:CMS/8.0.4发布,支持金融标签。
  • ...
  • 12/21/2015:CMS/6.3.3发布,支持M&APP主题游配置。
  • 12/18/2015:CMS/6.3.2发布,支持超级自由行模块配置。
  • 12/12/2015:CMS/6.3.1发布,支持M&APP频道页配置。
  • 12/09/2015:双12
  • ...
  • 09/29/2015:9周年
  • ...
  • 08/21/2015:CMS/5.0发布,支持M&APP首页配置
  • ...
  • 07/08/2015:CMS/4.3.2发布,对接特卖2.0系统。
  • ...
  • 04/15/2015:CMS/2.9.7发布,支持当地玩乐配置。
  • ...
  • 03/18/2015:CMS/2.9.4发布,支持游记模块配置。
  • 03/11/2015:CMS/2.9.3发布,价格体系标签(323大促)。
  • 03/09/2015:CMS/2.9.2发布,支持预览。
  • 03/04/2015:CMS/2.9.1发布,支持渠道适配(360)。
  • 02/09/2015:CMS/2.8.2发布,支持目的地模块配置。
  • 02/02/2015:CMS/2.8.1发布,支持运营模块配置。
  • 01/26/2015:CMS/2.7.1发布,支持促销主题补全(大促)。
  • ...
  • 12/04/2014:CMS/2.5.4发布,对接招客宝。
  • 11/26/2014:CMS/2.5发布,支持爆款产品。
  • 11/21/2014:CMS/2.4.3发布,支持业务打点统计。
  • 11/14/2014:8周年
  • 11/05/2014:CMS/2.4.1发布,与PC分类页集成(小站化)。
  • 10/31/2014:CMS/2.4发布,支持POI模块配置。
  • 10/22/2014:CMS/2.3发布,支持点评模块配置。
  • 09/16/2014:CMS/2.0发布,支持页面级标签配置。
  • 09/09/2014:CMS/1.9发布,支持区块聚合。
  • 09/01/2014:CMS/1.1发布,支持亲子游配置。
  • 08/27/2014:CMS/1.0发布,支持高端游配置。

语义化版本控制规范

一组对比

》传统的研发套路《

某一个团队,搭一个后台,服务端,前端,各种开心的用了50人天完成了1.0。

然而,熟悉的故事开始了。类似的后台如雨后春笋之势席卷而来,小伙伴们深陷其中,久久不能自拔。

悲情的假设也开始了。(还好不多,就6个后台)

  1. 某一天接口参数要调整,尴尬了。。
  2. 某一天交互样式要调整,尴尬了。。
  3. 某一天要支持几个新品类,尴尬了。。
  4. 某一天领导说,请把A后台的功能移植到B。。。
  5. ...
  6. 最最尴尬的是,每一个后台,都要有人会维护。巴士系数

请自行百度:软件危机

当然这个团队还能生存,只是不能再开心了。

》我们的哲学《

先小小的估算下,我们赢得的时间。

涉及类型(6)*涵盖品类(10)*50/人天 = 3000/人天

不产轮子,不做Code Monkey。

技术带动生产:

  • 快:平均每月孵化100个页面。
  • 复用:通用模板复用率达60%
  • 组件:业务模块12+,支持产品、广告、点评、BI、POI等。
  • 配置:前端搭楼层,运营配数据,和谐共生。

一套设计

数读:页面2200+、区块82W+、模块195W+、模板2K+。

CMS模块解析

模块

模块是CMS的灵魂,也是数据之源。

模块引擎规定每个模块类必须具备3个基础组件:

  • TPL:模板引擎(数据+样式)
  • Model:数据模型(绑定数据)
  • Parser:解析器(生成数据)

CMS模块解析

模板

模板是CMS的骨架,CMS的模板分为两种:

页面模板(页面布局):


<html>
<head>{cmsTkd}</head>
<body>
{cmsHeader}
<div id="page1200">
{{cmsContent}}
</div>
{cmsExtendCss}
{cmsGaTa}
</body>
</html>

模块模板(产品推荐模块):


<!-- proRecomModule prdMblack start -->
{{#cmsPrdItems}}
<div class="item line_item">
  <div class="pic">
    <span class="flag_icon">
      {{#prdIsNiuRen}}
      <i class="flag_niuzhuan"></i>
      {{/prdIsNiuRen}}
    </span>
  </div>
  <div class="price">
    <span>¥</span>{{prdSalePrice}}起
  </div>    
  <div class="pro_name">
    <a href="{{prdLinkUrl}}">{{{prdName}}}</a>
  </div>
</div>
{{/cmsPrdItems}}
<!-- proRecomModule prdMblack end -->

标签

标签是模板和数据的桥梁

CMS标签语言基于Mustache设计。

页面标签:

标签 备注
{cmsTkd} SEO-TKD
{cmsTuniuPhone} 预订电话
{cmsRecommend} 个性化推荐

模块标签:

类型 标签 备注
产品 {prdName} 产品名称
产品 {prdTuniuPrice} 产品途牛价
产品 {prdGaTrack} 产品GA跟踪
产品 {prdQrcode} 产品二维码
广告 {adMainTitle} 广告主标题
爆款 {prdBKDeposit} 爆款订金
点评 {remarkContent} 点评内容
游记 {tripTitle} 游记标题
自由行 {playFeature} 玩法亮点

一点感悟

由于篇幅限制,不能穷尽CMS的方方面面。通过CMS研发,也使团队更明确一个方向。

用技术带动生产。

当看到CMS高效运转时,我们是开心的。

然而,今年我们力争攻克另一座高地

用数据驱动运营。

加油,运营研发。

© 著作权归作者所有

ftwbzhao
粉丝 4
博文 4
码字总数 6858
作品 0
南京
程序员
私信 提问
途牛原创|无线中心运营研发Redis酷实践

Redis-简介 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从...

ftwbzhao
2016/05/12
52
0
途牛原创|基于EAV模型的运营系统架构实践

序 本文将介绍如何基于 EAV 模型,来构造一个准自动化的运营系统,服务运营研发部的相关工作。 我们的痛点 运营研发部对接三端(PC、M、APP)后台工作,劳心劳力。。。 头疼的稀疏表( 稀疏表...

ftwbzhao
2016/05/12
53
0
途牛原创|大话权限中心的PHP架构之道

序 权限管理是无线运营系统中的核心模块,通过访问控制策略的配置,来约定人与资源的访问关系。 本文着重讲解如何通过PHP来构建一个灵活、通用、安全的权限管理系统。 关于权限 首先我们来聊...

ftwbzhao
2016/05/12
98
0
途牛被曝裁员400人?

  从21日开始,陆续有认证为“途牛员工”的用户在某社交平台爆料,位于南京的途牛旅游网总部12月21日上午9点半左右突然辞退大约400人。   这已经不是途牛第一次陷入“暴力裁员”的舆论风...

镁客网
2017/12/25
0
0
第十期魅族技术开放日现场纪实―自动化运维

  【IT168 评论】9月23日,麦思博与魅族联合主办的第十期技术开放日:构建自动化运维,在上海成功举行。最近几年,从数据库等基础架构到云计算等应用领域,从MVC到微服务等开发模式,从laa...

it168网站
2017/09/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器

一、前言 最近花了一个月时间完成了一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器,目前项目代码已基本完成 止步传统CRUD,进阶代码优化: 该项目可根据数据库字段动态生成 controll...

郑清
20分钟前
2
0
javascript-十六进制随机颜色

<script> // 编写一个函数,获得一个十六进制的随机颜色的字符串(如#20CD4F) // function randomColor(){ // var r = random(0,255).toString(16); // var g = random(0,255).toString(16......

ACKo
22分钟前
2
0
springBoot +mybatis 出现sql 语句在数据库可以查询到,但是赋值到实体类上就没有的情况?

1.不要老是反复查看自己是否写错了,为啥有的能出来有的出不来? 可以查看配置文件中是否配置全: 如果在application.yml 文件中是如下配置: mybatis: mapper-locations: classpath:mapp...

kuchawyz
35分钟前
2
0
正则表达式

一、RegExp对象 进行验证和查找的API 1、创建对象: (1)用/创建(直接量):var reg=/正则/ig,表达式固定不变时使用 (2)用new创建:var reg=new RegExp(‘正则’,‘ig’),表达式需要...

wytao1995
35分钟前
2
0
实战限流(guava的RateLimiter)

关于限流 常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取...

程序员欣宸
36分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部