Station Module Requirements

You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

The purpose of this wiki page is to develop a list of functional requirements for the Station module as development proceeds. The list is divided into Must Haves, Nice to Haves, and Future Considerations. Please add your own station's requirements to the list under the appropriate category with your d.o username next to each that you agree with. Please consult the group before demoting any requirement.

When a general consensus direction is reached on each requiremnt, these can be turned into issues at the Station issue queue

This list began out of conversations from the Drupalcon 2012 Radio BOF in Denver hosted by drewish as how to proceed in D7. We're updating as Tim Plunkett is in the beginning stages of the Drupal 8 port.


  • Show (or Program) Scheduler (drewhutchinson, sjeslis, sadieswanson)

    • Down to the minute
    • Create and edit all "on-air" times in one place
    • Fields would be: Title, short description (times on-air), Image (large and tumbnail), Show Description (Body)
    • Calendar view of all programs, Day, week, month
  • Playlist (drewhutchinson, sjeslis)

    • Charting system to track top spins
    • Flexibility to add custom fields without needing too much hackery
  • Now Playing Block (drewhutchinson, patricroma, sjeslis)

    • On Air now (show) (sjeslis)
    • Track now playing with cover art (sjeslis)
    • Last 'x' number of tracks that played (sjeslis)
  • Audio archive (drewhutchinson)


  • Musicbrainz and/or Amazon integration on playlist, catalog nodes (will catalog be in a D7 port? -ra)



For the schedule there are several options that may be defined. For show x that airs at 8:30 am every other Monday morning and lasts 2 hours it could be setup as:

  • Scheduled at a full "calendar" level
    • Repeating dates - April 2nd 8:30am to 10:30am / April 16th 8:30 to 10:30am etc...
  • Shows are scheduled for a Day and time range
    • Monday 8:30am to 10:30am (some how noting that it is alternating with another show)
  • Shows are scheduled for a Week / Day / Time Range
    • Odd or Even Weeks - Monday - 8:30 to 10:30

For the full calendar option is seems easy enough using views / date fields to create a "playing now" block. For the next two options it is less clear how to make that work.

For my case (joemoraca) option 3 would work best as it seems simpler to understand - but for determining what is playing now or today you somehow have to parse out week, day and time to match now().

Just to second this, option 3 is also best for us (sadieswanson) as all of our shows get scheduled on a weekly basis. If this was available we would definitely use it.


Sourcefabric Airtime

darvit's picture

An open source radio automation software that has some features similar to what is described above. Perhaps worth a look to investigate some features.

Mabe even Drupal can provide the consumer-facing radio station website and connect to airtime to provide the show/song/announcer infromation.

Has anyone looked at this?

jefgodesky's picture

It seems pretty impressive to me, but my station is a bit different from most of yours. What do the rest of you think of this?

Jason Godesky

I think a good place to start

jayepoch's picture

I think a good place to start might be to determine whether or not the Station module itself is used to run the radio stations broadcasts, or if its purpose is to only provide information about those broadcasts.

The old station module seems to have taken the latter approach -- taking a radio stream that was already running and building a Drupal site around it. ie, the Station Archive module used StreamRipper to archive the broadcast. For an internet radio broadcaster this is highly redundant.

If the Station module can't be used to run the station itself then all the auxiliary metadata is being entered into a system twice -- once into whatever is being used to run the station itself, and then again into Drupal.

So for me, the first Must Have would be to develop a way for Drupal to actually power the broadcast of an internet radio station. Most of the other requirements could then be developed around this goal.

Well this sounds like a

robbt's picture

Well this sounds like a totally new project all together. The idea of running a radio station from Drupal sounds like it could work, but there are a lot of hurdles. I think that the AirTime project from Sourceforge is also somewhat interesting. We at WCRS ended up with a hybrid where we have our programmers upload to our website and then in turn we use a proprietary automation system named RadioLogik that downloads their shows as podcasts and schedules them.

I don't think that developing an automation system is within the scope of a Drupal 7 port of the Station module but perhaps something could be put together with the Community Media project.

