* Our Client - CultuurNet Vlaanderen
UiTinVlaanderen.be (formerly cultuurweb.be) is a webproject initiated by the Flemish institute CultuurNet Vlaanderen on behalf of the Flemish Minister of Culture, and is a part of UiTnetwerk.
UiTinVlaanderen.be collects and distributes the most complete cultural and leisure event data for the Flanders and Brussels region.
UiTinVlaanderen.be gathers its event data in the UiTdatabank trough the input of individual users and organizations and distributes them to up to 270 channels s.a. websites, mobile websites, widgets, a Philips TV application and Smartphone applications.
All data is distributed via a REST API and widgets (that actually use the API themselves).
Krimson realized the next aspects for this project:
- redesign of UiTinVlaanderen.be;
- migration to Drupal 7;
- refactory of the CultuurNet API module suite to work with Drupal 7 (REST);
- development of the CultureFeed module suite (REST/OAuth).
* CNAPI: A Drupal module suite that gives users access to the client's data
On top of the REST API, a suite of Drupal modules (CNApi - CultuurNet API module suite) was developed. One of these modules provides a PHP layer (with caching, defaults, ...) to easily work with the API as a developer. Another one provides an interface to browse and search the data. All modules are SEO and performance optimized.
Using the suite of modules, CultuurNet Vlaanderen and its partners have already launched tens of websites and applications, targeting users by region (local event sites), audience (sites for children, ...) or platforms (mobile site, Philips TV application).
UiTinVlaanderen is CultuurNet's own window on its full data. Users can browse all events in Flanders. This site already exists for a few years, and was now migrated to Drupal 7, including an upgrade of the CNAPI module suite. This site has slowly been tuned to improve usability and SEO and has won (or was nominated for) several usability awards and site of the year awards.
* UiTiD : One user profile for many websites
Parallel with the Drupal 7 migration project, CultuurNet wanted to launch UiTiD. UiTiD provides a central user profile system that is used to log in over multiple cultural websites. This way CultuurNet (and its partners) can build a profile of a user's cultural identity by allowing users to express what they like, what they are attending, ... .
Based on this data, they can then provide recommendations to encourage users to attend more cultural activities. UiTiD is technically implemented by the CultureFeed API, a REST API with OAuth authentication. To make Drupal work with this API, a CultureFeed module suite was developed, that provides the OAuth authentication procedure and a basic set of pages and blocks to allow users to browse recommendations, user profiles, ... .
* Technical challenges
As all data and all users are not living in Drupal, but are living on API's, we had to build a bridge between API objects and users and Drupal nodes and users. To manage this, a shadow node concept was developed.
For each object on the API, an matching node is stored in Drupal. This shadow node only stores the ID of the API object, so it knows how to fetch the actual data. Nodes are created on the fly (and not synced!), only when they are needed (when the object is displayed or an action happens upon it).
By having the objects in Drupal as nodes, we can make use of Drupal's thousands of modules that work with nodes (like forward, flag, ...).
Users are created on the fly too when their profile is viewed or when they log in. To allow them to login a OAuth authentication procedure is used.





