After four years I'm once again involved with a site that needs Station, and I'm looking to port it to Drupal 8.
I will keep this space updated with progress.

Comments

tim.plunkett created an issue. See original summary.

tim.plunkett’s picture

Version: 7.x-2.x-dev » 8.x-1.x-dev
Related issues: +#2608616: [station] Station
gusaus’s picture

So it looks like I've been tasked to help to build an online station/network for one, possibly many DJs. The plan is to build it in the open (as a Drupal Open learning project) and do some crowdfunding for the projects (we might revise and run with this), but also an operating budget to help maintain whatever d.o. project we're building on. As there's flexibility in terms of when the site needs to go live, how we can incorporate mentors/apprentices, and how we can fund and promote (live shows and public broadcasting style fundraisers are pretty much a given), it could be a pretty exciting way to develop a project.

That all said, I'm not planning to lead the development (I'd play site-builder, team builder, fundraiser, marketing, and help program events and radio shows), but was hoping to find some people with the mad skills to lead/or mentor the development.

As it looks like the D8 port is in some pretty good hands, I thought I'd see if this could be way to go. Again this would be paid work (of course development on company time is good too) and we'd develop the client sites in the open.

Would love to get your thoughts on this Tim. Could this be a good option?

mfb’s picture

As I mentioned on IRC, I am interested in this, although my availability is not constant (jobby job and all). I have talked to a network of community stations in latin america that could use it, although they were looking for volunteers, so having a fundraiser sounds great to me.

gusaus’s picture

So based on a brief conversation in #drupal-contribute it's looking like porting station to D8 could actually be great opportunity to experiment with different ways to develop and sustain projects from the community on up. If collectively we could start with projects spanning multiple communities around the US and latin america.,,there should be all sorts of opportunities to get people involved and sustain the project.

Tim pointed out, our first need is a "product owner" to help decide the functionality and scope. I'm going to agree with assessment and followup with some general questions like "what other roles would we need to fill to develop and sustain this project?" And if it's the product owner who'd be tasked to figure that out... "can we determine how much ongoing time the product owner would need to accomplish this task?"

Quite possibly I'm asking the wrong questions, so please don't hesitate to chime in if you find this potentially interesting and want to help in any way.

This could be really fun!

gusaus’s picture

Just FYI, I gave people in the g.d.o. radio group a heads up about this effort -
https://groups.drupal.org/node/505703

...and it looks like there's even more interest and people who want to get involved! Now if we can just find someone who wants to play the role of product owner?!?

gusaus’s picture

I just posted about Audio Engine in the related g.d.o. thread - https://groups.drupal.org/node/505703#comment-1141250

Some of their features are as follows:

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

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

DONOR MANAGEMENT
Civi-CRM
Email Management
Behavior Tracking and Analytics
Major Gift Research
Social Media Management

GIFT FULFILLMENT
Packing Slips
Postal Codes
Gift Inventory
IRS Tax Letters
Customer Service

ENGAGEMENT
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 this could be a great source to add on the rest.

gusaus’s picture

Didn't realise there was already a 'Station Module Requirements' wiki buried in the Radio group https://groups.drupal.org/node/220739

I made it sticky and we should probably use it to develop a list of functional requirements for the Station module as development proceeds, yes? Now I wonder if there's a list of roles/requirements for people interested in helping Tim develop and maintain the module(s).

robbt’s picture

I'm also interested in this, my station wcrsfm.org has been using the D6 Station module for years and I've been intending to work on an upgrade. I've been putting most of my development time into the Airtime open-source radio automation software as that has been our most critical goal. But I'd like to participate how I can in this whole project. I haven't really fully delved into Drupal 8 to become acquainted with the new development process but like I said I could help with this as my time and skill set allows.

Are we talking about a full-blown distribution or simply an upgrade to the station module. I see the D7 module was never really released, is anyone using it ?

It seems like the first steps in functionality would be the most critical. I'd be really interested in possibly tying this into the Airtime system, but not making it dependent upon it. We are currently using the RSS aspect of the audio module to feed our automation system and have been for years.

