跳转到主要内容
东方龙马 提交于 9 July 2014

原文链接:So What is Acquia Lift, Anyway? (什么是Acquia Lift项目)

译者:MJ

中英对照:

I’ve spent a disproportionate amount of my time over the last year thinking and talking about Personalization in Drupal (just ask my wife), and I’ve had the privilege of working with a brilliant group of people to help design and build a solution for it. Since we launched Lift in February, I’ve also given a large number of demos and discussed Lift in great detail with organizations large and small, learning ever more about what the needs are in the market, and stealing..err..borrowing ideas from them as I go along.

过去一年中,我花了太多的时间在思考和讨论drupal中的个性化问题,并且我拥有一个非常出色的团队来帮助我为此设计和构建一个解决方案。自从二月份我们启动电梯项目以来,我已经给出了很多的演示,通过大的小的各种组织极其详细的讨论了电梯项目,始终学习市场的需求是什么,并且抄袭…犯错…借用他们的想法。

This post marks the first of a multi-part blog series where I hope to distill everything I know about Acquia Lift as a product, as well as personalization, testing and targeting more broadly as we implement these tools.

这篇文章标记了一个系列博客的第一部分,在这个系列博客里我希望提取所有关于Acquia电梯项目作为一个产品我所知道的东西,和个性化一样,随着我们实现这些工具进行更广泛的测试和定向的。

What’s this Personalization stuff?

个性化是什么?

When I use the word “personalization”, I’m talking about showing different things to different site visitors, depending on the visitor’s context. That’s it. I’ll unpack that statement a bit more, but the whole idea is that example.com/my-page can look different for you than it does for me. At it’s most basic level, this could be due to an A/B test being run on the page and you’ve been randomly selected to see a different variation than I have. It could also be because of some targeting rules, so that you’re seeing a variation that’s targeted for people in your geographic region, while I’m seeing a something targeted for people in North Carolina.

当我使用“个性化”这个词的时候,我正在讨论依赖访问者的不同环境给不同的网站访问者展示不同的东西。对这句话我会稍微多解释一些,但是整个的想法是让我的example.com/my-page能够看上去和你的不一样,更加适合我。最基本的,这可能是页面上的一个A/B测试,你被随机的选择到看到一个跟我所看到的不同的变化。也可能由于一些设定的规则,所以你看到的针对你所在地理区域的人们所设定的东西,然而我看到为北卡罗来纳州的人们所设定的东西。

The rules can get a lot more complex than that, but it all boils down to Visitor Context. What can we learn about visitors coming to our sites, and how do we then display different things to different people?

实际的规则将比刚才所说的情况复杂很多,但是可以归结为访问者的环境。我们能从我们网站的访问者那里了解到些什么呢?我们怎么给不同的访问者展示不同的东西呢?

What can I learn about Visitors coming to the site?

我们能从访问者那里了解到什么?

It turns out there’s quite a large number of things we can learn about site visitors, even before they’ve told us anything explicitly. Here’s an incomplete list:

原来我们可以从访问者那里了解到非常多的东西,虽然他们没有明确的告诉我们,以下是一个不完全的列表:

  • Geography — what city, state, country, or classifications about those places such as demographic information.
  • 地理信息-哪个城市,州,国家等
  • Device — What browser, device type or operating system is being used.
  • 设备-什么浏览器,设备类型,操作系统等
  • Referral based — Did you come from social media? email? Google search?
  • 来源-来自社交媒体?邮件?google搜索?
  • URL parameters — Used to tie a visitor to a campaign or a particular ad or email that they saw before coming to the site.
  • URL参数-用来将访问者和他来到网站之前看到的特定的广告或者邮件联系起来。
  • Business based — If you’re using a corporate IP address, what company, company size or industry are you coming from?
  • 基于商业的-如果你在使用公司的IP地址,你来自哪家公司,公司规模或者产业等信息。
  • Behavior based — If you’ve spent a little time on the site, what are your expressed interests and what are you searching or browsing for on the site?
  • 基于使用习惯的-如果你花了很少的一点时间在网站上,你对什么感兴趣,你在搜索什么或者浏览什么?

The list goes on and can sometimes go into areas that are a bit more gray, such as 3rd party cookie tracking services which can tell you about what a visitor has been browsing for on other sites. You're unlikely to see a blog post from me on how to use those .. but they're out there.

这个列表有些处于一点灰色地带,比如第三方的cookie跟踪服务可以告诉你这个访问者在其他网站上浏览了些什么。你不太可能在我的博客文章上看到怎么使用这些东西…但是它们就在哪里。

What about anonymous visitors and site performance?

对于匿名访问者网站该如何做?