And there is an issue with duplication of metadata. The Audio module seems to be the biggest hurdle in terms of porting the project as it has never even received a stable Drupal 6 release and I'm not sure if anyone has thought of porting it to Drupal 7.

I know that Sourcefabric at least played with the idea of developing a drupal module to integrate their system with Drupal. I don't think anyone has done any development though on this. They are currently offering their SaaS solution AirTime Pro but I don't think it offers a complete website.

I think that integration of social networking and spam control are the features we are looking to implement next, but looking forward to a drupal 7 based Station module would be useful as well.

Collaborating with the community media project (and group)

gusaus's picture

With community radio a subset of community media, I'd think there would be more overlap between the platforms and groups. Andy, who posted this wiki, also had some thoughts on this.

From what I can gather, there's not yet a plan to port community media to Drupal 8. So possibly it would be a good time to see if/where it makes sense to collaborate and pool resources. They already have provided the guide for effective collaboration.

Gus Austin

Lessons learned from Radio Engage and Open Media Project?

gusaus's picture

Almost 8 years ago there was a similar discussion about looking for overlap between what at the time were two Knight funded community media projects. Not sure exactly what evolved over the years, but to the best of my knowledge Radio Engage (which was going to build on the station module) was never finished and a lot of the work started as the Open Media Project morphed into Community Media Drupal.

Not having any direct involvement with either, there are probably some lessons we could learn by getting a better feel for how those projects evolved. If lack of collaboration and pooling of resources was part of the problem, possibly this could be a new opportunity build off any lessons learned.

Anyone with direct knowledge of these projects have any words of advice?

Gus Austin

Airtime Fills Part Of The Bill..

sjeslis's picture

I didn't see that it had an "AutoDJ" like Station Playlist does. Typically at my on-line station we have "shows" 3 hours a day and the rest are auto-generated playlists.

Let's get the ball rolling..

ydahi's picture

Any Drupal developers willing to tackle the integration of AirTime?

I can provide some support and possibly sponsorship.

Web & Multimedia Developer

I have been thinking about

robbt's picture

I have been thinking about doing this with my cooperative. The radio station I help run has been planning a move to airtime and we already use drupal for our website. I know that there has been some talk about it, but how would you want the two to integrate.

We are in the process of

ydahi's picture

We are in the process of setting up a campus radio station, pending license, and are looking to invest heavily in the web-end of the the project by delivering podcasts, on demand/livestreaming video and audio, interactive playlists, etc.

I'm still playing around with AirTime, internet radio is a completely new beast for me, however I will share requirements once the client provides them.

In the mean time, can we possibly create a new wiki so that we don't hijack this one?

Web & Multimedia Developer

Continue with this wiki for Drupal 8?

gusaus's picture

I came across this wiki as I was looking to create something similar for the Drupal 8 port in progress. Instead of just creating another one, we should probably update and use this one. To start with, would those familiar with the current Drupal 7 module care to update the wiki accordingly? We can continue to use the comments to discuss features,requirements, and overall status.

Also, per our discussion on d.o., we're still looking for a "product owner" to help decide the functionality and scope of the project. Anyone interested in playing that role?

Gus Austin

Fundraising features developed for Audience Engine

gusaus's picture

Just posted about Audience Engine before I discovered this wiki. Here's a list of features they're developing -

Audio Archive Management
Live Interactive Playlists
SoundExchange reporting
Traffic Control: Program & spot scheduling
Support for Podcasts, Video & Images
Per-Program Crowdfunding

One-Click Donations
Gift Inventory
Mini-Goals–>Overall Goal
On and Off-Site Donation Widgets
Peer to Peer Campaigns

Email Management
Behavior Tracking and Analytics
Major Gift Research
Social Media Management

Packing Slips
Postal Codes
Gift Inventory
IRS Tax Letters
Customer Service

User registration, profiles, favorites, analytics
Cross-organizational search (opt-in audience sharing)
Chat, annotations, commenting
Crowd enrichment of content
Metrics on your community: Learn what they like and tailor your fundraising accordingly

