COD in 6 has a multi-column session schedule but it's a lot of custom code in cod_session. I propose we first get in a single column schedule, as exported from DrupalCon Denver http://denver2012.drupal.org/program/schedule Here is a trimmed down (to one day) and specifics removed View export

We could leave this schedule in COD and additionally port the multi-column schedule, or after porting replace this schedule?

CommentFileSizeAuthor
#43 cod_session-schedule-display-options-incl-tabs-1379382-43.patch25.19 KBdsdeiz
#37 cod_session-schedule-display-options-incl-tabs-1379382-37.patch18.57 KBsaltednut
#35 cod_session-schedule-display-options-incl-tabs-1379382-35.patch12.25 KBtwardnw
#33 cod_schedule_view_error.png152.45 KBsheldonkreger
#32 cod_session-schedule-display-options-incl-tabs-1379382-32.patch12.3 KBtwardnw
#30 cod_session-schedule-display-options-incl-tabs-1379382-30.patch84.54 KBtwardnw
#24 cod_session-schedule-display-options-incl-tabs-1379382-24.patch76.53 KBsaltednut
#22 cod_session-schedule-display-options-incl-tabs-1379382-21.patch75.36 KBsaltednut
#20 cod_session-schedule-display-options-incl-tabs-1379382-19.patch75.36 KBsaltednut
#15 Screen Shot 2012-07-16 at 5.29.12 PM.png46.05 KBsaltednut
#15 cod_session-schedule-display-options-incl-tabs-1379382-15.patch15.17 KBsaltednut
#17 Screen Shot 2012-07-16 at 4.43.48 PM.png70.32 KBtwardnw
#16 cod_session-schedule-display-options-incl-tabs-1379382-16.patch15.25 KBsaltednut
#12 cod_session-schedule-display-options-incl-tabs-1379382-11.patch11.89 KBsaltednut
#10 Screen Shot 2012-07-12 at 3.58.02 PM.png64.36 KBsaltednut
#10 cod_session-ui-tabs-days-1670350-2.patch1.39 KBsaltednut
#9 Screenshot schedule sessions.PNG8.34 KBmjonesdinero
#8 cod-schedule-single-item-1379382-8.txt17.82 KBsaltednut
#7 Screen Shot 2012-07-11 at 1.29.05 PM.png20.5 KBsaltednut
#7 Screen Shot 2012-07-11 at 1.30.38 PM.png25.62 KBsaltednut
cod-schedule-single-column-7.txt16.31 KBcoltrane

Comments

greggles’s picture

Status: Active » Needs work

Not sure if this needs work or review, but it's more than just active for sure.

ezra-g’s picture

Status: Needs work » Needs review

Next step seems to be for someone to test this export :).

twardnw’s picture

does #1670350: Have session schedule list days on tabs render this issue fixed/obsolete?

sheldonkreger’s picture

Issue tags: +da_drupalcon

Tagging.

coltrane’s picture

#1670350: Have session schedule list days on tabs is different. This issue is only about providing an additional schedule View that uses the list style grouped by time to show a single column of schedule information.

sheldonkreger’s picture

COD ought to have a single column view as coltrane implemented on the Denver site. That's the best way to accomodate larger conferences with many rooms and time slots.

Adding tabs, as in http://drupal.org/node/1670350, is also important for large conferences. However, the developers working on that issue (brantwynn) need to know how the single-column implementation is going to work before they can add tabs to it. Right now, they are stuck working with the multi-column view, and they need to have the single column implementation committed in order to proceed.

Since they have things looking good with the existing multi-column display - and have added day tabs to it - we should consider a feature which allows site builders to choose a single column display OR a multi-column display for the schedule. Dividing the days up into tabs should be supported for both single and multi-column display. On the other hand, that adds complication that may not be worth the extra work - for example, multiple tpl.php files to handle the theming.

saltednut’s picture

Tried out this export after turning on cod_base and cod_sessions and creating some content.

One thing to note about this view is that sessions that are accepted but do not have a time slot assigned are just shown at the top which is probably not ideal.

Screen Shot 2012-07-11 at 1.29.05 PM.png

