The Consumer Center of North-Rhine Westphalia has set itself the goal to transform the joint internet project of German Consumer Centers - - into a modern, interactive, up-to-date and continuously expandable portal. This portal is intended for two main target groups: consumers and multipliers.

]init[ designed and offered a well thought-through multi-client system. The underlying content-sharing approach and further editorial tools support the editor’s teams to maintain all content areas.

The contents of this consumer center are managed by a joint editorial team based in Düsseldorf, as well as the editorial offices of the individual consumer centers in each federal state.

It is important that the content work on the portals does not take place in one place, but rather that it is decentralized and adopted by the consumer associations throughout Germany. It is also important that the contents displayed on all linked portals can be partially adapted. This allows local consumer centers to make their regional consultancy services available on their respective regional contact pages.

Why Drupal was chosen: 


Drupal was chosen for several reasons and out-ranked other solutions chiefly because it fulfilled many of the requirements.

The multi-client capabilities, content-authoring options and the high level of community support were a few key elements where Drupal perfectly met the needs. Additionally, Drupal provided reliable content management and moderation features, as well as an editor and user-focused interface.

Describe the project (goals, requirements and outcome): 


]init[ built a centralized, domain-spanning architecture that combines the CMS framework and its clients with regard to operation and support. The solution is based on the Drupal Module Suite Domain Access and allows for easy configuration of web sites on the common CMS instance of the consumer centers. The approach uses Drupal's authorization architecture to deliver domain-specific content, thereby laying the foundation for content sharing between consumer center sites.

With the decision to use the current version of Drupal 8, the Verbraucherzentrale NRW e.V. is using a state-of-the-art technology and data security mechanism, thus future-proofing the application. The implemented multi-client architecture currently allows more than 35 internet sites to be managed centrally and in a manner that efficiently conserves resources. Further developments can be performed directly on all VZ websites.

To ensure the potential to update and further develop the CMS framework, ]init[ implemented the target system based on Drupal Core functions and modules. For the project-specific need to regionally tailor the shared content, ]init[ developed a custom module that was also made available to the Drupal Community.


Organizations involved: 
Why these modules/theme/distribution were chosen: 

This module allows the system to share users, content and configurations across a group of multiple sites from a single Drupal installation with a single shared database. This helps the system to create a multi-tenant website incorporating different designs, as well as ease of content sharing and editorial workflow.

Entity Browser
This module provides a better and more informative interface for selecting entities using an entity reference field.

Content locking (anti-concurrent editing)
This module prevents concurrent editing for an entity content. With a multi-tenant platform, this module helps the system to avoid any loss of data while accidently doing the editing of a shared node at the same time.

This module provides flexibility to associate data with a node in terms of frontend positioning and variants in different fields. It is a wonderful module for a multi-tenant website to have individual homepages or landing pages with different layouts and fields variants.

This module is for event management that provides flexible registration, messaging and email functionality with blocks and views integration. In our project this module is limited used, only for registration process but can easily be extendable with future scope.

This module provides cropping interface for editors to select display area for an image to show in different layouts (imagestyle ratio) according to mobile responsive need. This provides strong features to use the same image in different responsive layouts with lightweight cropped-image variants.

Twitter Profile Widget
This module allows for the retrieval of Twitter feeds with different and configurable Twitter profiles. These widgets can be referred as an entity and easily integrated with blocks and fields. In our project, these profile widgets are provided using paragraphs for landing pages.

Search API Solr Search
This module provides Solr as a search backend to achieve a fast and broad commercial site search. Not only can the global search enable many list views, but it can also be easily managed using Solr index views to see higher level performance and reusability of single indexing.

Views slideshow
This module provides flexible slideshows with different entities and animations.

Workbench Moderation
This module provides easier content management for content administrators to moderate using different stages of a node. With multi-tenant websites, especially for shared content, this module helps to moderate the added content first before publishing to the outside world.

This module provides a newsletter facility for publishing and sending to multiple subscribers in the system. It also allows for the creation of HTML-rich Newsletters by using additional modules.

Community contributions: 

Domain Specific Field module
Team has developed a module which provides a domain-specific field that can have different values for different domains. Please note the region-specific permissions feature is not published with the current module.

Search API Solr Search module
We supported in testing the patch fix for the issue: “Call to a member function getText() on string”.

Twitter Profile Widget module
We provided a patch fix for the issue “Permission ‘Administer Twitter widget entities’ not working for other roles”.

Domain Access Simple XML Sitemap module
We provided the patch fix for the issue “SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ' for Primary key”.

Views Slideshow module
We provided the patch fix for the issue “Controls and Counters are missing for the number of items less than (number of items per slide x number of slide)”.

Project team: 

]init[ AG für digitale Kommunikation
Drupal backend and frontend development, project managers: Angela Niehaus, Lisa-Samira Henke

publicgarden GmbH
Conceptual & UI design