Drupal seminar slides - topics include geodistributed services, multilingual sites and SOLR, user engagement with Drupal, community sites, Drupal Commerce, social buying powered by Drupal.
3. Agenda
14.00 Opening words Janne Kalliola, Exove
14.10 Creating globally distributed
services with Drupal
Kalle Varisvirta, Exove
14.25 Case: Tekla User Assistance Tommi Hautalahti, Tekla
14.40 Increasing user engagement in
Drupal sites
Jaakko Laurila, Exove
14.55 Case: Demi.fi Antti Salonen, A-lehdet
15.10 Break
15.20 Doing eCommerce with Drupal John Kennedy,
Commerce Guys
15.35 Case: Netoutlet – Social group
buying
Jerker Holma,
Netoutlet Finland
15.50 Discussion
5. How to create a service that fits your current
needs, handles SoMe well, integrates to your back-
end systems, has an excellent search – with facets
and drill down, supports number of languages
(including, but not limited to Mongolian), serves
users blazingly fast in the four corners of the world,
does e-commerce in multiple countries, currencies
and languages, has custom workflows for your
editorial team not to ruin the site by accident, and
allows your business to grow to some direction you
did not have a clue when the project started?
7. As of January 2013, there are more
than 20,100 free community-contributed
addons, known as contributed modules,
available to alter and extend Drupal's
core capabilities and add new features
or customize Drupal's behavior and
appearance.
http://en.wikipedia.org/wiki/Drupal
8. Drupal.org has a large community of
users and developers, with over 913,000
user accounts and over 22,600
developer accounts (As of December
2012).
http://en.wikipedia.org/wiki/Drupal
16. 60 people, over 150 customers,
over 3.5 MEUR revenue 2012, profitable,
offices in Helsinki, London & Tallinn
17. Agenda
14.00 Opening words Janne Kalliola, Exove
14.10 Creating globally distributed
services with Drupal
Kalle Varisvirta, Exove
14.25 Case: Tekla User Assistance Tommi Hautalahti, Tekla
14.40 Increasing user engagement in
Drupal sites
Jaakko Laurila, Exove
14.55 Case: Demi.fi Antti Salonen, A-lehdet
15.10 Break
15.20 Doing eCommerce with Drupal John Kennedy,
Commerce Guys
15.35 Case: Netoutlet – Social group
buying
Jerker Holma,
Netoutlet Finland
15.50 Discussion
20. Network speed
§ The problem is that internet isn’t unlimited in
speed
§ Internet actually isn’t even as fast as the speed
of light, due to routers and media
transformations (not far from it, though)
§ And the route fromAto B is not straight, not
even close
22. Why latency is bad for
web?
§ Ping is not the whole truth
§ Just the TCP connection opening sequence
takes three round-trips
§ This is very bad especially for websites that have a
lot of separate CSS, JS and image files (aggregation,
anyone?)
§ With over a 300 ms latency on the network,
even a lightning-fast website feels sluggish
23. TIP #1
All continents (with actual
business interest) should be
served with a local server
24. I HAVE A “REGULAR”
WEBSITE RUNNING
DRUPAL
Anonymous traffic onto
a Drupal site? Easy.
25. Anonymous traffic to
Drupal
§ Easiest would be to use a CDN to cache your
site’s all files, including pages
§ Akamai,Amazon CloudFront, choose your blend
§ Don’t want to use a CDN?
§ Install a server running Varnish locally on all
continents and handle directing traffic with GeoDNS,
i.e. DIY-CDN
§ Replicating content, files and database etc?
§ Don’t bother if your focusing on anonymous traffic
27. TIP #2
Anonymous traffic is easy to
serve around the globe with a
simple CDN contract and a
couple of bucks for the
bandwidth
28. I HAVE DRUPAL-DRIVEN
COMMUNITY SITE
Whoa, friend. Then you’re in
for some configurations,
installations and a lot of tuning.
29. Logged in traffic to Drupal
§ You can start by looking at this from two different
options
§ Install Drupal around the world and try to sync that all
§ Install Drupal only to “main” and cache as much as
possible locally
We’ve tried them both.
30. Installing Drupal around
the world
§ Installing Drupal around the world is not the
problem – syndicating Drupal’s content is
§ If it’s okay to sync slowly or just sync content
one way, you can do it “on” Drupal, by Drupal’s
own tools
§ Feeds and feeds import + services would be a good
set to start this journey
§ Complicated syncing strategies are out of question, a
complicated site with a lot of different content types all
to be synced: forget this
31. Installing Drupal around
the world
§ If you need everything synced, you can try
syncing Drupal on database level with master +
multi-slave
§ Sync files too
§ With Drupal’s database read/write splitting,
direct all the write traffic to the database master
overseas, but read locally
32. Installing Drupal around
the world
§ This doesn’t work flawlessly with all Drupal
modules, as we found out
§ Actually, even core kind of spoils the whole thing
with its init commands (we’ve commited a patch
for that)
§ Making sure only the read queries go to the
master proved to be a lot of work
34. One Drupal – cache all you
can
§ The other option was to install Drupal to master only
and cache as much as possible
§ This can be done with a couple of Drupal modules
focusing on caching logged-in-users data, such as
ESI (works withAkamai CDN) and Exove’s Cache
Control (CDN support in the works)
§ With our Cache Control this can currently be done
only with local Varnish servers, but we’re in the
process of implementing CDN support for our
Cache Control module
36. One option remains
§ One could obviously do a master-master-
master configuration with Drupal on the
database level
§ Master-master-master replicating files would be
also… interesting
§ Haven’t tried that yet, but we’re sure to tell
everybody how that went if we do (or when we
do, we’re just that crazy)
37. TIP #3
Spreading logged in traffic around
the globe is a lot of work when
implementing the support on your
Drupal site. You won’t be able to do
it without some highly skilled Drupal
developers / system engineers.
39. Agenda
14.00 Opening words Janne Kalliola, Exove
14.10 Creating globally distributed
services with Drupal
Kalle Varisvirta, Exove
14.25 Case: Tekla User Assistance Tommi Hautalahti, Tekla
14.40 Increasing user engagement in
Drupal sites
Jaakko Laurila, Exove
14.55 Case: Demi.fi Antti Salonen, A-lehdet
15.10 Break
15.20 Doing eCommerce with Drupal John Kennedy,
Commerce Guys
15.35 Case: Netoutlet – Social group
buying
Jerker Holma,
Netoutlet Finland
15.50 Discussion
40. Case: Tekla User Assistance
14 May, 2013
Tommi Hautalahti
Group Manager, Learning Materials
41. About Tekla
" A Finnish software company founded in 1966. Part of
Trimble Corporation since 2011.
" International: we have our own offices in 14 countries and
customers in 100 countries.
" Building & Construction division’s main product is Tekla
Structures Building Information Modeling software.
41
43. Tekla User Assistance – Goals for the project
" One location for all Tekla Structures instructions.
" Replace static help system with an online service.
" Focus on search as preferred way to find information.
" Collect user feedback, ratings, and comments.
43
45. Exove’s role
" Layouts by Exove Design.
" Technical development.
" Plan + implement hosting.
" Maintenance and technical monitoring.
45
46. Content
" Most of the content is imported in standardized XML
format (created in an internal authoring environment).
" Both content & navigation structure are imported.
Taxonomy menu is used for the main menu.
46
47. Content (cont.)
" All imported content is available in 9 languages.
" About 5.000 nodes per language per software version.
" Drupal did not scale up to thousands of taxonomy and
menu items, so a fair bit of fixing was needed.
– Starting from just displaying the items in the admin interface.
" Content import based on existing DITA integration module,
but required a lot of custom work too.
47
48. Translating content
" In Drupal, content is produced in 13 languages.
" Some content is translated from English to other
languages using Drupal’s tmgmt module (export/import)
or by internal users.
48
49. Multilingual Solr search
" Apache Solr
Multilingual is
still in beta.
" Configuration
has been very
challenging, but
it’s mostly
working ok now.
" Testing depends
on our foreign
staff.
49
50. Global hosting
" Site content is fairly dynamic, and there is lots of it, but
traffic is not very heavy.
" Three servers: UK (master), USA, Singapore, + CDN.
– Target was to cut down latency, but performance problem on
one of the servers has negated some of the benefit.
" Synchronization seems to be working well now.
– Testing a bit of a headache between all the languages and the
three servers.
" Users came with very high performance expectations
(local help file).
50
52. Agenda
14.00 Opening words Janne Kalliola, Exove
14.10 Creating globally distributed
services with Drupal
Kalle Varisvirta, Exove
14.25 Case: Tekla User Assistance Tommi Hautalahti, Tekla
14.40 Increasing user engagement in
Drupal sites
Jaakko Laurila, Exove
14.55 Case: Demi.fi Antti Salonen, A-lehdet
15.10 Break
15.20 Doing eCommerce with Drupal John Kennedy,
Commerce Guys
15.35 Case: Netoutlet – Social group
buying
Jerker Holma,
Netoutlet Finland
15.50 Discussion
56. How?
Content is still king, but…
What kind of technical solutions can
we use to increase user engagement
in Drupal?
57. Ways to increase user
engagement
§ Take care of the user
from the first
impression
§ Reduce the pain of
learning to use site
§ Examples
§ Welcome message
§ Step-by-step feature
introduction
Drupalmodules:Guiders-JS
58. Ways to increase user
engagement
§ Improve Drupal
comments using fields
§ Enable users to help
each other
§ Examples
§ Star rating for product
reviews in a webshop
§ Up/down voting for
Q&Asite
Drupalmodules:Flag,Rate
59. Ways to increase user
engagement
§ Allow users to
subscribe to content
changes
§ Increase retention
§ Examples
§ Send updates from
follow up comments
Drupalmodules:Notifications,
Subscriptions
60. Ways to increase user
engagement
§ Reward users for
activity
§ Encourage to
complete tasks
§ Gamification
§ Examples
§ Continuous logins
§ Amount of comments
Drupalmodules:Achievements,
Userpoints
62. Agenda
14.00 Opening words Janne Kalliola, Exove
14.10 Creating globally distributed
services with Drupal
Kalle Varisvirta, Exove
14.25 Case: Tekla User Assistance Tommi Hautalahti, Tekla
14.40 Increasing user engagement in
Drupal sites
Jaakko Laurila, Exove
14.55 Case: Demi.fi Antti Salonen, A-lehdet
15.10 Break
15.20 Doing eCommerce with Drupal John Kennedy,
Commerce Guys
15.35 Case: Netoutlet – Social group
buying
Jerker Holma,
Netoutlet Finland
15.50 Discussion
72. Agenda
14.00 Opening words Janne Kalliola, Exove
14.10 Creating globally distributed
services with Drupal
Kalle Varisvirta, Exove
14.25 Case: Tekla User Assistance Tommi Hautalahti, Tekla
14.40 Increasing user engagement in
Drupal sites
Jaakko Laurila, Exove
14.55 Case: Demi.fi Antti Salonen, A-lehdet
15.10 Break
15.20 Doing eCommerce with Drupal John Kennedy,
Commerce Guys
15.35 Case: Netoutlet – Social group
buying
Jerker Holma,
Netoutlet Finland
15.50 Discussion
73. Agenda
14.00 Opening words Janne Kalliola, Exove
14.10 Creating globally distributed
services with Drupal
Kalle Varisvirta, Exove
14.25 Case: Tekla User Assistance Tommi Hautalahti, Tekla
14.40 Increasing user engagement in
Drupal sites
Jaakko Laurila, Exove
14.55 Case: Demi.fi Antti Salonen, A-lehdet
15.10 Break
15.20 Doing eCommerce with Drupal John Kennedy,
Commerce Guys
15.35 Case: Netoutlet – Social group
buying
Jerker Holma,
Netoutlet Finland
15.50 Discussion
75. Paris,
France
Ann
Arbor,
Michigan
Commerce Guys is the
Based in
London, UK
VC Funded, raised $6M
COMPANY
76. A Brief History…
2008: Commerce Guys LLC founded in Jackson, Michigan
2010: Commerce Guys SAS (the global company) is formed
2010: Seed funding from ISAI ($1M)
2010: Launch of the Drupal Commerce platform
2011: Business Insider - 20 Hot International Startups
2012: Round A funding of $5 million
2012: Named Gartner “Cool Vendor in eCommerce”
2012: Selected to join Microsoft BizSpark One program
2012: Judge’s Choice award at BizSpark European Summit
77. Commerce Guys’
Management Team
Frédéric Plais
Co-founder &
CEO
Damien Tournoud
Co-founder &
CTO
Ryan Szrama
Co-founder &
VP, Community
Development
John Kennedy
Director, UK
Operations
Rob Douglass
Director of
Products
Jean-Claude
Pitcho
VP, Business
Development
David Mollière
Operations
Director, EU
Mike O'Connor
Co-Founder &
Pre Sales Lead
Scott Dahlgren
Managing Dir,
North America
Philippe Lauprete
VP Sales,
EU
Kieron Sambrook-
Smith
Non-Exec
Director, UK
79. … and so are
the experts
Commerce Guys named a
“Cool Vendor“ in
eCommerce 2012” by
Gartner, Inc. - April 2012
Commerce Guys wins Judges'
Choice Award at the BizSpark
European Summit - June
2012
Commerce Guys recognized
as an eTail Rising Star - July
2012
83. eCommerce
has
become
very
complex
• Brands are EVERYWHERE on
the web
• Customer acquisition is
EXPENSIVE
• Online is CANNIBALIZING high
street retail
• There’s a surge of NEW devices
and media
87. Our Products
Cloud-‐based
hos:ng,
op:mized
for
Drupal
Commerce
An
app
store
for
proven
Drupal
Commerce
enhancements
Pre-‐configured
eCommerce
so^ware
built
on
Drupal
Commerce
An
iOS
na:ve
mobile
app
for Mobile
89. Commerce
Kickstart
Features
Commerce Kickstart is a pre-configured
store built on top of Drupal Commerce,
packed with eCommerce best practices:
• Mobile-ready responsive design
• Enhanced product marketing (image zooms,
fancy attributes, slideshows)
• Social Login
• Faceted product search
• Streamlined administration
• Advanced commerce analytics
• Easy-to-configure discounts
• Built-in payment gateways
• Intuitive product and order management
91. Powerful Faceted Search
(Native)
- Fully configurable faceted
search solution
- Search also used for cross-
selling and recommendation
- Fully configurable facets
92. Flexible Check-out –enabling multi-channel
(Native)
- Fully configurable check-
out
- Web-to store – purchase
to store – book to store
enabled
- All steps fully
configurable (book and
pay elsewhere, pay only,
third party pay, pick up at
store)
99. An app store for proven
Drupal Commerce enhancements
100. Commerce
Marketplace
Benefits
• Faster and easier to find options
that work well with Drupal
Commerce
• Assured quality
• Easier to engage products and
services
• Coming Soon! Direct integration
with Kickstart
Marketplace.CommerceGuys.com
111. Agenda
14.00 Opening words Janne Kalliola, Exove
14.10 Creating globally distributed
services with Drupal
Kalle Varisvirta, Exove
14.25 Case: Tekla User Assistance Tommi Hautalahti, Tekla
14.40 Increasing user engagement in
Drupal sites
Jaakko Laurila, Exove
14.55 Case: Demi.fi Antti Salonen, A-lehdet
15.10 Break
15.20 Doing eCommerce with Drupal John Kennedy,
Commerce Guys
15.35 Case: Netoutlet – Social group
buying
Jerker Holma,
Netoutlet Finland
15.50 Discussion
113. l Founded in January 2012
l Business idea: Combine elements from Social Shopping
with those from Deal Sites create a new shopping
experience that benefits both consumers and retailers
l Website designed and implemented by Exove using
Drupal & Drupal Commerce, among other Open
technologies
About NetOutlet
114. l Online sales channel
l Allows partners to sell products and services at
discounted prices without weakening their own brand
l Allows consumers to EARN a discount when buying
together with their friends
l NOT a deal site with a GIVEN fixed discount
l Discount increases for each additional friend and is
symmetrical so that everyone in the same group of friends
gets the same price.
l Core segment: social products
l Concerts and culture, sports events, package travel
NetOutlet in a Nutshell
115. l Drupal 7
l Drupal Commerce Kickstart 1.x
l Facebook integration modules
l Views, Panels & Display Suite
l Rate & VotingAPI
l SASS & Compass for CSS authoring
l onMediaQuery for responsive Javascript
l Maksuturva integration
Main Technologies Used
116. l Friend Purchase – the mechanism that allows
consumers to buy products together with their friends
l Facebook integration
l Initial discount calculation
l Additional discount / refund calculation
l Ask Your Friends survey – allows consumers to gauge
how interested friends are in buying a particular product
so they can get an idea of the final price before
committing to buying it
Specialized Features
117. l Have to be registered through Facebook so the system
can identify consumer’s friend network
l 1. Initial discount
l When viewing a product, the system checks if friends have
already bought it and automatically generates a discount
l 2. Additional discount
l When buying a product, you leave the purchase open for a
certain time so friends have time to join
l Once the time expires, the system automatically calculates
the final price based on how many friends joined
l Any additional discount is refunded to your payment card or
bank account (through Maksuturva)
Friend Purchase
How does it work?
118. l A starting price and a minimum price
is negotiated for each product
l The marginal discount per additional
buyer get smaller by a fixed
percentage (typically 20-50%)
l The discount means that products
are sold at the minimum price only
with a high number of buyers
l The discount structure is transparent
and each additional buyer’s discount
is clearly displayed
Friend Purchase
The Discount Mechanism
FeeDiscountpotential
Discount 2
Discount 3
NetOutlet
commission
Discount 1
Starting
Price
Minimum
Price
119. l Allows consumers to gauge how interested their friends
are in buying a particular product so they can get an
idea of the final price before committing to buying it
l Users are able to create surveys where they ask who is
interested in purchasing a certain product together
l Surveys can be shared on Facebook timeline, in a
private message, or by email
l Only users that are Facebook friends with the survey
creator are able to participate in the survey
l After the purchase, the user can send messages to their
friends based on who was interested
Ask Your Friends Survey
How does it work?
121. Agenda
14.00 Opening words Janne Kalliola, Exove
14.10 Creating globally distributed
services with Drupal
Kalle Varisvirta, Exove
14.25 Case: Tekla User Assistance Tommi Hautalahti, Tekla
14.40 Increasing user engagement in
Drupal sites
Jaakko Laurila, Exove
14.55 Case: Demi.fi Antti Salonen, A-lehdet
15.10 Break
15.20 Doing eCommerce with Drupal John Kennedy,
Commerce Guys
15.35 Case: Netoutlet – Social group
buying
Jerker Holma,
Netoutlet Finland
15.50 Discussion