As long as sessions have time slots assigned to them, it seems to work as expected.

Screen Shot 2012-07-11 at 1.30.38 PM.png

Question: considering that this view does not use any type of .tpl file, is this change to the /program/session page View a blocker for #1670350: Have session schedule list days on tabs?

The tab implementation on that patch is heavily reliant on an included theme template file.

saltednut’s picture

StatusFileSize
new17.82 KB

Attached is a new version of the export that addresses

sessions that are accepted but do not have a time slot assigned are just shown at the top

The following filter was added:
(time_slot) Content: Date and time (not empty)

mjonesdinero’s picture

StatusFileSize
new8.34 KB

hi tested the export text here..
And the text works for me.

add 2 Sessions with time Schedule and add 1 Session with out a time..

Results is that, the session that have empty time_slot is not shown on the view, which is correct..

saltednut’s picture

Okay so here's a patch. It provides a new option inside the 'Session schedule' views formatter called 'Display format for schedule' aka 'schedule_display' if you're looking around for it in code.

Screen Shot 2012-07-12 at 3.58.02 PM.png

Thoughts... first of all- we have the giant theme preprocess function still lingering in cod_session.module! Maybe not ideal.

I'm not using the exported view. I actually just added about 30 lines of code to the cod-session-schedule.tpl.php file to provide this alternate display. The schedule_display variable is a boolean that defaults to zero (multi-column).

Also included in this patch are tabs for both display types. This is straight outta' #1670350: Have session schedule list days on tabs which was blocked by this issue.

Now then- we can definitely keep "feeding Godzilla pizza" (prob my favorite code comment I've ever read btw) but if more 'schedule_display' options are needed than just these two, the template file is only going to get bigger. Any thoughts?

ezra-g’s picture

I commented on #1670350: Have session schedule list days on tabs suggesting that we merge that issue into this one since the goals of the two issues are so closely tied: Providing a vertical schedule view with tabs for each day.

I suggest making the vertical schedule the default view, with an option to use a grid schedule.

I would be OK moving the grid schedule to its own module if that simplifies the implementation, though my sense is that it wouldn't necessarily do that.

saltednut’s picture

Oops.. wrong patch was uploaded. The one above is from #1670350: Have session schedule list days on tabs.

Correct patch attached. Sorry for any confusion.

ezra-g’s picture

Status: Needs review » Needs work

#12 still uses the ui.tabs approach that was marked NW in #1670350: Have session schedule list days on tabs.

saltednut’s picture

Assigned: Unassigned » saltednut

I will continue to work on this. Feel free to review #12 and provide feedback.

Per discussion on IRC w/ ezra-g and cafuego we are going to save the 'Session schedule' views formatter but the default Display format should be single column (aka 'Vertical').

Single column will be renamed to "Vertical"

Multi-column will be renamed to "Grid"

I am going to attempt to refactor the theme preprocess into something more manageable and ui.tabs will be removed favoring a different approach.

The tabs should meet the following requirements:

These tabs need to persist across themes, be accessible for screen readers, and degrade gracefully when JS isn't enabled which means this should be in the module layer.

I agree that the tabs should have dedicated URLs and that Quicktabs module could be a good way to implement this.

Updating the default tab based on the day automatically would be awesome, but is a "nice to have" in my view.

saltednut’s picture

I have modified the cod_schedule view under 'page_1' - it now accepts an argument to deliver a single day's schedule.
(ex: /program/session-schedule/tuesday-july-17-2012)

Somewhere we will need to document that the date argument, although acting like a contextual argument, is actually filtering during the theme preprocess function. There is no field for 'Tuesday' so there is no contextual argument that can say 'show only Tuesday' :'(

The work around is to read the argument from the url and determine if the user is trying to view Tuesday on the preprocess hook.

-- The rub here is that $form['schedule_days'] in cod_session/cod_session_views_style_plugin_schedule.inc is now not needed. Users can just create links directly to schedule days using a valid argument. I did not remove the code for this form setting on the plugin, but I did comment it out. My take here is that if we leave that setting available it will only serve to confused and frustrate users.

The tabs have been implemented using quicktabs module.

There is a new hook_menu() item for 'program/session-schedule' instead of the View. The views are instead invoked inside quicktabs.

'cod_schedule' views pages are invoke the same way as callback urls, but they do not display tabs.

I had to do a little hook_menu_local_tasks_alter() trickery to get the 'Schedule' local task to show up properly along with 'Your Schedule' like it had been before. The code I used there is pretty much lifted straight from core's node.module (line 2085)

At this point we're clear of ui.tabs and the hook_init() function has been removed.

The 'Vertical' display is set to default. The 'Grid' display (shown below) is a secondary option.

Screen Shot 2012-07-16 at 5.29.12 PM.png

Nice to have: Some work could still be done on cod_session_schedule_tabs() to determine what day it is today and one could possibly adjust settings to make 'Today' the default tab. Seems like that sort of thing might belong in another issue though.

saltednut’s picture

Assigned: saltednut » Unassigned
Status: Needs work » Needs review
StatusFileSize
new15.25 KB

Whoops - there was a small error on the 'Your Session' page.

Also, /program/session-schedule/all should return the entire schedule without tabs.

twardnw’s picture

StatusFileSize
new70.32 KB

Patch applies clean, but I'm not seeing tabs?

Quicktabs is installed an enabled (by the feature).

saltednut’s picture

@twardnw the screenshot you linked is to the callback url that is used by the quicktabs.

The tabs should be seen at '/program/session-schedule' The patch is for the latest 7.x-1.x dev.

twardnw’s picture

hmm, no tabs for me at /program/session-schedule. And I did double check to make sure I have timeslots on multiple day ;)