gusaus’s picture

With D6 end-of-life later this month, there will only be a D7 dev version of the module. Would it make sense to work towards a stable release in addition to the D8 port? If so, we probably need a couple people who could help with development and play the role of product owner for D7 and D8.

That said, it would be good to input from Tim and others more familiar the overall status.

dan.mantyla’s picture

*raises hand*

Yes, I will be glad to sign up as a developer and even as the product owner for D7 and D8 versions of Station.

I'm the web developer at Kansas Public Radio and we will need Station for when we upgrade to D8. So, you'll have a skilled programmer who can dedicate a dozen hours a week or so to this project, and has a vested interest in it's success.

I will be attending DrupalCon next month and hope to learn a lot about D8 development. If anybody else interested in Station is attending as well, PLEASE contact me so we can meet up and work on this, possibly participate in a Sprint for this module.

Cheers

gusaus’s picture

This is great!

It looks like there are a few folks in this thread who could really help with D8 port, potentially #2675200: Create a stable release? and work on other related/complementary projects. Based on the overall activity in the issue queue, I think the current maintainers could use additional help. Possibly the project needs a couple more maintainers like Dan and/or Robb who can commit some time?

gusaus’s picture

...and several months later it looks like we're going to begin a Drupal 8 distribution for radio. We're going to use Thunder as a base. With momentum (and development) of Station stalled again, does that mean there are some better D8 options for radio stations?

tim.plunkett’s picture

Assigned: tim.plunkett » Unassigned

Anyone can work on this, let me know if you need commit access

gusaus’s picture

Dan and Robb previously showed an interest in helping port Station to D8.

Tim, aside from you not having time to port the module, are there any issues you've come across that would prevent you from recommending that porting is even worth the effort? Obviously there are a lot of large and small radio stations running on Drupal... yet the Station module has not been stable since D6. Is there a better existing solution that offers similar functionality to Station? Are stations integrating Airtime or Audience Engine instead?

I believe we could port the module if there was enough stakeholder interest. We first need to decide if Station is the best option.

Any thoughts and experiences?

tim.plunkett’s picture

I don't know why Station never made it to stable for D7, the site I built using it is still on D6 so I never touched it.
I think this is still worth porting.

gusaus’s picture

Personally i have no idea how many organizations are actually using this module. Do Drupal shops who work with radio stations actually use this module? How many existing stations are either stuck on D6 or working with a dev version on D7?

If there's still a real need, there's probably enough stakeholders that could help fund development (we already a team in place for sponsored development). That's what we need to figure out first.

knight218’s picture

Has this project been abandoned?

Arg_radio’s picture

Hi!
I try the Station 8.x-1.x-dev module in my first Drupal 8 site (my experience is only in D6). Seems nice, but I have a little silly problem. I see the schedule page only if I login as admin, but as anonymous user only see "You are not authorized to access this page". In the permissions page I only grant permission to administration for anonymous users, but that seems like a really bad idea.
¿What I doing wrong? How I allow to anonymous to see the schedule without allow edit it? It´s a module problem, is something weird of the D8 or is me only making something stupid?
Many thanks!

gusaus’s picture

Interested to know if folks in this thread are using station module and what version. Is there 'any' interest in a D8 port? I know there are some large radio networks like Entercom running on Drupal. Are they just using something custom and not contributing back to the community?

bermin’s picture

I know that there hasn't been a lot of chat regarding a D8 port lately, but our community station in British Columbia, Canada is running the D7 dev and i know there is close to 6 or 7 other stations across the country that are using the 6 or 7 version. There would be more and there has been some talk about stations adopting a couple common systems for easier administration across the country, but it is hard to advocate for Station when it doesn't play well with Views and other modules. With that said, there is currently two stations that is very interested in a D8 port. I was testing what Tim has provided as a D8 dev port and found the issue with Field_collection being deprecated. I am not a code, but would love to see the community making some movement once again.

Ericmaster’s picture

