Right now users can flag a session to add it to their schedule but we don't have a handy way of displaying the personalized schedule.

We can add a tab to the main schedule view that shows only sessions flagged "i'm attending" for the current user, and also make this visible from the /user tab. The first part seems more important.

Comments

ezra-g’s picture

Following some IA conversation with lisarex, the default navigation will be like this:

/schedule - (Overall conference schedule, like "Days 1-2: Sessions, Day 3: Code sprint"
/schedule/sessions - (schedule grid)
/schedule/session/my/schedule - (personalized schedule grid)

With a header link in the view at /sessions that links to the schedule.

For the schedule grid to exist at /schedule/sessions as a default tab with the personalized schedule as a menu tab, we'll need something at /schedule by default. We could let Views handle that for us, but I propose instead, when cod_session is enabled:
- Check if anything is responsible for the path 'schedule' and if not, submit a page node with the alias 'schedule' with some dummy text, so that it can be the parent of /schedule/sessions.

Creating nodes is traditionally done in the install profile, but we could do it in hook_enable without clobbering existing items at the 'schedule' path, and make sure this feature works with cod_support without the profile.

ezra-g’s picture

Correction: /schedule/sessions/my-schedule

greggles’s picture

That all sounds great to me.

coltrane’s picture

I'm not sure I agree with creating a parent node and assuming everyone wants that URL structure. Would cod_support assume the page content type exists? If it went to create it would that conflict with Drupal's default install?

ezra-g’s picture

We've got #974932: Add Page Content Type, so we could add that to cod_base. It would conflict with one provided by the Drupal core installation profile, but we could direct folks to manually delete this content type and then enable cod_base, which would inherit ownership of the page content type.

coltrane said he would prefer that we do this in code, but I think simply documenting this additional step for folks who are adding COD to an existing site eliminates complexity.

coltrane’s picture

It's definitely needed in the profile, and then the only technical requirement is this issue. I can't see how to solve it programmatically using Features (checking if it already exists, creating if not) so I guess we have to go with manual directions.

What will happen if you try to enable the page feature and the content type already exists?

ezra-g’s picture

Then cod_base will detect a conflict and now allow itself to be enabled, afaik.

ezra-g’s picture

Per discussion with greggles and coltrane, the plan is:

a) Define a page content type in the install profile: #974932: Add Page Content Type
b) Add hook_requirements to cod_base.module to require the page content type - This will work regardless of the way that the content type was created (in this issue)
c) create the placeholder content if it does not already exist, per above. (in this issue)

ezra-g’s picture

Status: Active » Needs work
StatusFileSize
new25.57 KB

I have more detailed on what this patch does. In the meantime, it's partially broken. Posting here as a backup of my progress ;).

ezra-g’s picture

StatusFileSize
new41.92 KB

Here is another progress patch.

I will compare this against #1004698: Proposed COD information architecture.

This patch defines a dummy "program" node with a top level menu link in the Primary links menu, and givs the Schedule view page a child menu link, thus providing a start towards the menu structure defined in the IA issue above.

Note that this requires the latest version of uuid_features from CVS which has a few related fixes, as well as the following patches to Features, which need review :) :
- http://drupal.org/node/968826#comment-3863422
- http://drupal.org/node/860974#comment-3505484

ezra-g’s picture

In order to test this on a fresh install you'll need to add uuid and uuid_features to the .profile.

ezra-g’s picture

Depending on the complexity it would add, we may wish to separate menu links into a cod_ia module for folks who don't want those enabled with the other cod features.

coltrane’s picture

+++ cod_session/cod_session.features.uuid_node.inc	24 Dec 2010 02:01:10 -0000
@@ -0,0 +1,78 @@
+    'body' => 'sweet child of mine',
+    'teaser' => 'sweet child of mine',

What?

+++ cod_session/cod_session.views_default.inc	24 Dec 2010 02:01:11 -0000
@@ -572,82 +490,82 @@ function cod_session_views_default_views
+  $handler->override_option('empty', 'Your schedule is empty. You can add sessions to your personal schedule from the <a href="./schedule/session-schedule">main schedule.</a>');

This link is wrong, I think it's suppose to be to /program/session-schedule

Powered by Dreditor.

ezra-g’s picture

Status: Needs work » Needs review
StatusFileSize
new44.6 KB

This version of the patch:

- Removes "child" node pointed out by coltrane. This was included initially to test different behavior of exported menu links pointing to nodes and Views page displays
- Adds a "Your schedule" tab
- Adds a "Quicklinks - Authenticated" menu to cod_base and a "Your schedule" link to cod_session per the IA wireframes. The general idea is that you can place the block for this menu in the header "quick links" region.

ezra-g’s picture

Screenshot of what this looks like on a fresh install with Acquia Propser theme enabled and quicklinks block in place - It's starting to resemble the wireframes :).

Only local images are allowed.

ezra-g’s picture

The S in session *s*chedule should be lowercase.

coltrane’s picture

Status: Needs review » Reviewed & tested by the community

Yes, the 's' should be lowercase, otherwise RTBC!

ezra-g’s picture

Status: Reviewed & tested by the community » Fixed

Tweaked the 's' and committed. Thanks!

http://drupal.org/cvs?commit=469678

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.