The STEM Learning organisation aims to achieve a world-leading education for all young people in science, technology, engineering and mathematics (STEM). It does this by supporting teachers, technicians and support staff through high-quality continuing professional development (CPD) and resources.

Until last year, the various services were provided by different websites giving users a disjointed experience and using up valuable time. STEM Learning issued a tender in early 2015 to create a single website and a new digital brand in order to bring everything ‘under one roof’ and provide users with a much-improved User experience.

We worked with the internal team at STEM Learning to create a new digital identity, create a single website containing all the key functionality that had been spread across multiple sites, and migrate data from those sites into the new site.

Stem homepage shown in desktop, tablet, and mobile
Why Drupal was chosen: 

When STEM Learning issued a request for proposals, there was no indication of a preferred content management system. What the client did have was a list of over 300 required features including various integrations with external systems, such as an events management system and video platform.

The project also had complex data migration requirements as it was bringing a range of data types from different websites into a single new site.

Using Drupal meant we could guarantee that all of their requirements could be met, that this could be done in a responsive design, and that they would have a platform that could continue to be extended. We could also guarantee that Drupal could support a busy online community of teachers.

Describe the project (goals, requirements and outcome): 

The primary business goal was to produce a website that school teachers of STEM subjects would consider an essential resource. This involved amalgamating features spread across four separate legacy sites, and creation of a new digital identity. The new site had to contain almost all of the legacy content, including over 12,000 learning resources, 50,000 files, and 200,000 users. In addition to migrating the users it was also necessary to migrate their history: comments, forum memberships, and bookmarks.

Specific requirements included multimedia learning resource publication, course bookings and payments, special interest groups, forums, commenting, tagged lists, microsites, customisable landing pages, and personalised dashboards.

The project started in March 2015 and launched in December 2015, and now provides the team at STEM Learning with a single platform for engaging with and supporting teachers.

The project started in March 2015 and launched in December, and now provides the team at Stem Learning with a single platform for engaging with and supporting teachers.

Post-launch and Ongoing development

Our relationship with STEM Learning did not end with the deployment of their new website, as they continue to develop and improve their digital offer. Our developers continue to work closely with STEM to deliver new functionality for their website.

Reporting

STEM identified a need for a ad-hoc report generation, to track resource downloads and user registrations within any given time period. The user registrations also needed to be reported on daily, and the results exporting to an external service.

We worked with STEM to identify the requirements, which helped determine the number of individual reports we needed to create. We then built several unique reports, complete with a number of different criteria selectors available for each report.

Spam monitoring

As part of the original brief, we delivered functionality for special interest groups and also user commenting. Unfortunately, spammers began to target the STEM website comments and a need for spam moderation was born.

We built a set of custom dashboards which were integrated with an external spam filtering tool. This enabled STEM to see what had been automatically caught by the filter, mark any false positives in the list, and capture any spam that had not been caught.

STEM Directory

The STEM Directory was briefed as a database of enrichment opportunities offered by STEM businesses, either for bringing into the classroom or to in the real world.

We needed to come up with a new workflow for the directory activities, as these had to be moderated before being included on the directory. Along with this, a moderation area was created for easy publishing, and email notifications for the moderators and publishers were implemented as part of the moderation workflow.
A custom module was created to enable this to be delivered.

IA restructure

As the offer from STEM Learning grew they identified a change in their audience, which had expanded far beyond the initial teacher audience. After they had completed a review of the site, and discovered which audiences they now needed to cater for, we worked to refresh the Information Architecture of the site. We changed their sitemap and created several new pages to enable them to add their content.

Technical specifications

Drupal version: 
Drupal 7.x
Why these modules/theme/distribution were chosen: 

Content Creation

A particularity of the site is that normal users would be allowed to create content by and for themselves, which meant the user interface for content creation had to be as simple and small as possible. Modules like Better Formats and Clientside Validation were used to simplify a few things on the interface and to provide a better experience when working with forms.
Modules like Protected Node and Scheduler were used to allow editors to create password-protected nodes, and a basic scheduling of content publication.
Wysiwyg, Insert, Oembed, Shortcode and Shortcode Wysiwyg modules were picked to enrich the content creation experience by making it very easy to embed external contents within articles and site pages.
Finally, there’s quite some logic behind the scenes for several content types, that is controlled on a node-level basis. Field permissions provided a clean way to limit access to certain fields for selected roles.

Community Groups & Newsletters

In total, four different types of groups were needed (with some variations of public and private groups), with their own set of group roles and permissions. Organic Groups was the foundation to make all this possible.
For the newsletters and group content notifications, the Flag module was used to allow each user to have their own notification preferences for each group (immediate notifications, daily digests, or weekly digests). The content alerts were built on top of this single flag type, using the Message Stack, and the Message Digest to control the processing and amalgamating of contents to be included in message digests.

Microsites and landing pages creation tools

One of the key requirements was to give site editors the ability to create landing pages and microsites by themselves. Panels was used as the main structural module to control how sections and pages would be organised within the site, but also provided the foundation on which to build custom landing pages.
Panelizer was used to make it possible for different nodes to have different layouts, selected by editors, and to allow them to use a number of custom widgets (built as ctools content_types, and as instancies of fieldable panel panes) to embed elements such as: Twitter feeds, Search boxes to redirect to search pages with pre-filtered options, latest contents from selected groups, or simply blocks of multimedia content.

Migration and integration with 3rd-party APIs

Migrate is instrumental for the site operation on a daily basis. Courses information (as well as other entities details) is updated daily on a 3rd-party backend, and custom migration scripts are used to retrieve these updates or additions every few minutes.

Performance

As the site is heavy in terms of contents, views, panel pages, etc, some basic modules are used to help with performance, the most important ones being entitycache and memcache.

Community contributions: 
Organizations involved: 
Project team: 

Branding and visual design by Andy Clarke of Stuff & Nonsense Design

Search results with facets using SOLR API
Microsite
Personalised dashboard on a range of devices
Sectors: 
E-Commerce
Education