This may all sound great, but for the Developers reading this, you’re probably wondering about performance and caching. From a technical perspective, that was one of our biggest concerns as well, so let me spend a little time on this.

听起来一切都是那么美好,但是对于开发人员来说,你可能在开始担心性能和缓存的问题了。从技术角度来说,这是我们最关心的几个问题之一,所以让我花点时间来说一下。

There are roughly three ways we could have approached this problem, all with some pros and cons. At one extreme, we could build an external platform which hooks into our sites through a Javascript tag and manipulates the DOM (the HTML of the page). This works well with site caching strategies, and for sites with a legacy CMS where it’s really hard for a marketer to make changes .. but what about when you have a CMS that’s well tuned for your marketers to use? Do you really want to edit content in two places?

大概的有三种方式来处理这个问题。在一个极端,我们可以创建一个外部的平台,它通过一个javascript标签和操纵DOM(页面上的html)来hook我们的网站。它能很好的工作在网站的缓存策略中,并且对于有一个传统CMS的站点来说,想为市场营销人员进行一些修改是非常困难的,但是当你有一个调校好的CMS时,你怎样为市场营销人员使用?你真的想在两处地方来编辑内容吗?

At the other extreme, we can do really rich personalization inside of the CMS as you’ve been able to do with Drupal for a long time, or you can do the same with Sitecore or Adobe’s personalization systems, but then you’re completely reliant on the CMS, and that means lots more servers. (By the way, with those proprietary systems, you pay for CMS licenses per server, not just the additional cost of the servers).

在另一个极端,我们可以在CMS内部做大量的个性化,跟你已经用drupal做了很长时间一样,或者你可以通过Sitecore和Adobe的个性化系统来做同样的事情。不过当你完全的依赖CMS之后就以为着大量更多的服务器(顺便说一下,这些专有系统,你需要为每个服务器支付CMS的licenses,而不仅仅是服务器的费用)

So is there a middle ground? Well, that’s what we set out to build. We still make heavy use of Javascript as in the first version at run time, but then we use Drupal’s immense flexibility to allow authoring and management to still all happen within the CMS, giving you one canonical source for content and one login to manage for your marketers and content creators. This balance allows us to still do full personalization for anonymous visitors, even when using full page caching with Varnish or serving entire pages through a CDN.

所以,是否有一个妥协的方案呢?好吧,这就是我们打算做的事情。我们像第一个方案一样在运行时仍然大量使用javascript,然而我们利用drupal巨大的灵活性来允许编写新功能和管理网站,使这一切仍然发生在CMS内部,给你一个规范化的内容源,为你的市场营销人员和内容创建人员登录到系统。这种平衡允许我们为匿名访问者提供充分的个性化,即使当通过Varnish使用整个页面缓存或者通过一个CDN来服务全部的页面。

(OK, so there are actually other ways to approach this problem as well, such as Edge Side Includes, but those are very implementation specific and therefore a much harder thing to build into Drupal modules in a flexible way).

(好吧,实际上还有另外的方法来处理这个问题,比如Edge Side Includes动态缓存技术,但是,这些都是非常特定的实现,因此更加困难通过灵活的方式建立到drupal模块中)

High-level Lift architecture

高级电梯架构

“Enough of this overview stuff .. how’s it actually work?!”

“综述已经足够了…这玩意儿到底怎么工作的?!”

Ok, ok .. I’m getting there.

好的,好的..我开始说正题。

So there are roughly 3-10 components that make Lift work, depending on how detailed you count. The first three points below have to do with Drupal modules, so here's what those look like:

有大概3-10个组件来使电梯工作起来,依赖于你计算得有多详细。以下列出的头三点与drupal模块有关,如下图:

Acquia Lift Drupal module architecture

1. The Personalize Module

1.个性化模块

The Personalize module is the core Drupal module that gives us a personalization framework to build on. It handles things like swapping out pieces of a page with Javascript, tracking Visitor Context (as discussed above) and providing a number of plug-ins to extend the system for doing all kinds of neat things. I’ll go deeper into this in a later blog post, but the big takeaways? This can be extended for your own uses and is completely free and open source to plug into any Drupal Site today.

个性化模块是drupal核心模块,它提供给我们一个个性化框架。它控制的事情包括,使用javascript置换部分页面,追踪访问者环境,提供插件扩展系统来做各种优雅的事情等等。我将在稍后的博文中深入讲述这点,但是这个大外卖?这个能被扩展到你自己的应用,并且完全的免费和开源的插入到任何drupal站点中。

2. The Visitor Actions module

2.访问者动作模块

