SlideShare a Scribd company logo
BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES
Drupalcamp Leuven - 15/9/2013
1
vrijdag 20 september 13
CultuurNetVlaanderen is looking for a...
DRUPAL FRONT END DEVELOPER
- 1 jaar+ experience in Drupal Front End webdevelopment
- 2 jaar+ experience in algemeen Front End webdevelopment
More info http://www.cultuurnet.be/zoekt-fe-developer - sven@cultuurnet.be
Or after this session
2
vrijdag 20 september 13
Sven Houtmeyers
Team Leader developers at CultuurNet
Technical lead for all our Drupal Project
@svenhoutmeyers
sven@cultuurnet.be
Contents
1. Introduction
2.Technical dive into the setup by Kristof
3. More features & demo of our Drupal install profile
Whoami?
3
vrijdag 20 september 13
CultuurNet (CultureNet):
“relationship agency” that mediates between events
and participants
Mission:
“(more) people (more) enthusiasm (more) culture”
Who are we?
4
vrijdag 20 september 13
through broad cultural communication and
marketing
How we do this?
5
vrijdag 20 september 13
First of all we aggregate all cultural and other events
How we do this?
6
vrijdag 20 september 13
First of all we aggregate all cultural and other events
How we do this?
6
vrijdag 20 september 13
First of all we aggregate all cultural and other events
How we do this?
6
vrijdag 20 september 13
Products?
7
vrijdag 20 september 13
Products?
7
vrijdag 20 september 13
Products?
7
vrijdag 20 september 13
Products?
7
vrijdag 20 september 13
Products?
7
vrijdag 20 september 13
Products?
7
vrijdag 20 september 13
Products?
7
vrijdag 20 september 13
Previous situation
So how we do this?
8
API API
The events The participants
CnAPI (CultuurNet API)
Module Suite
CultureFeed
Module Suite
Drupal
vrijdag 20 september 13
Previous situation
So how we do this?
8
API API
The events The participants
CnAPI (CultuurNet API)
Module Suite
CultureFeed
Module Suite
Drupal
vrijdag 20 september 13
New situation
So how we do this?
9
API
Events + participants
CultureFeed
Module Suite
Drupal
vrijdag 20 september 13
New situation
So how we do this?
9
API
Events + participants
CultureFeed
Module Suite
Drupal
vrijdag 20 september 13
And who is doing this?
10
?
8 developers, pm, solution architects, etc
vrijdag 20 september 13
And who is doing this?
10
?
8 developers, pm, solution architects, etc
@stalski @zuuperman
vrijdag 20 september 13
And who is doing this?
10
?
8 developers, pm, solution architects, etc
@stalski @zuuperman @kristofcoomans (cyberwolf)
vrijdag 20 september 13
freelancer since beginning of the year (2DotsTwice)
Whoami?
vrijdag 20 september 13
custom search solution, exposed over HTTP
did not allow for more complex, composite queries
example: give me all events
with minimum age 3 in a range of 30 kilometers from Herent
- OR -
with the theme ‘music’ in a range of 60 kilometers from Herent
limited faceting support, needs a second HTTP request
back in time: search API v1
12
vrijdag 20 september 13
PHP client library: non-existing
logic stuck in a Drupal module (cnapi), hardly reusable outside of Drupal
back in time: search API v1
13
vrijdag 20 september 13
based on Apache Solr
•REST-like HTTP API
•based on Apache Lucene
•faceting
•spellcheck
on top of that
•OAuth
•custom business logic
search API v2
14
vrijdag 20 september 13
PHP client library: modern architecture and approach
use existing tools and libraries
•Composer
•Guzzle
•Symfony Event Dispatcher
search API v2
15
vrijdag 20 september 13
composer.json in project root
basic usage
16
vrijdag 20 september 13
run ‘composer install’
require composer autoloader in your project, for example in sites/.../settings.php
basic usage
17
vrijdag 20 september 13
basic usage
18
vrijdag 20 september 13
basic usage
19
vrijdag 20 september 13
basic usage
20
vrijdag 20 september 13
basic usage: filter query
21
vrijdag 20 september 13
basic usage: filter query
22
vrijdag 20 september 13
modular HTTP client library for PHP
used by Drupal 8,Amazon SDK, ...
many plugins: OAuth, logging
supports JAVA-style multivalued query string parameters:
PHP: http://example.com/index.php?param1[]=foo&param1[]=bar
JAVA: http://example.com/index.php?param1=foo&param1=bar
Guzzle
23
vrijdag 20 september 13
Guzzle: logging
24
vrijdag 20 september 13
Guzzle: logging
25
vrijdag 20 september 13
faceted search
26
vrijdag 20 september 13
faceted search
27
vrijdag 20 september 13
culturefeed_agenda
culturefeed_devel
culturefeed_mailing
culturefeed_messages
culturefeed_pages
culturefeed_search
culturefeed_search_ui
culturefeed_search_views
culturefeed_social
culturefeed_ui
culturefeed_userpoints_ui
entry_api_ui
The modules...
28
vrijdag 20 september 13
culturefeed_search
culturefeed_search_ui
culturefeed_agenda
Functionality for events (new SOLR search API)
29
implements search library
imports taxonomy (drush)
autosuggests
search blocks, facets & results
detail pages of events and
locations
vrijdag 20 september 13
Functionality for profiles (UiTiD - "outid" API)
30
culturefeed_ui all user / profile blocks and
pages
vrijdag 20 september 13
Integration with social features
31
culturefeed_social all ‘social’ features: likes,
comments, attends,
notifications, etc
vrijdag 20 september 13
Views integration
32
culturefeed_search
_views
select some fields and
add filters and sorts
vrijdag 20 september 13
Other new modules
33
culturefeed_pages
culturefeed_messages
culturefeed_userpoint
s_ui
user can create a page
(locations, performers, families,
schools, ...)
send / receive messages
collect userpoints and claim
promotions
vrijdag 20 september 13
SEO optimalisations
34
- NOINDEX-strategy
- URL-rewriting (slugs)
- XML Sitemap
- Breadcrumbs
- Page title
- Document outline
- In progress
More info @lukdens
“Googlebot found an extremely high number of URLs on ...”
vrijdag 20 september 13
Devel module
35
Performance site = performance API (+/-)
Logs:
- requests to SOLR
- requests to UiTiD
Threshold > watchdog
vrijdag 20 september 13
Next steps: CRUD on events
36
Functions to do a CRUD on events are already in
library, but we build a form to create, update and delete
events in our UiTdatabank as well.
entry_api_ui (still some issues)
vrijdag 20 september 13
Next steps: integration of RFID loyalty program
37
UiTPAS, in development, release end of this year (for
muntpunt.be - Brussels).
vrijdag 20 september 13
Other todo’s
38
- Remove all non-generic theming and create a
subtheme for bootstrap
- Documentation...
vrijdag 20 september 13
CultuurNetVlaanderen is looking for a...
DRUPAL FRONT END DEVELOPER
- 1 jaar+ experience in Drupal Front End webdevelopment
- 2 jaar+ experience in algemeen Front End webdevelopment
More info http://www.cultuurnet.be/zoekt-fe-developer - sven@cultuurnet.be
39
vrijdag 20 september 13
DEMO
40
- shell script:
- downloads dependencies (symfony, guzzle, libraries)
- install core and some contrib modules
- install culturefeed module suite
- download taxonomy terms (drush)
- create an install profile
https://github.com/cultuurnet/culturefeed-kickstart
vrijdag 20 september 13