Long time ago I was playing around with this and a few other modules for a tiny radio station experiment (basically so we could stream same music to the folks at the office). We used station to build playlists, generate m3u files and then pass to a liquidsoap script, pretty rough integration to be honest, we would have to restart liquidsoap service to reload the playlists and new playlist would need to added manually to the liquidsoap script. Cool thing is that at any point someone could "hijack" the stream with a live stream (dj mode), some fun stuff.., we dropped the "project" at some point due to lack of time...

After a while, I was wondering if there were new updates on this and possibly a port to D8 with new features... but nothing... then I came across with AzuraCast, built on top of the same typical technology stack that Drupal sites use nowadays (PHP, mariadb, nginx,..) It is fully featured and after trying it for a bit I think is the way to go. It has a really nice API so there should be relatively easy to integrate with Drupal. You might even load the whole project through composer along with Drupal. Unfortunately I didn't have the time or the chance to dedicate to these little experiments, but with a little incentive I might be willing to dedicate some time to do some integration with AzuraCast

gusaus’s picture

I haven't been following this thread after discovering the WordPress Radio Station plugin (which started as a fork of the D6 Drupal module) https://netmix.com/radio-station/ is stable and has most of the integrations (AzuraCast, AirTime/LibreTime, etc.) on their roadmap. There also are products like Newspack that can be extended to meet the needs of many stations.

That said, I'd assume many stations already on Drupal would rather upgrade to D8/D9 if there was a stable Station module. It also seems like some would help fund development.

The problem has been finding a developer/maintainer with time to take this on.

Would access to funds change this?

darrick’s picture

I cleaned up the 8.x code @tim.plunkett did. He definitely did the bulk of the heavy lifting.

https://github.com/darrick/station/tree/9.x-1.x

I think the schedule is the valuable piece. Programs and DJs are straight forward entity bundles. I'm still using the 7.x version here: https://kdrt.org and so what is valuable to me is the archiver as I have that automated to work with recordings from the Rivendell Radio Automation system (http://rivendellaudio.org/). I do need to get that site upgraded to 9.x. So, I'll add what I can.

gusaus’s picture

@darrick Sounds like great progress! As noted in my previous comment, this module (and Drupal) has been off my radar.. but it seems like a Drupal 9 version could be a key component in a Radio flavored recipe (or whatever comes out of the Distributions initiative).

Assuming enough folks in this discussion think a current/stable release has value, would you be interested in playing a role in maintaining? Anyone else?

If sponsorship is necessary to develop and maintain, I think there's an existing Open Collective we could use to collect/distribute funds.

darrick’s picture

@gusaus I was thinking about following up with the request for maintainer at some point: #3236870: station project open to new maintainer applications on 5 Oct, 2021. I just wanted to make sure I'd actually be able to commit time to it. I would find value in collaborating with others. But I do have to give priority to my own projects. Both of which are pretty much upgrading station as is D9. Program, Playlist, Audio Archive and Schedule with a RSS feed.

Here are my notes. Issues I was wanting to fix is set things up so more the one programmer can edit a program (Organic Groups), making it easier to subscribe to podcasts, and a persistent audio player. Integration with external podcasting services.

Content types:

Program (editable by more than one DJ)

  • Title
  • Cover Art
  • Description
  • Allow DJs to CRUD
  • DONE
  • Homepage URL
  • Genre (public affairs, music)
  • Archive longer then two weeks
  • Focus on making podcasts easier to subscribe to.
  • Allow for offsite rss feed

Podcast Audio (editable by more than one DJ)

  • Title
  • Audio File
  • Cover Art
  • One image for Podcast
  • Another image for FB (square vs 16x9)
  • Description

Playlist

  • Parent Program
  • Limit list to logged in DJs or Admin
  • Set default to first DJ show.
  • Allow DJs to CRUD DONE

Scheduleer

  • Set scheduler default date to next show date/time?
  • Pre-episode promotion and sharing.
  • So content shouldn’t show up in RSS feed until Audio is available
  • Other option is to redirect show promo to show when it becomes available.

Podcast Playlist (editable by more than one DJ)

  • Title
  • Description
  • Title, Artist, Album, Label, Start Time, End Time/Length
  • Allow DJs to CRUD
  • Difficult to enter playlists
  • Can’t enter playlist before show
  • Difficult to tie playlist to podcast