If you’re going to increase conversions, you need to track those conversions. With Visitor Actions, we built a flexible framework for tracking any action on the site, whether client side or server side, and a UI to easily allow non-technicaly people to set these up in the context of campaigns. This probably warrants its own post as well, but the big news here is it’s got a slick UI and it can be used outside of personalization for things like Analytics custom events, Marketing automation and Gamification. I hope to see it adopted more and more in those areas over time. The UI looks like this:

如果你正准备增强转换功能,你需要跟踪这些转换。随着访问者的操作,我们创建一个灵活的框架来追踪这个站点上发生的任何动作,不管是客户端的还是服务端的,操作界面帮助非技术人员很容易的设置他们在活动的背景下运行。这大概还不如授权他们自己发布,但这里的头条是它得到一个聪明的界面,它能被用做在个性化外面的事情上,比如分析自定义事件,营销自动化,游戏化。我希望随着时间的推移它在这些领域能被越来越多的接受。这个界面看起来像这个样子:

Visitor Actions UI

3. The Acquia Lift module

3.Acquia电梯模块

The Acquia Lift Module serves two purposes. A) It adds some nice-to-have but not essential UI elements to personalization. We put this here because we want the Personalize module to be as extensible as possible with as few dependencies as possible. B) Connects to the Acquia Lift service (described next).

Acquia电梯模块有两个目的,A) 它提供一些能有很开心,但是不是个性化基本界面的元素。我们把它放在这里是因为我们希望个性化模块尽可能的可扩展,通过尽可能少的依赖性。B) 链接到Acquia电梯服务(如下描述的)

4. The Acquia Lift service

4.Acquia电梯服务

OK, so everything above is free and open source Drupal modules, so why have a SaaS service? Well, remember how I said this will work with full page caching? If you’re going to do more sophisticated logic, you’ll still need a service to make some decisions for you. That’s where Acquia Lift comes in. This is an API based web service which handles A/B testing, MVT testing, auto-personalization based on statistical models, and a variety of additional Visitor Context such as geo targeting. One neat thing is that you can use the modules above without subscribing to the service. Later blog posts will detail some pretty neat personalization you can do without a subscription, but for now I digress.

Ok,以上所说的所有东西都是免费和开源的drupal模块,那为什么有一个SaaS服务?好吧,记得我是怎么说的,它将能用于整个页面缓存?如果你准备做一些更加复杂的逻辑,你仍然需要一个服务来为你做出一些决定。这就是Acquia电梯的来源。它是一个基于web service的的API,可以操纵A/B测试,MVT测试,基于统计模型的自动个性化,各种各样额外的访问者环境,比如地域定向。一个优雅的事情是,你可以使用以上这些模块而不需要订购服务,迟些的博文将详述一些漂亮优雅的个性化,你能不订购服务也能做的。

5. TruCentric

5. TruCentric公司

We recently announced that a Toronto based company called TruCentric has joined the Acquia team. They bring a lot of powerful capabilities to what’s described above, but the initial piece that we’re rolling out shortly is behavior based targeting. This means that you can learn about a visitor’s interests while on the site and tie that across sessions and devices to deliver truly personalized experiences to each visitor on the site. This warrants a few posts on its own, so I’ll leave it at that for now.

最近我们公布的一个总部在多伦多名叫TruCentric的公司已经加入到Acquia团队中。他们带来了很多有力的上面说的那些功能。但是我们马上正在延伸的一开始的那段是基于行为定向的。这意味着你能了解到一个访问者在网站上的兴趣点,并且关联到会话和设备来为每一个网站访问者传递真实的个性化体验。

There are sub modules in a number of these and lots of things that Lift and TruCentric can do, so that’s why I said 3-10 depending on how you count.

有一些子模块和很多的事情电梯和TruCentric公司能做,这就是为什么我说3-10依赖于你怎么计算。

Questions? Comments?

问题?评论?

As I said, this is way too much to cover in a single post. Some future posts will include a deep dive of the Personalize module, how-to walkthroughs of specific things you can do with the service, tips and tricks for getting the most out of A/B testing campaigns and targeting, and much more.

就像我说的,一篇单独的博文里要覆盖太多的东西。一些将来的博文将深入讨论个性化模块,指引你通过服务能做的一些特定的事情,小技巧,充分利用A/B测试活动和定向等等。

What do you want to know about this stuff? Please add questions to the comments here. If they’re quick answers, I’ll try to go into it there. If they’re longer answers, I’ll put the answer in it’s own blog post. You can also reach out to me on twitter at @daveaingram.

你还想知道点什么?请添加问题到评论里,如果它们能快速回答,我将尝试加入进来。如果是很长的回答,我将把答案放到它们所属的博文里面,你也可以在twitter上@daveaingram。

Talk to you soon!

我会很快回来的!

Drupal 版本