Create a contextual group calendar and breadcrumb using Calendar module, Date, Views and Panels 2
Here is a step by step visual guide for creating a contextual group calendar using Calendar module, Date, Views and Panels 2.
Work/Project Summary
I wanted full control over the evolution and design of calendaring in my site, but as importantly, I wanted to maintain group home-page context as users schedule and review events.
As you may know, using Event module takes control of calendaring AND disrupts the context it moves the user from the groups area of the site with the calendar displayed into the event module breadcrumb. This is confusing for users, and I wanted to eliminate that confusion.
In order to do this I had to eliminate the Event and og_calendar modules, but I also had to have a way for the group node id (not the group id) to be read and maintained by Drupal. Once I understood what argument handling code to pass through (not just arguments), all as pretty straightforward.
The step that complicated this is that I am using mini panels to place a calendar block on the page. This is not hard, but the panel must recognize the argument handling code in order to "know" where it is in order to maintain group context. By simply passing arguments through the mini panel to the view the whole set of 1) how to display events and 2) how to maintain context was all synched up, and I could move on to clarifying the breadcrumb.
The reason breadcrumbing was so important is that this is the only way to present navigational options with "Groups/"the-group-you-are-in"/calendar context at the top of each content area following the trail from the group home page block-view to calendar-view to event listing to node. To manage the breadcrumbs a template page snippet had to be developed.
Both the Arg handling code and the snippet are included in the walk-through.
I worked with Ted Sirbinsky of Lullabot and MothersClick fame on solving this problem.

Several steps from recipe do not work
Really appreciate you painstakingly documenting the steps. However since Panel2 has evolved (just checked with beta 5) several screen shots no longer applicable. The most confusing part is mini-panels "part VII Placing Views Block in Panels 2 mini-panel" and how to pass the argument to minipanel as I do not see the place to pass argument at all to the panel
I tried to follow the steps and could not find any place where I can pass argument to minipanels. Perhaps one needs to go into "views panes" module to configure the calendar view?
about views and pannels
please tell how to work with views and how to create it. Then coming to pannels how to use it what can we do with pannels . i am beginner yesterday i installed drupal 6.11 with xampp server. i have installed successfully. but i dont know how to work with drupal . So i want some basic ideas to work with drupal . This is my mail id. siva@classle.co.in
Steps for advanced user
These steps are for advanced user. If you are new to drupal first get familiar with various aspects of drupal. There are various guides available under documentation and please go through those first.
Drupal 6
Do these steps work with Drupal 6? I've tried following the instructions, but am not having much luck getting it to work. I have a views calendar up and running fine, but I'm trying to create individual group calendars and am at a loss as to how to do it.
For Drupal 6 you can create a
For Drupal 6 you can create a contextual OG calendar block without panels the following way, using date and calendar modules and views2
Change the default for all calendar view displays the following way
2 Arguments (order is important!)
1. Date > provide default argument > current date: so just as normally
2. Organic groups: groups > Provide default argument > Node id from url > Validator group nodes, Argument type node ID, hide view if argument does not validate
Filter
Set: Organic groups: OG: Posts in current group
When you click on a day in the mini-calendar block you get now urls like: http://www.example.com/calendar/2009-05-23/76, where 76 is the node id from the current OG.
Hans
KOBA Drupal Webdevelopment
KOBA - Drupal Webdesign & Webdevelopment
Thanks!
I think I'm finally making progress. My only question now is how do I get the calendar to only show up on the group's page, not the entire site? I've also tried accessing the full calendar, not just the mini block, and can only get it to work for a group if I hardcode the path to the individual group in. I've tried node/%/calendar, but that doesn't work, nor does node/$group/calendar. Any ideas?
I've tried the same for the mini-calendar block. Show only on the following pages: and have tried node/%/ og/* $group/* and several others that didn't work.
Thanks again for the help!
To get the calendar only on a
To get the calendar only on a group page, you just can set the php block visibility settings to only show the content type of the group node. There are lots of posts on drupal.org about php block visibility settings to show a block only for one content type, so you should be able to find that and copy/paste.
My full page calendar shows up with path set to "calendar" no need to use %, the arguments get filled in automatically. Just make sure that all calendar views displays have the same arguments otherwise it does not work.
KOBA - Drupal Webdesign & Webdevelopment
creating events
I have my calendar set up to display it's events in groups, but how does a group create events? Typically one would create an event via 'create content' but this event belongs to the user who creates it rather than a particular group.
Not Sure
What I did was set up a new content type, called it og_event, and made it a standard group post. This works, showing the events only on the group calendar. The only issue is that it's not tied to a specific group, but the user, like you mentioned. If I'm in several groups, I will see events from any of the groups I'm a member of, not just the group I'm currently in. It seems like there's plenty of people who've managed to get this to work, but there's no good documentation on how to accomplish it from start to finish in D6 (at least that I've been able to find).