Schedule

Blog Entry

Event

Podcast feed

Multibyte support (emojis):
https://www.drupal.org/node/2754539

Persistent audio player.
https://atendesigngroup.com/articles/seamless-media-experience
https://www.cpr.org/

https://filtermusic.net/electronica-industrial

https://git.drupalcode.org/project/ajax_content

Public Radio for Every Device: Responsive and Persistent Audio Player with Drupal
https://vimeo.com/117209746

Very difficult. DEFER

gusaus’s picture

@darrick Looks like you've put a lot of thought and work into this already! Would it make sense to create an issue to brainstorm on requirements? Possibly incorporating elements of this related wiki and discussion https://groups.drupal.org/node/220739

Very early on we were having the following discussion...

Tim pointed out, our first need is a "product owner" to help decide the functionality and scope. I'm going to agree with the assessment and followup with some general questions like "what other roles would we need to fill to develop and sustain this project?" And if it's the product owner who'd be tasked to figure that out... "can we determine how much ongoing time the product owner would need to accomplish this task?"

Would it be helpful to find someone to assume that role now?

darrick’s picture

@gusaus well I did do that scope over a year ago but put it off as EOL on D7 got extended. But, I also work for [commonfrequency.org] and we are wanting to build a network of LPFM stations similar to NPR or Pacifica. A quick scan through that group post tells me I could make a case for the Station module to just be pretty much a straight upgrade. And then everything else can be handled in contributed modules or distributions. I'm certainly interested in the conversation. I think starting fresh would be helpful. As that wiki is 10 years old.

gusaus’s picture

But, I also work for [commonfrequency.org] and we are wanting to build a network of LPFM stations similar to NPR or Pacifica.

So the goal would be to provide LPFM stations with a Drupal setup (distribution or recipe #3274999: Distributions and Recipes initiative overview and roadmap) that leverages this module? If yes, maybe an update on this older idea might be a way to fund development #2608594-3: Drupal 8 port of Station?

Would be great to get some thoughts from other folks in this conversation. If there's interest, possibly OpenProducer could also get involved.

joachim’s picture

I don't remember much about it and it also needs updating for D9, but I had a vague idea that Station could use https://www.drupal.org/project/timetable for its scheduling.

gusaus’s picture

Circling back here to post something @damienmckenna (one of the previous maintainers) said about a potential port several years ago.

I started looking at porting it to D7 years ago for a radio stations project, but ultimately just built the functionality with other modules. The Station system is kinda irrelevant today, you can replicate the functionality using entity references and other modules. I think it'd be better to make a list of the functionality you want and see if there's a way of building it using existing modules, then see what's left to build.

@darrick Does that approach seem aligned with what you've been proposing? For example, would the persistent player referenced in your notes be a stand-alone project that could be referenced by/integrated with station module?

darrick’s picture

@gusaus in the long run sure. Like rather then station defining a station_program there could just be a configuration option in the scheduler to select the entity_type and bundle to "schedule". I'm always easily derailed by ideas like that.

I did get maintainer access and have released the current dev version. I will start a new issue and layout what I am able to do. I don't think the core module will change much as is for now. Everything I personally need to do I'll do in submodules.

gusaus’s picture

@darrick So great you're able to take this on! In your follow-up issue, be sure to touch on whether additional contributors (and what roles) and/or sponsorship would be helpful for creating and maintaining a stable release.

gusaus’s picture

@darrick How are things progressing? My attention is still elsewhere, but I'm curious what the feedback's been like from others still stuck on the last stable release (Drupal 6!?!) or really wanting a current version.

Is there anything (contributors, testers, funds, etc.) that would help you along?

darrick’s picture

@gusaus Other then from you I haven't heard all that much. I cleaned up the issue queue the best I could and created a beta release for D7. And made a match of that for D8.

I then have a D9 3.x branch for all the changes as far as making things less hard coded to content types and fields.

My attention is also elsewhere at the moment.