More Related Content

PDF
Guzzle in Drupal 8 and as a REST client - Артем Мирошник
PPT
BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES
PDF
Introduction - Web Technologies (1019888BNR)
PDF
II-SDV 2017: Custom Open Source Search Engine with Drupal 8 and Solr at Frenc...
PDF
OpenConext - Japanese delegation - 28 October 2013
PPT
Must Know Web 20 For Nyscate 2010
PDF
Linked Open Data in limbo - Open Belgium
PDF
UI design for open data
Guzzle in Drupal 8 and as a REST client - Артем Мирошник
BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES
Introduction - Web Technologies (1019888BNR)
II-SDV 2017: Custom Open Source Search Engine with Drupal 8 and Solr at Frenc...
OpenConext - Japanese delegation - 28 October 2013
Must Know Web 20 For Nyscate 2010
Linked Open Data in limbo - Open Belgium
UI design for open data

Similar to BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES (20)

PPTX
Linked Open Data in limbo: Open cultural heritage resources
PDF
20180312 lod in_limbo_open_belgium
PDF
20180312 lod in_limbo_open_belgium
PDF
Web 2.0 Basics - Lecture 06 - Web Information Systems (4011474FNR)
PDF
Harry europeana strategic business plan
PDF
AntoineLambertResume
PPTX
Meetup Gennaio 2019 - Slide introduttiva
PDF
Open, Linked, Hacked
PDF
Drupalcafe meets MediaMosa - 17 October 2013 - Utrecht
PDF
Drupalcafe meets MediaMosa - 17 october 2013, Utrecht
PDF
Finding the Balance between Pedagogy and Technology
PDF
Custom Activities in UiPath (Activity Builder)
PPTX
Open Syllabus in Sakai 2.6: up and running
PDF
60 apps in 60 minutes: iOS, Web, DOE & Beyond - #NYCSTS14
PPTX
Semantic Web - Search engines
PDF
Launching digit yser a first 18 months review
PPT
Museums and the Web Mashup Workshop
PDF
Scaling up development of a modular code base
PPTX
Application Software. Short overview .pptx
PDF
Online Exhibit Tools: Google Cultural Institute vs. Omeka and Other Open Sour...
Linked Open Data in limbo: Open cultural heritage resources
20180312 lod in_limbo_open_belgium
20180312 lod in_limbo_open_belgium
Web 2.0 Basics - Lecture 06 - Web Information Systems (4011474FNR)
Harry europeana strategic business plan
AntoineLambertResume
Meetup Gennaio 2019 - Slide introduttiva
Open, Linked, Hacked
Drupalcafe meets MediaMosa - 17 October 2013 - Utrecht
Drupalcafe meets MediaMosa - 17 october 2013, Utrecht
Finding the Balance between Pedagogy and Technology
Custom Activities in UiPath (Activity Builder)
Open Syllabus in Sakai 2.6: up and running
60 apps in 60 minutes: iOS, Web, DOE & Beyond - #NYCSTS14
Semantic Web - Search engines
Launching digit yser a first 18 months review
Museums and the Web Mashup Workshop
Scaling up development of a modular code base
Application Software. Short overview .pptx
Online Exhibit Tools: Google Cultural Institute vs. Omeka and Other Open Sour...
Ad

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
Machine Learning_overview_presentation.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Getting Started with Data Integration: FME Form 101
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
cuic standard and advanced reporting.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
NewMind AI Weekly Chronicles - August'25-Week II
Dropbox Q2 2025 Financial Results & Investor Presentation
Advanced methodologies resolving dimensionality complications for autism neur...
Unlocking AI with Model Context Protocol (MCP)
MIND Revenue Release Quarter 2 2025 Press Release
20250228 LYD VKU AI Blended-Learning.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Machine Learning_overview_presentation.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Group 1 Presentation -Planning and Decision Making .pptx
Big Data Technologies - Introduction.pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Digital-Transformation-Roadmap-for-Companies.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Getting Started with Data Integration: FME Form 101
Spectral efficient network and resource selection model in 5G networks
The Rise and Fall of 3GPP – Time for a Sabbatical?
cuic standard and advanced reporting.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Ad

BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES