Drupal module suite for building an event site based on events gathered in an external backoffice "outdatabase" (UiTdatabank), but with the extra tools you can do a lot more. For this version you can only use it having a key and secret from the UiTdatabank or use the demo key from this page.
Live demo connecting production API
Live demo connecting acceptance API
When you start with a clean Drupal install or just for setting up a quick demo site we created a Drupal install profile ("Installation profiles provide specific site features and functions for a specific purpose or type of site distributions"). This included also a shell script (Build.sh) which downloads:
- drupal core (at the moment 7.32)
- drupal contribs (bootstrap 3.0)
- culturefeed
- culturefeed_bootstrap
- vendor/cultuurnet/cdb
- vendor/cultuurnet/auth
- vendor/cultuurnet/search
- vendor/cultuurnet/culturefeed-php
- lessphp
Prerequisites:
- git installed
- drush installed
- composer installed (http://getcomposer.org/doc/00-intro.md#downloading-the-composer-executable)
Place the module suite in your sites/*/modules folder, you can do this with GIT or download it here.
git clone https://github.com/cultuurnet/culturefeed
Afterwards copy the composer.json file from the root of the module suite to the root directory of your Drupal. If you use already composer.json you have to add the required libraries.
{
"name": "cultuurnet/culturefeed",
"type": "drupal-module",
"description": "CultuurNet culturefeed PHP library & Drupal module",
"license": "Apache-2.0",
"require": {
"cultuurnet/search": "~1.0",
"cultuurnet/cdb": "~2.0",
"cultuurnet/culturefeed-php": "~1.0"
},
"minimum-stability": "stable"
}
After that run composer install
or composer update
if already using composer. This will download our libraries and add a theme to a vendor directory. It will also create a composer.lock file. Typical we add vendor/* to the .gitignore file.
Last step is to include autoload.php in your settings.php file of your site.
require 'vendor/autoload.php';
You should now be able to enable the modules (typically you start with culturefeed, culturefeed_ui, culturefeed_search, culturefeed_search_ui and culturefeed_agenda) and fill in your key and secret:
- culturefeed core at admin/config/culturefeed/api-settings
- if culturefeed_search enabled also at admin/config/culturefeed/search
It's a good practice to connect your user/1 (admin) user with a UiTID account:
- Log in as user/1
- Go to culturefeed/oauth/connect and login to UiTID.
If this works culturefeed core is configured well. And if you get results at the path agenda/search culturefeed_search is working as well.
We created 3 tutorials to integrate the most common use cases:
Most of the modules have an dependency on these PHP libraries. See "Install" how to install theme with composer.
###CultuurNet\Cdb Fluent PHP library for manipulating, serializing and deserializing data present in CultuurNet's CdbXML 3.2 format
https://github.com/cultuurnet/cdb
###CultuurNet\Search Php library for creating SOLR queries (basic SOLR queries and custom business logic)
https://github.com/cultuurnet/Search
###CultuurNet\Auth The consumer-side of the authentication flow of CultuurNet's UiTID, which is based on OAuth 1.0a Core solid base for consumers of various OAuth-protected resources provided by CultuurNet
https://github.com/cultuurnet/Auth
###CultuurNet\CultureFeed-PHP Integration of all UiTID API calls.
https://github.com/cultuurnet/culturefeed-php
Culturefeed Bootstrap is a responsive, mobile first subtheme of the Bootstrap Framework.
Culturefeed Bootstrap has some basic theme settings (admin/appearance/settings/culturefeed_bootstrap) where you can customize branding colors, font-family, border-radius, navbars, etc. to your own needs. If you are a Drupal themer you can - of course - change all possible less variables and bootstrap overrides or kick everything out and build your own theme :-)
If you like the Culturefeed Bootstrap theme or plan to build your own Bootstrap subtheme some knowledge about the Bootstrap Framework (version 3.0.2) will come in handy. Good to know: Culturefeed Bootstrap uses Less to compile the CSS.
We chose to make use of the Font Awesome Icon library (version 4.0.3) instead of the Glyphicons that are built in with Bootstrap. Here's an overview of all icons and examples.
Please enable only the modules you need.
Core of the module suite and is required by the other modules. It provides the settings form where you can enter the API Information.
Base framework to enable searches on your site. Out of the box this module doesn't provide any interface elements (use Culturefeed Search UI and Culturefeed Agenda instead). It provides some drush commands and caching.
Provides a Culturefeed search page available on 'agenda/search' and detail pages. The blocks provided by this module can be used to extend the detail pages of events, actors and productions. Includes also a simple search form.
Basic elements to build up an event search (such as provided by Culturefeed Agenda).
- Basic search form with type selector in the front (can be extended)
- Sort block
- Active filters
- Facets
To integrate a search page we also wrote a tutorial
Views integration to list events, actors or productions. To create culturefeed views, create a new view and configure it to show Cdb items. Once the view is created, following handlers can be set:
- Fields
- Filters
- Sort
This module logs every query to our API, on the screen for admins or to the watchdog. Handy tool to check which is the performance killer, your Drupal install or our API's.
Functions to do a CRUD on events are already in library, but we are building a form to create, update and delete events in our UiTdatabank as well.
User can create a page (locations, performers, families, schools, …) or become member and follower.
Wiki page not yet available
Provides a collection of pages and blocks to enhance the user pages with UiTID information. To do this it will override and/or enhance the default Drupal user pages. Some features:
- edit profile page
- edit account page
- search users page
- caching
- teaser (formerly connect)
- most active user
- login (formerly profile box)
- profile menu
- e-mail confirmation reminder
- search users
- profile summary (formerly My UiTiD)
To integrate UiTID we also wrote a Tutorial
All ‘social’ features: likes, comments, attends, etc.
Integration with the UiTPAS card system. It contains multiple pages and blocks that can be used to build an interface that allows:
- easy access to the advantages and promotions a passholder has access to,
- possibility to register your UiTPAS,
- highlights of promotions and actions.
To integrate UiTPAS we wrote a tutorial
To create mailings with search results from event (based on lifestyleprofile, Vlieg weekendflash, …). Not yet available for partners. Please contact us if interested.
Send messages to other users (most likely page owners), interesting when actors become pages.
Collect on line userpoints (for specific actions like writing reviews) and claim promotions (Vlieg). Not yet available for partners. Please contact us if interested.
Pre-assign roles to UiTID users that have not logged in yet. Drush integration.
There already a lot of integrations live on the 3.x version (and still counting):