Not sure how much of this functionality is already built into the Station modules, but many of these features could be beneficial for stations. I'm particularly interested in their fundraising component, called Mynte, as this 'could' be a way for stations wanting to test out the platform in development to help raise funds for the ongoing effort.


Gus Austin

Ok so the audience engine

robbt's picture

Ok so the audience engine project seems interesting but it also appears to mainly aimed to be a SAAS project. They have no links to source-code and/or instructions for deploying it yourself.

I did manage to find a could of repositories - a select framework for a javascript framework known as ember.js

The other Repo is

Neither of these appear to have much code relating to the feature set they are promoting.

I think that radio station scheduling and playback is beyond the scope of what should be accomplished in a Drupal module. Airtime does a lot of that and their pro version which they plan to release the source code too (it was on github until recently), is pretty functional in this regard and has APIs that can feed to a station regarding what is scheduled etc.

Just some thoughts. I'd love to see the source code to Audience Engine since they are touting it as open-source.

Audience Engine will play well with Drupal

gusaus's picture

I reached out to Audience Engine regarding if/how it could work with Drupal. Got this info back from one of the folks leading their effort:

Audience Engine will incorporate nicely into Drupal, it is just no longer based on Drupal itself, we made this decision to streamline AE's ability to be inserted into any other CMS.

Think that was the right decision on their part.

My hunch is we're not seeing stable code on github because they're still in early stages and releasing pieces incrementally. As it looks like their fundraising component is their first release (this presentation was from their launch event last November) it would be ideal if we could work with them to incorporate into our solution.

The goals are very well aligned as it could provide a means again for stations and producers to help pay for their technology. And possibly we could help incorporate their features into a variety of music/media centric setups that will help media and content producers sustain themselves.

I'll see if I can point their team to this discussion and see if we can identify some points of collaboration.

Gus Austin

Spinitron to merge with Audience Engine

gusaus's picture

Looks like Audience Engine will be incorporating features provided by Spinitron into their platform.

Interestly it doesn't look like they'll be an open-source version of Spintron, so I'm guessing all of the functionality would be handled by Station. From the looks of it, most of it already is? Are there any other features we should have?

Gus Austin

From my understand the

robbt's picture

From my understand the functionality that Spintron provided was primarily with regards to providing reporting logs etc towards the various license holders of music rights etc. This type of song specific time specific station log is beyond the current scope of the Station module and would require a significant amount of incorporation with whatever playback system exists.

There is a project to implement this for Airtime - by a Canadian radio station. See - I think that the actual log reporting etc would need to reside at the automation/playback level.

I don't think building this from scratch with Drupal is as feasible a project as building a radio station website template that provided as much as the public facing functionality as possible and then adding glue to connect to various automation/streaming backends such as Airtime or Rivendell or any of the other pre-existing automation systems.

A lot of small radio stations could just use a nice web interface template where they could upload their podcasts, show their schedule and have a link to donations etc (the functionality promised by Audience Engine). Many LPFM and web-based stations out there have very small budgets and are reliant upon volunteers to build everything. So I think building a distribution that aimed to help build a web presence that looked good and was easy to manage is probably a good first step.

Most features already included?

gusaus's picture

From the looks of it, most of the 'radio' features of Audio Engine are already part of the Station module(s). The exceptions being, like you pointed out, SoundExchange reporting, statistical reports...but not much else? So I don't think we'd need to build anything new into the Drupal 8 release.

And, similar to Drupal Commerce, the station modules could be included in a distribution that could be easily managed and customised by non-drupal users. I think we could probably provide a nice, out-of the box solution with Station on top of Panopoly right now. With the Drupal 8 port still a bit down the road, maybe we can create a stable release for D7 in the interim.

That said, it would be great to get some more input from people, stations, or Drupal shops that actually use or have used this set of modules. What would a MVP look like and what would be the time/cost needed to get there?

Gus Austin


Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week