PHPackages                             cultuurnet/culturefeed - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. cultuurnet/culturefeed

AbandonedArchivedDrupal-module

cultuurnet/culturefeed
======================

CultuurNet culturefeed Drupal module

4.0.1(6y ago)111.8k16[5 issues](https://github.com/cultuurnet/culturefeed/issues)Apache-2.0PHP

Since Sep 6Pushed 5y ago32 watchersCompare

[ Source](https://github.com/cultuurnet/culturefeed)[ Packagist](https://packagist.org/packages/cultuurnet/culturefeed)[ RSS](/packages/cultuurnet-culturefeed/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (8)Versions (108)Used By (0)

Culturefeed
===========

[](#culturefeed)

[![Build Status](https://camo.githubusercontent.com/a0a04acf24f3eec4600974ed300fc0a48cd19cd246f54300f00ab382f667b220/68747470733a2f2f7472617669732d63692e6f72672f63756c747575726e65742f63756c74757265666565642e7376673f6272616e63683d6d6173746572)](https://api.travis-ci.org/cultuurnet/culturefeed.svg?branch=master)

Important note
--------------

[](#important-note)

In november 2019, publiq vzw (formerly known as CultuurNet) starts the End of Support phase of the Culturefeed Drupal 7 module suite. This means that you can continue to use Culturefeed, but publiq vzw will not invest anymore in this Drupal 7 module suite.

As an exception, critical security updates will still be provided if needed.

The End of Life (EOL) date of the module suite is set to the same date as the EOL of Drupal 7 core, ie. November 2021 ().

We built this final 4.0 release, which contains a major security update, and some incompatible changes compared to the latest 3.10.2 release. Some less used modules are moved to a separate repository. If you update to this version please check &amp; should you use one of these modules, reinstall them from a separate repository. After that all things should work as usual.

- [https://github.com/cultuurnet/culturefeed\_pages](https://github.com/cultuurnet/culturefeed_pages) \[DEPRECATED\]
- [https://github.com/cultuurnet/culturefeed\_roles](https://github.com/cultuurnet/culturefeed_roles) \[DEPRECATED\]
- [https://github.com/cultuurnet/culturefeed\_messages](https://github.com/cultuurnet/culturefeed_messages) \[DEPRECATED\]
- [https://github.com/cultuurnet/culturefeed\_calendar](https://github.com/cultuurnet/culturefeed_calendar) \[DEPRECATED\]
- [https://github.com/cultuurnet/culturefeed\_uitpas](https://github.com/cultuurnet/culturefeed_uitpas)
- [https://github.com/cultuurnet/culturefeed\_social](https://github.com/cultuurnet/culturefeed_social)
- [https://github.com/cultuurnet/culturefeed\_userpoints\_ui](https://github.com/cultuurnet/culturefeed_userpoints_ui) \[DEPRECATED\]
- [https://github.com/cultuurnet/culturefeed\_entry\_ui](https://github.com/cultuurnet/culturefeed_entry_ui) \[DEPRECATED\]

### Alternatives

[](#alternatives)

As an alternative for the Culturefeed Drupal 7 module suite, publiq vzw focused on:

- A new, easy to use API in a developer-friendly Json format:
- An even easier to use widget platform:

We also have a Drupal 8 version on [https://github.com/cultuurnet/culturefeed\_d8](https://github.com/cultuurnet/culturefeed_d8) with the most commonly used modules culturefeed\_agenda, culturefeed\_content, culturefeed\_search, culturefeed\_search\_api and culturefeed\_user.

However, these modules will not contain the full functionality as was provided in the Drupal 7 edition, and it will not be heavily extended by publiq the same way we did this for the Drupal 7 edition. We are still happy to review and accept pull requests from external developers or partners, though.

Info
----

[](#info)

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](http://tools.uitdatabank.be/docs/search-api-v2-getting-started).

**[Live demo connecting production API](https://www.culturefeed.be/) only available from 7:00 till 20:00 (Brussels timezone)**

**[Live demo connecting acceptance API](https://test.culturefeed.be/) only available from 7:00 till 20:00 (Brussels timezone)**

Important noteSince the culturefeed 3.6 release **PHP v5.5** is the minimum requirement and also the **PHP INTL extension** is needed. To install the extension on your system take a look at [this blogpost](http://asdqwe.net/blog/enabling-installing-intl-package-php-from-terminal).Culturefeed-kickstart
---------------------

[](#culturefeed-kickstart)

When you start with a clean Drupal install or just for setting up a quick demo site we created a **[Drupal install profile](https://drupal.org/developing/distributions)** ("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.56)
- drupal contribs (bootstrap 3.0)
- culturefeed
- culturefeed\_bootstrap
- vendor/cultuurnet/cdb
- vendor/cultuurnet/auth
- vendor/cultuurnet/search
- vendor/cultuurnet/culturefeed-php
- vendor/cultuurnet/calendar-summary
- vendor/cultuurnet/sitemap-xml
- lessphp

Install
-------

[](#install)

Prerequisites:

- php &gt; v5.5 and the php intl extension (see important note above)
- git installed
- drush installed
- composer installed ()

Place the module suite in your **sites/\*/modules** folder, you can do this with GIT or download it [here](https://github.com/cultuurnet/culturefeed/releases).

```
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 Drupal module",
    "license": "Apache-2.0",
    "require": {
      "composer/composer": "~1.0",
      "mobiledetect/mobiledetectlib": "dev-master",
      "cultuurnet/search": "~1.2",
      "cultuurnet/cdb": "~2.1",
      "cultuurnet/culturefeed-php": "~1.6",
      "cultuurnet/calendar-summary": "~1.0",
      "cultuurnet/sitemap-xml": "~1.0"
    },
    "require-dev": {
      "phing/phing": "~2.10"
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

```

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.

Tutorials
---------

[](#tutorials)

We created 3 tutorials to integrate the most common use cases:

- [Set up a search page](https://github.com/cultuurnet/culturefeed/wiki/Tutorial-Search-page)
- [Integrate UiTID](https://github.com/cultuurnet/culturefeed/wiki/Tutorial-CultureFeedUI)
- [Integrate UiTPAS](https://github.com/cultuurnet/culturefeed/wiki/Tutorial-UiTPAS)

PHP libraries
-------------

[](#php-libraries)

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 or 3.3 format

\###CultuurNet\\Search Php library for creating SOLR queries (basic SOLR queries and custom business logic)

\###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 ](https://github.com/cultuurnet/Auth)

\###CultuurNet\\CultureFeed-PHP Integration of all UiTID API calls.

\###CultuurNet\\calendar-summary The calendar-summary PHP takes a CultureFeed\_Cdb\_Data\_Calendar object (hence the dependency on cultuurnet/cdb, and formats it. Right now there's a HTML formatter and a plain text formatter. Current options: 'lg' (for permanent events only this option is available), 'md', 'md', 'sm', 'xs'.

\###CultuurNet\\sitemap-xml-php PHP library for writing sitemap XML conform with the sitemaps.org schema. Example see . Only needed when you turn on the culturefeed\_sitemap module.

Theme
-----

[](#theme)

**Culturefeed Bootstrap** is the only supported and recommended base theme for Culturefeed. It's a responsive subtheme of the Bootstrap Framework and has it's own subtheme to start from. But of course you can implement Culturefeed in your prefered theme as well.

[https://github.com/cultuurnet/culturefeed\_bootstrap](https://github.com/cultuurnet/culturefeed_bootstrap)

Modules
-------

[](#modules)

Please enable only the modules you need.

### Culturefeed core

[](#culturefeed-core)

Core of the module suite and is required by the other modules. It provides the settings form where you can enter the API Information.

**[More info at wiki page](https://github.com/cultuurnet/culturefeed/wiki/Culturefeed)**

### Culturefeed\_search

[](#culturefeed_search)

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.

**[More info at wiki page](https://github.com/cultuurnet/culturefeed/wiki/Culturefeed-Search)**

### Culturefeed\_agenda

[](#culturefeed_agenda)

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.

**[More info at wiki page](https://github.com/cultuurnet/culturefeed/wiki/Culturefeed-Agenda)**

### Culturefeed\_search\_ui

[](#culturefeed_search_ui)

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

**[More info at wiki page](https://github.com/cultuurnet/culturefeed/wiki/Culturefeed-Search-UI)**

To integrate a search page we also wrote a [tutorial](https://github.com/cultuurnet/culturefeed/wiki/Tutorial-Search-page).

### Culturefeed\_search\_views

[](#culturefeed_search_views)

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

**[More info at wiki page](https://github.com/cultuurnet/culturefeed/wiki/Culturefeed-Search-UI)**

### Culturefeed\_devel

[](#culturefeed_devel)

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.

### Culturefeed\_entry\_ui

[](#culturefeed_entry_ui)

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.

**[More info at wiki page](https://github.com/cultuurnet/culturefeed/wiki/Culturefeed-Entry-UI)**

### Culturefeed\_pages

[](#culturefeed_pages)

User can create a page (locations, performers, families, schools, …) or become member and follower.

**Wiki page not yet available**

### Culturefeed\_ui

[](#culturefeed_ui)

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)

**[More info at wiki page](https://github.com/cultuurnet/culturefeed/wiki/Culturefeed-UI)**

To integrate UiTID we also wrote a [tutorial](https://github.com/cultuurnet/culturefeed/wiki/Tutorial-CultureFeedUI).

### Culturefeed\_social

[](#culturefeed_social)

All ‘social’ features: likes, comments, attends, etc.

**[More info at wiki page](https://github.com/cultuurnet/culturefeed/wiki/Culturefeed-Social)**

### Culturefeed\_uitpas

[](#culturefeed_uitpas)

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.

**[More info at wiki page](https://github.com/cultuurnet/culturefeed/wiki/Culturefeed-UiTPAS)**

To integrate UiTPAS we wrote a [tutorial](https://github.com/cultuurnet/culturefeed/wiki/Tutorial-UiTPAS).

### Culturefeed\_mailing

[](#culturefeed_mailing)

To create mailings with search results from event (based on lifestyleprofile, Vlieg weekendflash, …). **Not yet available for partners.** Please contact us if interested.

### Culturefeed\_messages

[](#culturefeed_messages)

Send messages to other users (most likely page owners), interesting when actors become pages.

### Culturefeed\_userpoints\_ui

[](#culturefeed_userpoints_ui)

Collect on line userpoints (for specific actions like writing reviews) and claim promotions (Vlieg). **Not yet available for partners.** Please contact us if interested.

### Culturefeed\_roles

[](#culturefeed_roles)

Pre-assign roles to UiTID users that have not logged in yet. Drush integration.

### Culturefeed\_calendar

[](#culturefeed_calendar)

UiTkalender functionality not yet released on UiTinVlaanderen (some extra features are going to be added in next release)

### Culturefeed\_content

[](#culturefeed_content)

Adds a CultureFeed content field to add a search query to any of your content types.

### Culturefeed\_saved\_searches

[](#culturefeed_saved_searches)

With this functionality your user can save a search and create alerts from it.

### Culturefeed\_sitemap

[](#culturefeed_sitemap)

Creates a sitemap for events, productions and actors, see example .

### Examples

[](#examples)

There already a lot of integrations live on the 3.x version (and still counting):

-
-
-
-
-
-
-
-
-
-
-
-

License
-------

[](#license)

[Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.html)

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance11

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community31

Small or concentrated contributor base

Maturity80

Battle-tested with a long release history

 Bus Factor3

3 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~75 days

Recently: every ~214 days

Total

29

Last Release

2359d ago

Major Versions

v3.10.2 → 4.0.02019-11-14

### Community

Maintainers

![](https://www.gravatar.com/avatar/d36d172d00ced6637c459c23a28191f50ed5e6bbe46ec97e07b78f166fbdff18?d=identicon)[dev-publiq](/maintainers/dev-publiq)

![](https://www.gravatar.com/avatar/df052a58ecfa5a07fd2b4cb12bb128ab28ff4b8e82fb0831eab81623b898ddb4?d=identicon)[madewithlove-machine-user](/maintainers/madewithlove-machine-user)

---

Top Contributors

[![lukdens](https://avatars.githubusercontent.com/u/898075?v=4)](https://github.com/lukdens "lukdens (998 commits)")[![zuuperman](https://avatars.githubusercontent.com/u/1125693?v=4)](https://github.com/zuuperman "zuuperman (756 commits)")[![svenhoutmeyers](https://avatars.githubusercontent.com/u/897699?v=4)](https://github.com/svenhoutmeyers "svenhoutmeyers (626 commits)")[![stijnswaanen](https://avatars.githubusercontent.com/u/2233159?v=4)](https://github.com/stijnswaanen "stijnswaanen (477 commits)")[![cyberwolf](https://avatars.githubusercontent.com/u/95102?v=4)](https://github.com/cyberwolf "cyberwolf (322 commits)")[![Stalski](https://avatars.githubusercontent.com/u/448077?v=4)](https://github.com/Stalski "Stalski (214 commits)")[![HnLn](https://avatars.githubusercontent.com/u/5806950?v=4)](https://github.com/HnLn "HnLn (206 commits)")[![leevingo](https://avatars.githubusercontent.com/u/7374080?v=4)](https://github.com/leevingo "leevingo (139 commits)")[![veerlehanssens](https://avatars.githubusercontent.com/u/3438927?v=4)](https://github.com/veerlehanssens "veerlehanssens (123 commits)")[![kristofser](https://avatars.githubusercontent.com/u/5928907?v=4)](https://github.com/kristofser "kristofser (109 commits)")[![ThomasJacobsWK](https://avatars.githubusercontent.com/u/30793308?v=4)](https://github.com/ThomasJacobsWK "ThomasJacobsWK (81 commits)")[![laurensvandeput](https://avatars.githubusercontent.com/u/1133315?v=4)](https://github.com/laurensvandeput "laurensvandeput (63 commits)")[![JonasVHG](https://avatars.githubusercontent.com/u/4658984?v=4)](https://github.com/JonasVHG "JonasVHG (59 commits)")[![alduya](https://avatars.githubusercontent.com/u/255367?v=4)](https://github.com/alduya "alduya (49 commits)")[![wtrv](https://avatars.githubusercontent.com/u/4246645?v=4)](https://github.com/wtrv "wtrv (46 commits)")[![driesdeclercq](https://avatars.githubusercontent.com/u/888323?v=4)](https://github.com/driesdeclercq "driesdeclercq (42 commits)")[![robertstatik](https://avatars.githubusercontent.com/u/2469957?v=4)](https://github.com/robertstatik "robertstatik (37 commits)")[![pfrenssen](https://avatars.githubusercontent.com/u/442924?v=4)](https://github.com/pfrenssen "pfrenssen (28 commits)")[![nleroy](https://avatars.githubusercontent.com/u/111720?v=4)](https://github.com/nleroy "nleroy (19 commits)")[![bertramakers](https://avatars.githubusercontent.com/u/959026?v=4)](https://github.com/bertramakers "bertramakers (18 commits)")

### Embed Badge

![Health badge](/badges/cultuurnet-culturefeed/health.svg)

```
[![Health](https://phpackages.com/badges/cultuurnet-culturefeed/health.svg)](https://phpackages.com/packages/cultuurnet-culturefeed)
```

###  Alternatives

[magento/community-edition

Magento 2 (Open Source)

12.1k52.1k10](/packages/magento-community-edition)[roave/backward-compatibility-check

Tool to compare two revisions of a public API to check for BC breaks

5953.3M56](/packages/roave-backward-compatibility-check)[internachi/modular

Modularize your Laravel apps

1.1k662.4k8](/packages/internachi-modular)[wsdltophp/packagegenerator

Generate hierarchical PHP classes based on a WSDL

4351.9M19](/packages/wsdltophp-packagegenerator)[magento/magento2-functional-testing-framework

Magento2 Functional Testing Framework

15511.5M30](/packages/magento-magento2-functional-testing-framework)[wheelpros/fitment-platform-api

Magento 2 (Open Source)

12.1k1.2k](/packages/wheelpros-fitment-platform-api)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
