序
人生短短几个秋,不醉不罢休。
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个后台)
- 某一天接口参数要调整,尴尬了。。
- 某一天交互样式要调整,尴尬了。。
- 某一天要支持几个新品类,尴尬了。。
- 某一天领导说,请把A后台的功能移植到B。。。
- …
- 最最尴尬的是,每一个后台,都要有人会维护。巴士系数
请自行百度:软件危机。
当然这个团队还能生存,只是不能再开心了。
》我们的哲学《
先小小的估算下,我们赢得的时间。
涉及类型(6)*涵盖品类(10)*50/人天 = 3000/人天
当然,这种估算,有失公平公正的原则,但如果加上软件后期的维护升级等因素后,产生的综合成本,差不多就是这个值。
不产*,不做Code Monkey。
技术带动生产:
- 快:平均每月孵化100个页面。
- 复用:通用模板复用率达60%。
- 组件:业务模块12+,支持产品、广告、点评、BI、POI等。
- 配置:前端搭楼层,运营配数据,和谐共生。
一套设计
数读:页面2200+、区块82W+、模块195W+、模板2K+。
模块
模块是CMS的灵魂,也是数据之源。
模块引擎规定每个模块类必须具备3个基础组件:
- TPL:模板引擎(数据+样式)
- Model:数据模型(绑定数据)
- Parser:解析器(生成数据)
模板
模板是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设计。
页面标签:
标签 | 备注 |
---|---|
{cmsHeader} | 公共头部导航 |
{cmsTkd} | SEO-TKD |
{cmsTuniuPhone} | 预订电话 |
{cmsRecommend} | 个性化推荐 |
模块标签:
类型 | 标签 | 备注 |
---|---|---|
产品 | {prdName} | 产品名称 |
产品 | {prdTuniuPrice} | 产品途牛价 |
产品 | {prdGaTrack} | 产品GA跟踪 |
产品 | {prdQrcode} | 产品二维码 |
广告 | {adMainTitle} | 广告主标题 |
爆款 | {prdBKDeposit} | 爆款订金 |
点评 | {remarkContent} | 点评内容 |
游记 | {tripTitle} | 游记标题 |
机票 | {flightPrice} | 机票价格 |
*行 | {playFeature} | 玩法亮点 |
一点感悟
由于篇幅限制,不能穷尽CMS的方方面面。通过CMS研发,也使团队更明确一个方向。
用技术带动生产。
当看到CMS高效运转时,我们是开心的。
然而,今年我们力争攻克另一座高地。
用数据驱动运营。
加油,运营研发。