BP Group Calendar - comments, notifications, editor, widget.

Hello,

I have a few issues/suggestions/questions regarding the otherwise (would be) nice BuddyPress Group Calendar plugin:

1. I am missing a simple possibility for group members to be able to respond to an event. WordPress has a nice commenting feature integrated. Could you enable comments on each event?

2. The plugin is sending e-mail notifications to all group members on new event creation. Is it possible to deactivate these emails?

3. In the initial view of the Calendar tab there is already visual editor open for creating new event. Would it be possible to display just a button, e.g. <Create Event> in the initial view, which would open the editor only after clicking on it?

4. The "User's Group Events" widget does not work, and seems not well designed, anyway. In some other thread I have read that it should display upcoming group events for all logged in user's groups but only those which are public. On my testsite it shows nothing, for no groups, no matter if public or private (granted access for you).
But anyway, why does it work only for public group? Please, make it working for both private and public groups.

I hope at you can solve at least items 1-3 easily.
Regards,
Stefan.

  • Adam Czajczyk

    Hello Stefan,

    I hope you're well today and thank you for your questions!

    Most of the issues you raised are not currently possible with BuddyPress Group Calendar. Implementing them would require some (more or less depending on a feature) serious changes in plugin's code. Therefore I moved this thread to our "Features and Feedback" forum where other members of our community can support these ideas.

    If there'll be more votes for these features our developers will consider adding them to the plugin in future.

    You can however disable "bulk e-mail notifications". For this you would want to go to the group page of a selected group and then:

    - click "Manage" menu item
    - select "Settings" tab
    - scroll down the page set the "Enable Email Notification of New Events" to "No"; that's "per group" setting so it should be set for each group separately.

    Kind regards,
    Adam

  • Stefan

    Hello Adam,
    thank you for your very fast reply, regarding the e-mail notifications. BTW, is it documented anywhere that there are some setting options for this plugin under the group Manage -Settings tab?
    However, regarding the other issues you were, IMHO, much too fast to say "not possible". Of course, they will require changes in the plugin's code. But rather simple, I believe - in case of comments and the New Event button. Maybe a work for 1 or 2 hours including thorough testing for the plugin author who knows the code? Well, let the developer tell us. Please, note that it will bring the plugin to the premium level where it is NOT in the current state, but it is so close! Please, ask the developer.
    Regards,
    Stefan.

  • Adam Czajczyk

    Hello Stefan!

    The e-mail notifications' settings are mentioned on plugin's description page:
    https://premium.wpmudev.org/project/buddypress-group-calendar/

    There's not much more about settings in plugin's docs ("usage" tab on the same page) because there's actually not much more settings available.

    You are right however on the "not possible" statement. I should have say that in a different way because what I actually meant was that "it's currently not supported by the plugin". So, that doesn't mean "it's impossible" but rather "it's not currently available as a feature". I'm sorry for not being precise enough.

    Since these are "missing features" and not a bugs the "course of action" is to post them in the "Features and Feedback" section for other members of our community to vote. New features are usually added to the plugin upon community requests :slight_smile:

    Having that said, I gave the plugin another look (including its code review) and I think that some of the things you asked for could be achieved using kind of "workarounds" so let me explain then.

    1. I am missing a simple possibility for group members to be able to respond to an event. WordPress has a nice commenting feature integrated. Could you enable comments on each event?

    WP native commenting feature will not work here. It's possible to add a form but that won't get us anywhere because these events are not custom posts so in a "WP sense" they are not any kind of content but just "internal plugin data". WP handles content based on post (regardless whether it's a post, page, other post type etc) ID and here we don't have it. Well, there's an ID but not in a way that could be utilized by core WP functions.

    However, if we used any external or a "standalone" commenting system (such as eg disqus.com), we could be able to output comment form/code there and since it's identifying content assigned to comments by URL it should work.

    I think this could be done in a similar way as well with additional custom post type created that would server as "events comments" or with some forum plugin (e.g. our our Forum or bbPress). Though that would be more difficult to make it work. Yet, if an external commenting would work for you, I think I may be able to help you with this.

    2. The plugin is sending e-mail notifications to all group members on new event creation. Is it possible to deactivate these emails?

    This has been already addressed so let me skip this question this time :slight_smile:

    3. In the initial view of the Calendar tab there is already visual editor open for creating new event. Would it be possible to display just a button, e.g. <Create Event> in the initial view, which would open the editor only after clicking on it?

    This is the one that I must admit I was "too fast" indeed. I must have been too low on coffee because there's quite a simple workaround with an additional bit of code. I just poured another cup of java in me and enlightenment came :slight_smile: Here's a simple "workaround" for this:

    <?php 
    
    function wpmu_bp_calendar_add_button() {
    	?>
        <script type="text/javascript">
        jQuery(function($) {
            $('#add-event-form').parent().prepend('<button id="bp_group_calendar_add_button">Add Event!</button>');
    		$('#add-event-form').prev().hide();
    		$('#add-event-form').hide();
    		$("#bp_group_calendar_add_button").click(function() {
    			$('#add-event-form').toggle();
    		});
        });
        </script>
        <?php
    }
    add_action('wp_footer','wpmu_bp_calendar_add_button');

    Added as an "mu plugin" this code should initially hide the form, put a "Add Event" button there and reveal the form upon click.

    4. The "User's Group Events" widget does not work, and seems not well designed, anyway. In some other thread I have read that it should display upcoming group events for all logged in user's groups but only those which are public. On my testsite it shows nothing, for no groups, no matter if public or private (granted access for you).

    The point of private groups is to keep its content private only to the members of the group, don't you agree? Making the widget showing events from private groups would break that rule. That said, by saying that "The "User's Group Events" widget does not work, and seems not well designed, anyway." you mean that issue only or is there more to it? Let me know please.

    Kind regards,
    Adam

  • Stefan

    Hello Adam,

    many thanks for your help and effort, I appreciate it a lot.

    The workaround with the 'Add Event' button works perfectly as far as I tested it. I have included the code in my child theme's functions.php. It does exactly what one can expect: initially it hides the editing form and toggles it on and off when clicked repeatedly. Great!

    Regarding the ability of responding to an event:
    This missing feature is very limiting the usefulness of this otherwise very nice plugin. It is a pity that the events are not custom posts in which case WP native commenting would probably be an easy solution.
    I would not like to use any external commenting because of performance and privacy reasons and I want to avoid being dependent on an external service. But I am using bbPress integrated with BuddyPress so there is a group forum in each group.
    If there could be a new topic automatically created in the group forum (tagged 'events') with each new event and this topic content displayed under the event details, or just simply a link to this topic be placed in the event details, that would be quite a perfect solution. - Maybe this is the way?!

    Regarding the "User's Group Events" widget:
    By saying "It does not work" I mean that on my testsite it displays no events at all, for any groups, no matter if public or private. By saying "not well designed, anyway" I mean that there is no reason to distinguish public and private groups. I mean, it should work as follows:
    a) if the (browsing) user is not logged in let the widget display nothing for him,
    b) if the user is logged in let the widget display events from all the groups he is member of, no matter if public or private. As he is a member of the (private) group(s), of course he should see the content :slight_smile:
    But wait,..., my mistake! Meanwhile writing I went to my testsite Nr.000 to try some more test and I found that the widget works exactly as I expected. I made a mistake before, I had an event scheduled on this month but the date has already passed - that's why it was not 'upcoming' any more and not displayed. Although usually I am working on my development site Nr.01 where I am sure the widget was not functioning. Now I tried to delete it and setup again and now it works there, too.
    Sorry for the confusion, apparently the widget works well for both public and private groups, just as I described above. And the information I found in another thread was false - that the widget would ignore events from private groups.

    Well, Adam, thanks to you I am getting much more optimistic :slight_smile: Out of the yesterday's 4 issues there is only one left. I believe you will find some elegant solution or workaround to enable group members to respond to events (in some simple way).

    Best Regards,
    Stefan.

  • Adam Czajczyk

    Hello Stefan!

    First of all, I'm really happy I could help. That makes me think that after all, there IS a point of drinking so much (and I drink a lot...) coffee in the middle of the nigh :slight_smile: But jokes apart, I'm really glad that works for you.

    As for the widget. That's great that you discovered that it works as it should. That leaves us with the comments issue so this gets a bit more complex but since you already got bbPress installed and that would work for you, there's a hope :slight_smile:

    I mean, bbPress is out of the box integrated with BuddyPress and since there are already forums assigned to groups - that's a good starting point. Furthermore, there's an easy way to display the topic(s) of a selected forum in any place where it's needed so I guess we could also quite easily add it to the event page. Finding an ID of a related forum also is not that difficult. The hard part is to find/create an relationship between particular topic and particular event and also "bind it all together".

    I just reviewed some code and I'm starting to get some ideas on this but I'll need a bit more time so I'd appreciate some patience. Please keep an eye on this thread and I hope I'll be able to provide you with some solution :slight_smile:

    Best regards,
    Adam

  • Stefan

    Hello Adam,
    I have found a problem with the java script that hides the editor form initially and only displays the "Add Event" button. While in the default Calendar tab view showing existing events and enabling to create a new one it works perfectly, it behaves the same when editing an existing event which is, however, confusing and not desirable. When you click the Edit button to edit an existing event the "Add Event" button is shown again, instead of opening the editor form containing the existing event to be edited.
    Could you perhaps add some code to fire the script only in the default tab view or not to fire it when editing an existing event?
    Best Regards,
    Stefan.

  • Adam Czajczyk

    Hello Stefan!

    I didn't notice it before so thanks for pointing it out. I checked my solution again and here's an updated code that's fired up only on "main" calendar page so an edit screen works like it did by default:

    <?php 
    
    function wpmu_bp_calendar_add_button() {
    	if (!bp_group_calendar_event_is_edit()) {
    	?>
        <script type="text/javascript">
        jQuery(function($) {
            $('#add-event-form').parent().prepend('<button id="bp_group_calendar_add_button">Add Event!</button>');
    		$('#add-event-form').prev().hide();
    		$('#add-event-form').hide();
    		$("#bp_group_calendar_add_button").click(function() {
    			$('#add-event-form').toggle();
    		});
        });
        </script>
        <?php
    	}
    }
    add_action('wp_footer','wpmu_bp_calendar_add_button');

    This seems to work well on my test site so give it a go please (replace the previous code with it) and let me know if it works for you too.

    I also realize that you are still waiting for that last part of the issue to be solved, that is the forum/comments integration, and I'm sorry that I'm keeping you waiting so long. Due to some other responsibilities I wasn't yet able to commit enough time to it but I think it shouldn't last much longer so I believe I'll be able to help you with that remaining issue really soon.

    Best regards,
    Adam

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.