Closed (fixed)
Project:
Conference Organizing Distribution Support Modules
Version:
6.x-1.x-dev
Component:
cod_session
Priority:
Normal
Category:
Feature request
Assigned:
Reporter:
Created:
7 Dec 2010 at 16:19 UTC
Updated:
9 Jan 2011 at 20:30 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
ezra-g commentedFollowing 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.
Comment #2
ezra-g commentedCorrection: /schedule/sessions/my-schedule
Comment #3
gregglesThat all sounds great to me.
Comment #4
coltraneI'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?
Comment #5
ezra-g commentedWe'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.
Comment #6
coltraneIt'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?
Comment #7
ezra-g commentedThen cod_base will detect a conflict and now allow itself to be enabled, afaik.
Comment #8
ezra-g commentedPer 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)
Comment #9
ezra-g commentedI have more detailed on what this patch does. In the meantime, it's partially broken. Posting here as a backup of my progress ;).
Comment #10
ezra-g commentedHere 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
Comment #11
ezra-g commentedIn order to test this on a fresh install you'll need to add uuid and uuid_features to the .profile.
Comment #12
ezra-g commentedDepending 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.
Comment #13
coltraneWhat?
This link is wrong, I think it's suppose to be to /program/session-schedule
Powered by Dreditor.
Comment #14
ezra-g commentedThis 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.
Comment #15
ezra-g commentedScreenshot 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 :).
Comment #16
ezra-g commentedThe S in session *s*chedule should be lowercase.
Comment #17
coltraneYes, the 's' should be lowercase, otherwise RTBC!
Comment #18
ezra-g commentedTweaked the 's' and committed. Thanks!
http://drupal.org/cvs?commit=469678