![Page 1: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/1.jpg)
BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES
Drupalcamp Leuven - 15/9/2013
1
vrijdag 20 september 13
![Page 2: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/2.jpg)
CultuurNet Vlaanderen 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 - [email protected] after this session
2
vrijdag 20 september 13
![Page 3: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/3.jpg)
Sven HoutmeyersTeam Leader developers at CultuurNetTechnical lead for all our Drupal Project@[email protected]
Contents
1. Introduction2. Technical dive into the setup by Kristof3. More features & demo of our Drupal install profile
Whoami?
3
vrijdag 20 september 13
![Page 4: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/4.jpg)
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
![Page 5: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/5.jpg)
through broad cultural communication and marketing
How we do this?
5
vrijdag 20 september 13
![Page 6: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/6.jpg)
First of all we aggregate all cultural and other events
How we do this?
6
vrijdag 20 september 13
![Page 7: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/7.jpg)
First of all we aggregate all cultural and other events
How we do this?
6
vrijdag 20 september 13
![Page 8: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/8.jpg)
First of all we aggregate all cultural and other events
How we do this?
6
vrijdag 20 september 13
![Page 9: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/9.jpg)
Products?
7
vrijdag 20 september 13
![Page 10: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/10.jpg)
Products?
7
vrijdag 20 september 13
![Page 11: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/11.jpg)
Products?
7
vrijdag 20 september 13
![Page 12: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/12.jpg)
Products?
7
vrijdag 20 september 13
![Page 13: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/13.jpg)
Products?
7
vrijdag 20 september 13
![Page 14: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/14.jpg)
Products?
7
vrijdag 20 september 13
![Page 15: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/15.jpg)
Products?
7
vrijdag 20 september 13
![Page 16: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/16.jpg)
Previous situation
So how we do this?
8
API API
The events The participants
CnAPI (CultuurNet API)Module Suite
CultureFeedModule Suite
Drupal
vrijdag 20 september 13
![Page 17: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/17.jpg)
Previous situation
So how we do this?
8
API API
The events The participants
CnAPI (CultuurNet API)Module Suite
CultureFeedModule Suite
Drupal
vrijdag 20 september 13
![Page 18: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/18.jpg)
New situation
So how we do this?
9
APIEvents + participants
CultureFeedModule Suite
Drupal
vrijdag 20 september 13
![Page 19: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/19.jpg)
New situation
So how we do this?
9
APIEvents + participants
CultureFeedModule Suite
Drupal
vrijdag 20 september 13
![Page 20: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/20.jpg)
And who is doing this?
10
?8 developers, pm, solution architects, etc
vrijdag 20 september 13
![Page 21: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/21.jpg)
And who is doing this?
10
?8 developers, pm, solution architects, etc
@stalski @zuuperman
vrijdag 20 september 13
![Page 22: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/22.jpg)
And who is doing this?
10
?8 developers, pm, solution architects, etc
@stalski @zuuperman @kristofcoomans (cyberwolf)
vrijdag 20 september 13
![Page 23: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/23.jpg)
freelancer since beginning of the year (2DotsTwice)
Whoami?
vrijdag 20 september 13
![Page 24: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/24.jpg)
custom search solution, exposed over HTTP
did not allow for more complex, composite queries
example: give me all eventswith 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
![Page 25: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/25.jpg)
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
![Page 26: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/26.jpg)
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
![Page 27: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/27.jpg)
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
![Page 28: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/28.jpg)
composer.json in project root
basic usage
16
vrijdag 20 september 13
![Page 29: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/29.jpg)
run ‘composer install’
require composer autoloader in your project, for example in sites/.../settings.php
basic usage
17
vrijdag 20 september 13
![Page 30: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/30.jpg)
basic usage
18
vrijdag 20 september 13
![Page 31: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/31.jpg)
basic usage
19
vrijdag 20 september 13
![Page 32: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/32.jpg)
basic usage
20
vrijdag 20 september 13
![Page 33: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/33.jpg)
basic usage: filter query
21
vrijdag 20 september 13
![Page 34: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/34.jpg)
basic usage: filter query
22
vrijdag 20 september 13
![Page 35: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/35.jpg)
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¶m1[]=bar
JAVA: http://example.com/index.php?param1=foo¶m1=bar
Guzzle
23
vrijdag 20 september 13
![Page 36: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/36.jpg)
Guzzle: logging
24
vrijdag 20 september 13
![Page 37: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/37.jpg)
Guzzle: logging
25
vrijdag 20 september 13
![Page 38: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/38.jpg)
faceted search
26
vrijdag 20 september 13
![Page 39: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/39.jpg)
faceted search
27
vrijdag 20 september 13
![Page 40: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/40.jpg)
culturefeed_agendaculturefeed_develculturefeed_mailingculturefeed_messagesculturefeed_pagesculturefeed_searchculturefeed_search_uiculturefeed_search_viewsculturefeed_socialculturefeed_uiculturefeed_userpoints_uientry_api_ui
The modules...
28
vrijdag 20 september 13
![Page 41: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/41.jpg)
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
![Page 42: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/42.jpg)
Functionality for profiles (UiTiD - "outid" API)
30
culturefeed_ui all user / profile blocks and pages
vrijdag 20 september 13
![Page 43: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/43.jpg)
Integration with social features
31
culturefeed_social all ‘social’ features: likes, comments, attends, notifications, etc
vrijdag 20 september 13
![Page 44: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/44.jpg)
Views integration
32
culturefeed_search_views
select some fields and add filters and sorts
vrijdag 20 september 13
![Page 45: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/45.jpg)
Other new modules
33
culturefeed_pages
culturefeed_messages
culturefeed_userpoints_ui
user can create a page (locations, performers, families, schools, ...)
send / receive messages
collect userpoints and claim promotions
vrijdag 20 september 13
![Page 46: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/46.jpg)
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
![Page 47: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/47.jpg)
Devel module
35
Performance site = performance API (+/-)
Logs:- requests to SOLR- requests to UiTiD
Threshold > watchdog
vrijdag 20 september 13
![Page 48: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/48.jpg)
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
![Page 49: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/49.jpg)
Next steps: integration of RFID loyalty program
37
UiTPAS, in development, release end of this year (for muntpunt.be - Brussels).
vrijdag 20 september 13
![Page 50: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/50.jpg)
Other todo’s
38
- Remove all non-generic theming and create a subtheme for bootstrap
- Documentation...
vrijdag 20 september 13
![Page 51: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/51.jpg)
CultuurNet Vlaanderen 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 - [email protected]
39
vrijdag 20 september 13
![Page 52: BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES](https://reader033.vdocuments.us/reader033/viewer/2022052316/557c268bd8b42a22218b545c/html5/thumbnails/52.jpg)
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