https://redmine.gc.cuny.edu/https://redmine.gc.cuny.edu/favicon.ico2015-06-01T19:43:33ZCUNY Graduate Center - Project Tracking SystemCUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=194732015-06-01T19:43:33ZBoone Gorgesboone@gorg.es
<ul><li><strong>Assignee</strong> changed from <i>Boone Gorges</i> to <i>Raymond Hoh</i></li><li><strong>Target version</strong> set to <i>1.9</i></li></ul><p>Lotsa questions about UX and options here. What does the workflow look like? It's especially complex if we don't limit to groupblog connections.</p>
<p>My initial suggestion is to have a Group Events widget. The widget controls would allow a site user to select one of his groups, and the widget would display the next five (or whatever) events from the group, as a list. If the site is associated with a group via groupblog, the associated group would be the default value for the widget.</p>
<p>Technical note: The ability to have a calendar on subsites will require that EO and BPEO are network-activated. This is potentially problematic in the case of EO, since activating EO automatically adds a bunch of UI to the Dashboard. Quick, dumb idea: if <pre>! is_plugin_active( 'event-organiser' ) include '/path/to/event-organiser-bootstrap';</pre>, though that might have to be a custom bootstrap that tells EO to point to the root blog's tables. When EO is in active use on the current site, we'll have to swap out table references on the fly. It's going to be pretty complicated.</p>
<p>Ray, do you have thoughts about this?</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=194812015-06-01T20:47:31ZRaymond Hoh
<ul></ul><p>I'm thinking of something more like an embeddable widget.</p>
<p>Group users will be able to see some form of wizard that will generate some IFRAME html code that they can embed on external sites. Or maybe this is just a shortcode that they can embed within Commons sites?</p>
<p>This way, we bypass having to network activate EO / BPEO.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=194842015-06-02T12:45:40ZBoone Gorgesboone@gorg.es
<ul></ul><p>Yeah, an iframe is maybe a better idea, though it'll mean we have to write our own plugin to handle it. (We would've had to write our own plugin anyway :) ) We could still potentially frame this as a regular WP widget, but the markup it created would be an iframe.</p>
<p>Adding Samantha as a watcher. Sam, do you have any thoughts about how this might best work, from a user's point of view?</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=195052015-06-03T15:13:23ZSamantha Raddatz
<ul></ul><p>I got the sense from Luke that he was interested in having a full 'events' page on a group site that mirrors the group's Commons events calendar, which I think would be the case where the iframe would come into play. I can also imagine a lot of use of a widget that displays 5 upcoming events and appears on all pages of a site. I take it that we need to pick one or the other, at least for a first implementation?</p>
Am I correct that the two options we're discussing are:
<ol>
<li>a widget that's an option in the widgets area of WP. It displays the next 5 events from that group's Commons calendar.</li>
<li>a code that you find on your Commons group event's calendar page that can be copied and pasted into any external webpage to embed the full calendar (rather than a list)?</li>
</ol> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=195072015-06-03T15:45:36ZBoone Gorgesboone@gorg.es
<ul></ul><p>I don't think it's either-or. Once we've built the basic functionality - say, the ability to embed specific calendar content using an iframe - it's trivial to implement it a widget, as a shortcode, or both. My only concern was going whole-hog in terms of interface on the first version: IMO, shortcodes, while flexible, are not very user-friendly, so I was somewhat wary of making them the first user-facing version of this feature. If we're going to launch with shortcodes, I think it's probably wise to do it alongside, rather than instead of, the widget.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=195122015-06-03T16:54:59ZMatt Goldmattgold@gmail.com
<ul></ul><p>Agreed, Boone. I do think that both a whole-page view (in iframe) and sidebar widget would be useful</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=195132015-06-03T16:59:24ZBoone Gorgesboone@gorg.es
<ul></ul><p>Yes, I agree that everything would be useful (all the features!!) but we should think about the user experience of the feature when initially released. I just don't want it to be too complicated. Happy to go forward with whatever the team thinks is best.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=195532015-06-09T14:48:48ZSamantha Raddatz
<ul></ul><p>I agree that the widget is probably the way to start on this one. My only concern is how we surface that it's available to the groups; is there a way to make it obvious on the event calendar that it can be added to their blog? Or do they have to know to search for it in the WordPress Plugins?</p>
<p>As far as layout for the widget, I think list-style with the following information would be useful:</p>
<p>Event title (link to full event info if it's a public group?)<br />Date/time<br />Location</p>
<p>The list section of this site's sidebar is a good example of what I mean: <a class="external" href="http://posmanbooks.com/events/">http://posmanbooks.com/events/</a></p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=195562015-06-09T15:05:46ZBoone Gorgesboone@gorg.es
<ul></ul><blockquote>
<p>My only concern is how we surface that it's available to the groups; is there a way to make it obvious on the event calendar that it can be added to their blog? Or do they have to know to search for it in the WordPress Plugins?</p>
</blockquote>
<p>I don't think we'll require a plugin to be activated. We'll just make the widget available on every site (maybe through an mu-plugin - we already do this for one or two widgets, I think). Site admins would need to know to go to Appearance > Widgets to add it (as they'd need to know for <strong>any</strong> widget); I figure we can let them know about the new feature through the Codex and other documentation.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=208852015-09-21T17:06:26ZMatt Goldmattgold@gmail.com
<ul></ul><p>Hi All,</p>
<p>I'm writing to introduce Hannah Aizenman, who is a new GC Digital Fellow from our Computer Science program. Hannah is interested in this issue and is willing to pitch in on it. Has there been any movement on this since the last update? Is there any way that Hannah can help? She has been added as a watcher here.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=208902015-09-21T17:35:14ZBoone Gorgesboone@gorg.es
<ul></ul><p>Hi Hannah - welcome to Redmine and to CAC!</p>
<p>I think Ray is going to handle the initial implementation - it'll involve building a custom router and display interface for EO, which can be invoked via iframe, plus the network-activated widget plugin that will generate the iframe markup.</p>
<p>Hannah, we'd be happy to have some help, but I want the help to match your skill level and interests. Are you interested in working on a few wireframes for us? For instance, you could mock up how you think the widget output might structured; or how you think the widget control (in the Dashboard > Appearance > Widgets panel) should look; or what values should be user-configurable (the group, of course, but perhaps also the number of items to show?). It'd likely make Ray's job more straightforward if we had this kind of starting place. Or, if you're interested in helping out with some more technical tasks, let me know about that and I'll see how I can guide you.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=210512015-10-01T20:49:32ZHannah Aizenmanhaizenman@gmail.com
<ul></ul><p>Hi, sorry I missed the email about the update</p>
<blockquote>
<p>For instance, you could mock up how you think the widget output might structured; or how you think the widget control (in the Dashboard > Appearance > Widgets panel) should look; or what values should be user-configurable (the group, of course, but perhaps also the number of items to show?).</p>
</blockquote>
<p>I think I'd want to meet with Raymond to clarify what you'd want that differ from the typical calendar interface.</p>
<blockquote>
<p>Or, if you're interested in helping out with some more technical tasks, let me know about that and I'll see how I can guide you.</p>
</blockquote>
<p>Hmm, my skill set definitely lends itself more to backend stuff than UX. I've done wireframes a handful of times, but it's not my strong suite.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=210662015-10-01T22:23:36ZRaymond Hoh
<ul></ul><p>Thanks Hannah for wanting to get involved.</p>
<p>I can handle getting the calendar displayed without the header and footer (eg. <code>example.com/groups/GROUP/events/?embed=true</code> ~ <code>example.com/groups/GROUP/events/upcoming/?embed=true</code> ) and then, perhaps, you can tackle writing the actual widget code with the iframe output?</p>
<p>If that sounds okay, I can walk you through some tips when you're writing the widget code.</p>
<hr />
<p><b>Update:</b> I've written the code to remove the header and footer for group event calendars. For those with access to CDEV, this is now available for testing there.</p>
<p>Use the following URLs to see it in action:<br />- <code>cdev.gc.cuny.edu/groups/GROUP/events/?embed=true</code><br />- <code>cdev.gc.cuny.edu/groups/GROUP/events/upcoming/?embed=true</code></p>
<p>What's left is the widget plugin. Let me know if you are interested in taking this on, Hannah.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=211862015-10-08T00:53:34ZHannah Aizenmanhaizenman@gmail.com
<ul></ul><blockquote>
<p>What's left is the widget plugin. Let me know if you are interested in taking this on, Hannah.</p>
</blockquote>
<p>Sorry it took so long to get back to you, but yeah still interested in taking this on. Can you point me towards any documentation for/examples of doing this sorta thing?</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=211992015-10-08T23:42:24ZRaymond Hoh
<ul></ul><blockquote>
<p>Sorry it took so long to get back to you, but yeah still interested in taking this on. Can you point me towards any documentation for/examples of doing this sorta thing?</p>
</blockquote>
<p>Cool, glad to have you onboard, Hannah!</p>
<p>I've written a guide below on how to get set up with WordPress and how to go about writing the widget plugin.</p>
<p>Let me know if you encounter any issues if a certain section isn't clear!</p>
<hr />
<a name="1-Set-up"></a>
<h3 >(1) Set up<a href="#1-Set-up" class="wiki-anchor">¶</a></h3>
<ins>WordPress:</ins>
<ul>
<li>Install WordPress locally - <a class="external" href="http://codex.wordpress.org/Installing_WordPress">http://codex.wordpress.org/Installing_WordPress</a></li>
<li>Convert WordPress into a network - <a class="external" href="http://codex.wordpress.org/Create_A_Network">http://codex.wordpress.org/Create_A_Network</a></li>
<li>By default, there should be one site listed. We want to create a new site. You can create a site on this page - <a class="external" href="https://codex.wordpress.org/Network_Admin_Sites_Screen">https://codex.wordpress.org/Network_Admin_Sites_Screen</a>. We will be using this secondary site for testing our widget.</li>
</ul>
<ins>Event Organiser:</ins>
<ul>
<li>Install the Event Organiser plugin - <a class="external" href="https://wordpress.org/plugins/event-organiser">https://wordpress.org/plugins/event-organiser</a></li>
<li>Activate it on the first site listed on the Network Admin Sites page - <a class="external" href="https://codex.wordpress.org/Network_Admin_Sites_Screen">https://codex.wordpress.org/Network_Admin_Sites_Screen</a></li>
</ul>
<ins>BP Event Organiser:</ins>
<ul>
<li>Manually download the plugin from GitHub - <a class="external" href="https://github.com/cuny-academic-commons/bp-event-organiser/archive/master.zip">https://github.com/cuny-academic-commons/bp-event-organiser/archive/master.zip</a> - into /wp-content/plugins/</li>
<li>Or clone the repo if you are familiar with Git - <code>git@github.com:cuny-academic-commons/bp-event-organiser.git</code> to <code>/wp-content/plugins/</code></li>
<li>Activate the plugin on the first site listed on the Network Admin Sites page - <a class="external" href="https://codex.wordpress.org/Network_Admin_Sites_Screen">https://codex.wordpress.org/Network_Admin_Sites_Screen</a></li>
</ul>
<ins>BuddyPress:</ins>
<ul>
<li>Install BuddyPress - <a class="external" href="https://wordpress.org/plugins/buddypress/">https://wordpress.org/plugins/buddypress/</a></li>
<li>Activate BuddyPress from the Network Admin dashboard - <a class="external" href="https://codex.wordpress.org/Network_Admin_Plugins_Screen">https://codex.wordpress.org/Network_Admin_Plugins_Screen</a></li>
<li>Activate the Groups component from the Network Admin dashboard (Network Admin > Settings > BuddyPress)</li>
<li>Create a group (Network Admin > Groups and click on the "Add New" button or via <code>example.com/groups/create/</code>)</li>
<li>Once you've created your group, navigate to the group on the frontend (<code>example.com/groups/</code> and click on the group you just created).</li>
<li>There should be an "Events" tab in the group. Click on it. You should now see an empty event calendar.</li>
<li>You should see a "New Event" button. Click on it and create an event.</li>
</ul>
<p>You are set up! Now we will start writing the plugin.</p>
<hr />
<a name="2-Writing-the-plugin"></a>
<h3 >(2) Writing the plugin<a href="#2-Writing-the-plugin" class="wiki-anchor">¶</a></h3>
<p>Since we will be bundling the widget plugin with BP Event Organiser, let's start by creating a blank file in <code>/wp-content/plugins/bp-event-organiser/bp-event-organiser-embed-widget.php</code>.</p>
<p>Open the file in your preferred editor. Now we'll start writing the plugin. A plugin starts with a file header. Copy the header contents from the link below and modify it to suit our needs :<br /><a class="external" href="https://developer.wordpress.org/plugins/the-basics/header-requirements/">https://developer.wordpress.org/plugins/the-basics/header-requirements/</a></p>
<p>Since we will be writing a widget plugin, let's take a look at the Widgets API codex article:<br /><a class="external" href="https://codex.wordpress.org/Widgets_API">https://codex.wordpress.org/Widgets_API</a></p>
<p>I'll also outline an example of the "Pages" widget that comes bundled with WordPress. Let's see how that works.</p>
<p>Navigate to the WP admin dashboard and navigate to "Appearance > Widgets". Next, find the "Pages" widget and drag it to the sidebar. The contents of the widget should now expand. Fill in the "Title" field and save. Now navigate to the frontend of the site to see the widget in action in the sidebar. That's basically what we are going to accomplish, but with our group event calendar being embedded.</p>
<p>Now, let's see how that "Pages" widget is written:<br /><a class="external" href="https://core.trac.wordpress.org/browser/tags/4.3.1/src/wp-includes/default-widgets.php#L9">https://core.trac.wordpress.org/browser/tags/4.3.1/src/wp-includes/default-widgets.php#L9</a></p>
<p>You can copy that class over to our file and change the <code>WP_Widget_Pages</code> reference to something like <code>BPEO_Group_Widget</code>. Then we'll modify the class methods to suit our needs.</p>
<p>Here's a brief summary of the class methods:</p>
<ul>
<li><code>__construct()</code>: is used to set up the admin widget title and the description for the most part</li>
<li><code>widget()</code>: used to display the contents of the widget on the frontend</li>
<li><code>update()</code>: used to update the admin widget form for saving</li>
<li><code>form()</code>: displays the form that we saw under "Appearance > Widgets"</li>
</ul>
For the <code>form()</code> method, this is what we want to accomplish:
<ul>
<li>Show a "Title" field so a user can customize the title of the widget</li>
<li>Show a "Select a group to embed events for" field, which will display a <code><select></code> list of the logged-in user's BuddyPress groups.</li>
</ul>
<p>Something like:<br /><pre>
<select name="<?php echo esc_attr( $this->get_field_name( 'group_id' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'group_id' ) ); ?>">
<option value="NUMERIC_ID_OF_GROUP">GROUP NAME</option>
</select>
</pre></p>
<p>The <code>groups_get_groups()</code> function will be handy here:<br /><a class="external" href="https://buddypress.trac.wordpress.org/browser/tags/2.3.4/src/bp-groups/bp-groups-functions.php#L670">https://buddypress.trac.wordpress.org/browser/tags/2.3.4/src/bp-groups/bp-groups-functions.php#L670</a></p>
<p>Make sure to pass the user ID of the logged-in user with <code>get_current_user_id()</code>.</p>
<ul>
<li>Add a radio option to select whether the user wants to embed a calendar or list of upcoming events for that group.</li>
<li>Add input field options for "Width" and "Height" to control those options for the IFRAME</li>
</ul>
<p>For the <code>update()</code> method, we want to make sure our fields are saved, so make sure the form names from the <code>form()</code> method are mirrored here.</p>
For the <code>display()</code> method, this is what we want to accomplish:
<ul>
<li>Output the "title" from the form</li>
<li>Embed the group's event calendar using an IFRAME.</li>
</ul>
<p>For the IFRAME link, we want something that resembles this:</p>
<ul>
<li><code>example.com/groups/GROUP/events/?embedded=true</code> - to embed the event calendar</li>
<li><code>example.com/groups/GROUP/events/upcoming/?embedded=true</code> - to embed upcoming events</li>
</ul>
<p>To do this, we'll need to fetch the group:</p>
<pre>
$group = groups_get_group( array(
'group_id' => GROUP_ID_FROM_FORM,
'populate_extras' => false, // this is so we do not need to query for other group items
) );
</pre>
<p>Then, we can grab the group permalink with <code>bp_get_group_permalink()</code>:<br /><a class="external" href="https://buddypress.trac.wordpress.org/browser/tags/2.3.4/src/bp-groups/bp-groups-template.php#L1040">https://buddypress.trac.wordpress.org/browser/tags/2.3.4/src/bp-groups/bp-groups-template.php#L1040</a></p>
<pre>
// for group calendar
$link = bp_get_group_permalink( $group ) . 'events/?embedded=true';
// for upcoming events
$link = bp_get_group_permalink( $group ) . 'events/upcoming/?embedded=true';
</pre>
<hr />
<a name="3-Registering-the-widget"></a>
<h3 >(3) Registering the widget<a href="#3-Registering-the-widget" class="wiki-anchor">¶</a></h3>
<p>We have now written our widget, but we still need to register it with WordPress.</p>
<p>At the end of the plugin, let's register our widget. To do that, we'll follow the <code>register_foo_widget()</code> example from the codex article:<br /><a class="external" href="https://codex.wordpress.org/Widgets_API#Example">https://codex.wordpress.org/Widgets_API#Example</a></p>
<p>We'll need to modify that code example to suit our needs.</p>
<p>First, rename the function so it's more reflective of our widget. Second, change the <code>'Foo_Widget'</code> call to our widget's class name - <code>'BPEO_Group_Widget'</code>.</p>
<p>Thirdly, in our widget, since we are using some BuddyPress plugin functions, we must make sure that the BuddyPress plugin is active before calling <code>register_widget()</code>. Otherwise, we will get a PHP fatal error and we do not want that!</p>
<p>A simple way of determining if BuddyPress is active is by doing a <code>function_exists( 'buddypress' )</code> call:</p>
<pre>
// Do not proceed if BuddyPress is not available
if ( false === function_exists( 'buddypress' ) ) {
return;
}
</pre>
<p>Since our widget also depends on the BP Event Organiser plugin being active on the main (first) site, we should also check to see if BP Event Organiser is activated on that site.</p>
<p>This is how I would go about this:</p>
<p>- Grab the active plugins list from the first site<br />- Check if the BP Event Organiser plugin is active<br />- If not, we bail from registering the widget.</p>
<p>To grab the active plugins list from the first site, you can do this:</p>
<pre>$active_plugins = get_blog_option( bp_get_root_blog_id(), 'active_plugins' );</pre>
<p>This will return an array of relative plugin filepaths for all activated plugins on the main site.</p>
<p>Now, you can use <code>in_array()</code> to search for BP Event Organiser's filepath - <code>bp-event-organiser/bp-event-organiser.php</code> - as the needle.</p>
<p>If our filepath doesn't exist, bail from registering the widget.</p>
<p>And, that should be it! Now, let's test the plugin.</p>
<hr />
<a name="4-Testing-the-plugin"></a>
<h3 >(4) Testing the plugin<a href="#4-Testing-the-plugin" class="wiki-anchor">¶</a></h3>
<p>Navigate to the secondary site's admin dashboard and go to the "Plugins" page. You should see your plugin. Activate it.</p>
<p>Next, go to "Appearance > Widgets" in the dashboard and find the widget you just created and test it out.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=212012015-10-09T01:35:37ZMatt Goldmattgold@gmail.com
<ul></ul><p>Wow. Huge thanks for putting so much time and care into this, Ray.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=214812015-11-06T17:19:28ZRaymond Hoh
<ul></ul><p>Hi Hannah,</p>
<p>Have you had a chance to work on this? If not, and you do not have time in the upcoming weeks to work on this, don't worry about it as I can take care of this ticket before our next milestone.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=214882015-11-09T17:21:40ZHannah Aizenmanhaizenman@gmail.com
<ul></ul><blockquote>
<p>Have you had a chance to work on this?</p>
</blockquote>
<p>Hi, so sorry that I totally dropped the ball on this. While I probably have time to work on this in the upcoming weeks, I figure that you can get it finished orders of magnitude more quickly.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=215952015-11-10T02:30:44ZRaymond Hoh
<ul></ul><blockquote>
<p>Hi, so sorry that I totally dropped the ball on this.</p>
</blockquote>
<p>No problem, Hannah. Thanks for getting back to me.</p>
<hr />
<p>I've coded the group widget plugin. It's available for testing on cdev.</p>
<p>To test:<br />1. Navigate to one of your sites and enable the <strong>BP Event Organiser - Group Widget</strong> plugin.<br />2. Next, go to "Appearance > Widgets" and select the <strong class="wiki-class-BuddyPress"> Group Events</strong> widget.<br />3. Configure the widget:<br /><img src="http://imgreview.com/i/gVL2l" alt="" /><br />4. Lastly, visit the site to view the widget in action.</p>
<p>Some notes:<br />- The group events widget only allows events for public groups to be embedded.<br />- I've named the widget "(BuddyPress) Group Events" because I didn't want to go with something like "(BP Event Organiser) Group Events". Could use some feedback here with the naming. Also let me know if the plugin name should be changed to something that community members will find more recognizable.<br />- As of right now, the calendar embed type requires a large widget area. The current version of Event Organiser doesn't have great responsive styles. However, the upcoming version of Event Organiser (v3.0) will.<br />- We could add other widget options for styling purposes down the road, but I've added what I feel are the bare minimum options at the moment. Feel free to chime in with feedback here.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=216032015-11-10T04:18:14ZBoone Gorgesboone@gorg.es
<ul></ul><p>Pretty slick, Ray!</p>
<p>I see why you've packaged the groups widget plugin the way that you have for the purposes of bp-event-organizer. But for the purposes of CAC, I think we should just network activate it.</p>
<p>Widget name seems fine to me.</p>
<p>It would be a cool feature (though not critical for now) if, when adding the widget, the bp-groupblog-associated group were the default selection. I assume that a majority of use cases for the widget will involve bp-groupblog.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=216042015-11-10T07:21:26ZRaymond Hoh
<ul></ul><blockquote>
<p>But for the purposes of CAC, I think we should just network activate it.</p>
</blockquote>
<p>For sure!</p>
<blockquote>
<p>It would be a cool feature (though not critical for now) if, when adding the widget, the bp-groupblog-associated group were the default selection.</p>
</blockquote>
<p>I've updated the group widget so it should select the bp-groupblog-associated group when the group selection is empty.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=216082015-11-10T16:49:03ZBoone Gorgesboone@gorg.es
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Testing Required</i></li><li><strong>Assignee</strong> changed from <i>Raymond Hoh</i> to <i>Samantha Raddatz</i></li></ul><p>Whee! Thanks, Ray. Passing this over to Sam to make sure it passes muster.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=216282015-11-10T23:22:34ZSamantha Raddatz
<ul><li><strong>File</strong> <a href="/attachments/2407">Screen Shot 2015-11-10 at 6.17.21 PM.png</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/2407/Screen%20Shot%202015-11-10%20at%206.17.21%20PM.png">Screen Shot 2015-11-10 at 6.17.21 PM.png</a> added</li></ul><p>This is so great, Ray!</p>
<p>A couple minor settings things:<br />- When configuring the widget, can it say 'Calendar From Group' rather than just 'Calendar'?<br />- Can the height field be auto-filled with 300 and then editable rather than blank to start?</p>
<p>I assume the width is managed by the theme... is there any way to give the user control over that as well, or is there a relatively standard width that we can design the calendar view for? The scrolling L/R is a little strange (see attached screenshot from TwentyTwelve theme).</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=216492015-11-12T00:35:25ZRaymond Hoh
<ul></ul><blockquote>
<p>- When configuring the widget, can it say 'Calendar From Group' rather than just 'Calendar'?<br />- Can the height field be auto-filled with 300 and then editable rather than blank to start?</p>
</blockquote>
<p>This is done and is available for testing on cdev.</p>
<blockquote>
<p>I assume the width is managed by the theme... is there any way to give the user control over that as well, or is there a relatively standard width that we can design the calendar view for?</p>
</blockquote>
<p><a href="https://redmine.gc.cuny.edu/issues/4080#note-19" class="external">As mentioned above</a>, the current styles for the calendar plugin we are using (Event Organiser) are not responsive. However, the upcoming version of Event Organiser will fix this. See:<br /><a class="external" href="https://github.com/stephenharris/Event-Organiser/issues/296">https://github.com/stephenharris/Event-Organiser/issues/296</a></p>
<p>Perhaps we might want to hide the "Calendar from group" option until Event Organiser is updated? Or add some type of help text in the widget options? (I did add some tooltip text, but that might not be visible enough.)</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=216612015-11-12T18:42:33ZSamantha Raddatz
<ul></ul><p>Looks good. Thanks, Ray!</p>
<p>I'd be into hiding 'Calendar from group' until Event Organiser is updated -- it's just a bit too wonky on the front-end for my liking right now. But the list format works great!</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=216862015-11-14T21:59:32ZMatt Goldmattgold@gmail.com
<ul></ul><p>Hi Ray,</p>
<p>Many thanks for your work on this. I have a query that may move things in an additional direction, and I'm not sure whether it is a small or large shift:</p>
<p>My understanding is that the plugin you created will allow sites to include a list of upcoming events in the sidebar. This great and is desired functionality from users.</p>
<p>But is it (or could it) also be possible to embed a group calendar on a blog page? Here's one example -- I would love to embed a group calendar from this group, which collects events from multiple organizations -- <a class="external" href="http://commons.gc.cuny.edu/groups/gc-events-and-workshops/events/">http://commons.gc.cuny.edu/groups/gc-events-and-workshops/events/</a> -- on this particular organizational page -- <a class="external" href="http://gcdi.commons.gc.cuny.edu/events-landing/">http://gcdi.commons.gc.cuny.edu/events-landing/</a></p>
<p>If I should start a new ticket for this, please let me know. Thanks!</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=216982015-11-16T23:47:58ZRaymond Hoh
<ul></ul><blockquote>
<p>But is it (or could it) also be possible to embed a group calendar on a blog page?</p>
</blockquote>
<p>Yes, it's possible. I could implement a shortcode if desired.</p>
<p>Something like:<br /><code>[bpeo-group-events url="http://commons.gc.cuny.edu/groups/gc-events-and-workshops/events/"]</code></p>
<p>I should note that the approach I'm using only works for public groups, not private or hidden ones.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=216992015-11-17T04:02:38ZBoone Gorgesboone@gorg.es
<ul></ul><p>Yeah, I think a shortcode would be great, but let's handle it as a separate ticket. Ideally, the shortcode would be accompanied by a UI button for the Visual editor that would give users a fairly easy way to select the relevant group (as you've got in the widget controls).</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=217002015-11-17T04:05:28ZBoone Gorgesboone@gorg.es
<ul></ul><p><a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Create shortcode for embedding group calendars (Resolved)" href="https://redmine.gc.cuny.edu/issues/4908">#4908</a></p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=217282015-11-18T22:34:37ZRaymond Hoh
<ul></ul><blockquote>
<p>I'd be into hiding 'Calendar from group' until Event Organiser is updated -- it's just a bit too wonky on the front-end for my liking right now. But the list format works great!</p>
</blockquote>
<p>Done! When we upgrade to Event Organiser 3, the group widget will automatically add the "Calendar from group" option back for selection.</p> CUNY Academic Commons - Bug #4080: Events Calendar: Allow sites to embed calendars from groups (perhaps via BP group blog)https://redmine.gc.cuny.edu/issues/4080?journal_id=218912015-12-03T23:24:13ZRaymond Hoh
<ul><li><strong>Status</strong> changed from <i>Testing Required</i> to <i>Resolved</i></li><li><strong>Assignee</strong> changed from <i>Samantha Raddatz</i> to <i>Raymond Hoh</i></li></ul><p>Thanks everyone for your feedback on this ticket.</p>
<p>Marking as resolved for 1.9.</p>
<p>Additional work will continue in <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Create shortcode for embedding group calendars (Resolved)" href="https://redmine.gc.cuny.edu/issues/4908">#4908</a> for group calendar embedding.</p>