PrestoCentre is a non-profit, membership driven organization that serves an international community of stakeholders in audiovisual digitisation and digital preservation.

Screenshot of the PrestoCentre.org website
Why Drupal was chosen: 

Drupal was chosen for its scalability. The vast number of high-quality contributed projects also made Drupal a great choice for developing a growing community website like PrestoCentre.org.

The website was initially released as beta in Drupal 6 back in 2011, but in 2012 the site was migrated to Drupal 7. New functionality is regularly being added during ongoing maintenance releases. In January 2013 a new design and several new features were introduced.

Describe the project (goals, requirements and outcome): 

The main business goals of this project were the following:

  • Provide a scalable publishing platform for a small to medium community
  • Allow distributed and collaborative work
  • Allow the site to adapt to new requirements and moving targets from a variety of projects

These goals were achieved by working side-by-side with the client in an Agile process. The User Stories were discussed during sprints and - as with all Agile projects - given solutions were always open for discussion.

A highlight of some important features of the site

Content and users in groups

Organic Groups is used throughout the site. The site’s Library consists of 9 sections (groups) in which content (Tools, Resources and Projects) is saved. The same sections are used in the Forum to organize discussions. Every organization registered with the site is a group, and any employee of that organization is a member within the related group.

Specific functionality for the site’s community was made available with custom modules. For instance, when registering on the site one can select an existing organization or add a new one. When linking one’s account with an existing organization, the e-mail domain is validated against the company’s domain as well as against the member limit set for the organization.

Advanced search functionality

The site makes extensive use of the Search API module, using a href="drupal.org/project/search_api_solr">Solr back-end and multiple indexes. We use it to show listings like the Calendar and the Member Directory (restricted section, see screenshot), but also to suggest related content when someone views a news item. We wrote also custom Search API fields. One example allows users to filter the list of members by entering the first letter of their name.

PrestoCentre Member Directory

Fine-tuned permissions on content

The website's business logic demanded a lot of flexibility around site users content access levels. For instance, some documents in the Library can only be downloaded by authenticated users but others may be downloaded by anonymous users. The same goes for the forum: some forums are visible to non-members, but they can't read individual posts or add content, whereas other forums are visible to everyone. The site also has forums that are hidden from non-members.

We integrated the Workbench Moderation module to allow multiple editors to work on content and enable drafts to be reviewed for approval before they go live.

Lots of layout flexibility for editors

The Shortcode module allowed us to add custom markdown code giving editors the ability to design more advanced pages. Just by using simple tags they can place content in columns, add fancy looking buttons and highlight images with drop-shadows.

Technical specifications

Drupal version: 
Drupal 7.x
Why these modules/theme/distribution were chosen: 
  • Organic groups: Used for sections in the Library, for discussions in the Forum and for users in each Organization.
  • Search API (Solr): Used for the indexing of all content. We use two indexes; one for nodes and one for users. We also use several child modules like Search API Autocomplete, Search API Views, FacetAPI and Date Facets.
  • Display Suite: We love Display Suite. .tpl files and divitus are history. We want semantic markup, not semantic classes.
  • Features: We manage each of our projects in a controlled DTAP environment using continuous integration. To be able to do so, we use Features (with Strongarm) to export configuration to code. For more information about our process you can view our presentation about continuous integration.
  • Views: For the overviews, slideshows, related content and what not.
  • Workbench Moderation: Used for workflows in which editors need to approve written content before it is published (and when it's edited again).
  • Manual Crop: With this module, editors can crop images for slideshows and overviews.
  • Shortcode: This is an input filter with WYSIWYG integration that allows editors to insert fancy HTML using simple bbcode-like tags. For example: [button link="http://drupal.org" size="large"]Click me[/button].
  • Bakery Single Sign-On System: To connect prestocentre.org with communities.prestocentre.org (an Open Atrium installation).
  • Migrate: used as a framework to migrate the content from Drupal 6 to Drupal 7.
  • WYSIWYG: For obvious reasons, using CKEditor.
Community contributions: 

During the project, patches for several projects were created including Conditional Fields, Feed Comment Processor, GTranslate, Notifications, Shortcode and Workbench Moderation.

This project resulted in two new modules that were shared on drupal.org: Node Webform Access (to deny access to nodes attached to a web form when access to the web form is restricted to certain roles) and OG Formatters (to separate multiple group names with commas, just like Term Formatters does).

Organizations involved: 
Project team: 

The 2013 redesign of the website was done by JurriaanRoelofs. The implementation of this design (and the initial migration from Drupal 6 to Drupal 7, and current maintenance on the website) is performed by the Amsterdam based Drupal company LimoenGroen along with team members above.

Screenshot of a section in the PrestoCentre Library
Screenshot of a resource
Screenshot of the PrestoCentre Member Directory
Sectors: 
Community
Media
Non-profit
Technology

Comments

mohit_aghera’s picture

Which module did you used for the language translation dropdown functionality..

-Mohit

BarisW’s picture

Apologies for the late reply, I'd expected drupal.org to send me notifications on new comments, but that doesn't seem to be the case. We're using the Gtranslate module for this: https://drupal.org/project/gtranslate

Baris Wanschers (@BarisW)
Drupal specialist

Katty54353’s picture

Very nice and useful site.

storin’s picture

The site looks clean and the theme is great. thumbs up

iamalwayslost’s picture

Hi how did you get images to show up on search results?

Thanks.

BarisW’s picture

We're using Search API to search in the website. The Search API module can use "Search Pages" or "Views" to show the results. In Views, you can simply show the node's image as one of the fields to display. If you're using Search Pages, you get a View Mode to put your fields in (the Search Result view mode). So here you could drag in your image field as well.

Baris Wanschers (@BarisW)
Drupal specialist

shamio’s picture

Clean, nice and good looking design. I just want to know why didn't you add any caching module like Boost or anything else to speed up serving pages? Also as i see some images on the page can be optimized using loss-less compressing. For example (measurement_and_evaluation_0.png) and some other images can be compressed to get more than 50% reduction.

thinkdrupal’s picture

Nice and smooth site.
What module did you use for your calendar/events?

adamjsmith’s picture

It's a clean and simple design. Very informative. Navigation is excellent. Way to go!

adem g.’s picture

Hello, which module u use for slider?
Hoop dat ik ooit ook zo ver kom met Drupal.

havenlied’s picture

Nice community. and Key modules/theme/distribution used. loved to see that site. thanks for providing such a great site.

Regards
Havenlied