saltednut’s picture

gah! really sorry @twardnw - I had forgotten to rebuild the feature and add the quicktabs_tabstyles dependency. this should apply ok from my manual tests.

twardnw’s picture

haha, no worries, at least I know I'm not 100% crazy! Will test tomorrow morning.

saltednut’s picture

Here is my last one of the night. I was seeing broken dependencies relating to the Flag relationship in the View on #19.

primerg’s picture

Status: Needs review » Needs work

I tested in /program/session-schedule and it works as defined.
When I checked /program/bofs the default actions are missing. Ex.

1 of 1 slots available
Schedule a BoF Session

If I switch to grid display, I am able to schedule a bof session.

BoF views is also using the schedule format so it should not hide these actions when using the Vertical format.

saltednut’s picture

Seems the .tpl file was not accommodating the room availability/call-to-action on the single column view.

saltednut’s picture

Status: Needs work » Needs review
twardnw’s picture

patch applies clean, schedules function as intended

Might be good to adjust the order of fields in the view, I suggest:

  • Session title
  • Speakers
  • Room
  • Track
  • Exp level
primerg’s picture

works as described. other than the sorting of fields as requested above, i think this one is good to go.

mjonesdinero’s picture

patch applies good to me also..work as what needed.

primerg’s picture

Status: Needs review » Needs work

changing status for request #26

twardnw’s picture

Status: Needs work » Needs review
StatusFileSize
new84.54 KB

Ok, take a check on this one, I rearranged the fields, and also move the room to the bottom in the tpl

twardnw’s picture

Ignore that last patch, due to the work on #1668908: Replace User reference, Nodereference with References, Vertical session schedule view further work on the session schedule should continue from that issue.

twardnw’s picture

Ok, here's a patch with the updated view, order of patching is as follows:

Patch in #24
#1668908: Replace User reference, Nodereference with References, Vertical session schedule view patch in #28
Then this patch.

sheldonkreger’s picture

StatusFileSize
new152.45 KB

This is quite the house of cards we have created!

All of the patches apply cleanly. Looking at the cod_schedule View, there is an Undefined Index: 4 error message. See below.

twardnw’s picture

Status: Needs review » Needs work

Hmm, I just destroyed and rebuilt my dev site to test this. I am seeing an override on some field permissions, but I am not getting that error.

twardnw’s picture

TPL file was causing a server error, try this patch.

Instructions are to:

Apply patch in #24
Apply patch #28 of #1668908: Replace User reference, Nodereference with References, Vertical session schedule view
Then apply this patch.

twardnw’s picture

Status: Needs work » Needs review

status update

saltednut’s picture

Oder of patch apply operations:

1. cod_session-schedule-display-options-incl-tabs-1379382-24.patch #1379382-24: Single column session schedule
2. cod-references-dependency-1668908-28.patch #1668908-28: Replace User reference, Nodereference with References, Vertical session schedule view
3. cod_session-schedule-display-options-incl-tabs-1379382-37.patch (This patch!)

This should fix the broken/missing handlers on the 'Your Schedule' page View.

twardnw’s picture

looks like the relationship for flag is missing?

saltednut’s picture

From what I can tell, the flag is missing entirely - perhaps because I was not using a dev version of flag? I think maybe the feature could not enable flag.module and the flag was never set for the content type. Then I rebuild the feature and likely erased the flag entirely. Will need to re-apply #35 to try and sort this out.

So we need to be using Flag 7.x-2.x-dev?

twardnw’s picture

Yes, Flag 7.x-2.x-dev is needed

saltednut’s picture

Assigned: Unassigned » saltednut

Okay cool - marking NW.

saltednut’s picture

Assigned: saltednut » Unassigned
Status: Needs review » Needs work

...

dsdeiz’s picture

Status: Needs work » Needs review
StatusFileSize
new25.19 KB

Same as #37 but with flags created.

saltednut’s picture

#1379382-24: Single column session schedule ->
#1668908-28: Replace User reference, Nodereference with References, Vertical session schedule view ->
#1379382-43: Single column session schedule

Applies clean and the flags are in place for 'Your Schedule' (/admin/structure/views/view/cod_schedule/edit/page_2)

twardnw’s picture

Let's do this as

#1379382-24: Single column session schedule ->
#1668908-33: Replace User reference, Nodereference with References, Vertical session schedule view ->
#1379382-44: Single column session schedule

Patch applies clean, flags exist. There is an issue with the logic behind showing a flag to session speakers, but that will be addressed in it's issue

saltednut’s picture

sheldonkreger’s picture

Status: Needs review » Reviewed & tested by the community

Followed directions in #45. Everything is clean and works without errors on my fresh install. I can see the schedule with the tabs, switch between days, filters work, and the content switches between proposed/accepted based on the appropriate field values. Good work!

ezra-g’s picture

I'm excited to get this into COD - Thanks for your work here!

Note, it's a bit confusing to follow this issue when there are multiple patches that address a single issue that are intended to be applied together - If they're all part of the same issue, the standard Drupal workflow is to file a single patch.

Patch dependencies *across issues* are common, and I'm working on #1668908: Replace User reference, Nodereference with References, Vertical session schedule view next since it's a dependency and will then come back to this one.

sheldonkreger’s picture

I apologize for the confusion. Inside the da_drupalcon sandbox, we *first* applied a patch from #1668908: Replace User reference, Nodereference with References, Vertical session schedule view, then made some changes to the issue here. Since that issue has such far-reaching consequences, we've made several revisions, but needed to commit patches as we moved along. That's why we revisited #1668908: Replace User reference, Nodereference with References, Vertical session schedule view again after making changes to this issue. Here's the exact workflow.

. . .
6. #1379382-24: Single column session schedule: Single column session schedule
7. #1668908-33: Replace User reference, Nodereference with References, Vertical session schedule view: Remove User Reference and Node Reference from cod_session
8. #1379382-44: Single column session schedule: Single column session schedule
. . .

Please note that #1668908: Replace User reference, Nodereference with References, Vertical session schedule view isn't meshing with the current COD Support branch, but has been through several rounds of revisions as we've been committing to the da_drupalcon branch. The work ezra-g has recommended in that branch needs to be resolved, but that work should proceed AFTER #43 in this thread is committed. We need to stick to the order in which patches were applied within the da_drupacon branch; otherwise we could face re-working the 10 patches which are dependent upon #43 in this thread.

ezra-g’s picture

Status: Reviewed & tested by the community » Closed (duplicate)