I'm working on the content design for a new site, but I'm having a major hangup with some of the connections between the data types, especially when it comes to Dates and Calendars. Here's the rundown:
- Films share a many to many relationship with Programs.
- Programs can have one or many Screenings.
- Screenings each have one Date and Venue.
I've successfully accomplished this using Node Reference and Field Collection. There is a node reference between Films and Programs. Programs contains a field collection called Screenings. The field collection Screenings contains the fields Date and Venue.
The functionality I love from this setup is that each Date and Venue pair is grouped, and I can just click the Add button to generate another pair within that Program. This satisfies the one or many requirement for Screenings.
Unfortunately, when I start to build this all into a Calendar view (Date module, Calendar module), it breaks terribly. Depending on how I set things, I end up with SQL errors or index errors within Drupal. None of it works. Reading through issue posts, I've gathered that this is probably some sort of complexity added by Field Collection which is not handled in Calendar.
Short of getting Field Collection to play nice with Date and Calendar, can anyone suggest another method for implementing this? My next thought would be to move Screenings off into its own node and create another node reference between that and Programs. However, that would mean I lose the clean and simple Add button to generate a new Screening within a program.
Perhaps a custom add/edit form is all I really need. Unfortunately, that road seems rather perilous for me without some clear guidance.