Events

3 views
Skip to first unread message

Justin G

unread,
Jun 21, 2009, 1:38:47 PM6/21/09
to CommunityEngine
I want to give a quick shout out to commit cfa4bac5a2. I've been
thinking about making enhancements to the events system and I'm glad
to see that other improvements are being made as well.
I'm announcing my plans to get feedback from others who are trying to
use events in CE. Here are some of the features I have been thinking
about:

RSVP: Users can reply Yes/No/Maybe
Comments: The model already has acts_as_commentable, add the user
interface.
GUI: The interface to add events doesn't currently work. Improve on
the date/time picker.
Reminders: Ability to send out event reminder emails.

I don't have any code implemented yet, but I've searched around github
for other rails projects with calendars/events for some inspiration.
Adding email reminders is my number 1 goal, but I will probably work
on making some of the easier changes first.

Who else is working on the events sub-system? Any other suggestions?

Bruno Bornsztein

unread,
Jun 21, 2009, 2:18:49 PM6/21/09
to communi...@googlegroups.com
Sweet. I'm all in favor.

RSVP: Users can reply Yes/No/Maybe
Comments: The model already has acts_as_commentable, add the user
interface.
GUI: The interface to add events doesn't currently work.  Improve on
the date/time picker.
Reminders: Ability to send out event reminder emails.
All great ideas. I like this datepicker, if you're looking for one: http://calendarview.org/
 
I don't have any code implemented yet, but I've searched around github
for other rails projects with calendars/events for some inspiration.
Adding email reminders is my number 1 goal, but I will probably work
on making some of the easier changes first.
I have some notification stuff I built for TennisMetro (the TM bulletins feature is subclassed from Event: www.tennismetro.com/bulletins).
I'll see if I can get that into a working branch.

Thanks!
Bruno

Carl Fyffe

unread,
Jun 21, 2009, 2:24:00 PM6/21/09
to communi...@googlegroups.com
Justin,

Thank you for making me laugh. I don't think I have ever seen someone
give a shoutout to a commit before!

To all of the dads on the list, Happy Fathers' day!

Carl

Justin G

unread,
Jun 22, 2009, 2:17:11 PM6/22/09
to CommunityEngine
Bruno,

Thanks for the link to calenarview. The other option I have found is
http://github.com/timcharper/calendar_date_select/tree/master. I like
the look and feel of calendarview better, but calendar_date_select is
already packaged as a rails plugin.

I look forward to some sample notification code. Are the
notifications sent based on a cron job or triggered by a http request?

Carl, I'm glad my comment made you laugh. I'm sorry to all the other
deserving commits that didn't receive a shout out!

Justin

On Jun 21, 2:18 pm, Bruno Bornsztein <bruno.bornszt...@gmail.com>
wrote:

eksatx

unread,
Jun 24, 2009, 5:15:38 PM6/24/09
to CommunityEngine
Thanks for the shout-out (I submitted that as a patch to Bruno as I
had not yet gotten the hang of github, pull requests, etc.).

I'm definitely interested in fleshing out the events functionality.
The things you suggested have all crossed my mind.

Here's another one: a link for 'duplicate event' that would be helpful
for events that repeat. A link like that would be much easier than
"repeating event" functionality (which in my opinion often ends up
either to simplistic to be useful or too complicated for users to
understand).

I will pitch in and help with this as soon as I am done with my
current project. I am currently fleshing out the private message
stuff. It is so close to being done that it made sense to me to knock
that out. I'll post a separate topic about that in a minute.

Anyhow, I'll keep this thread bookmarked and come back to it when I'm
free.

Errol

Chris Lee

unread,
Jun 25, 2009, 10:21:08 AM6/25/09
to communi...@googlegroups.com
I implemented recurring events with Runt (a temporal expression gem) for one of my projects. If there's interest, I can see about wrapping that up into a plugin.


From: eksatx <errol...@gmail.com>
To: CommunityEngine <communi...@googlegroups.com>
Sent: Wednesday, June 24, 2009 4:15:38 PM
Subject: [CommunityEngine] Re: Events

Mike Muldoon

unread,
Jun 25, 2009, 1:01:44 PM6/25/09
to communi...@googlegroups.com, communi...@googlegroups.com
Yes, please!

Justin G

unread,
Jun 29, 2009, 7:22:05 PM6/29/09
to CommunityEngine
Thanks Errol, I figured someone submitted this patch considering the
"applying diff" commit message. Once I get some code in decent shape
I'll post my branch to github.

I like your duplicate event idea because I expect to have events that
don't follow a predictable schedule, but may occur at the same place
or time of day.

Justin

eksatx

unread,
Jul 2, 2009, 12:32:21 AM7/2/09
to CommunityEngine
It seems to me that the best place to start with the event stuff is to
first understand what is there now.

It appears that there may be some functionality that is not enabled
out-of-the-box -- perhaps stuff that is just not integrated into the
views.

Here is the functionality that is obvious to me:

The administrator can add, edit, and delete events. Events can have
start/end times/dates, titles, and descriptions. These attributes are
displayed in the Event list. In the add/edit views there is a field
for Location, although I'm not sure how this is used -- it is not
displayed anywhere that I noticed.

1. Is it only possible for administrators to add/edit/delete events?
Can moderators and/or members?
2. How is the location attribute used?
3. The Event model has a user_id field -- how is this used?
4. The Event model has a metro_area_id field -- how is this used?
5. Is there any other functionality that exists out-of-the-box?

Some of this stuff may only be known to Bruno. Thoughts?

Bruno Bornsztein

unread,
Jul 2, 2009, 9:26:39 AM7/2/09
to communi...@googlegroups.com

The administrator can add, edit, and delete events.  Events can have
start/end times/dates, titles, and descriptions.  These attributes are
displayed in the Event list.  In the add/edit views there is a field
for Location, although I'm not sure how this is used -- it is not
displayed anywhere that I noticed.

Location is just a text field where people can enter something like "Minneapolis" or "My House". It's not used in the views, but you can easily add it if you need it.
 

1. Is it only possible for administrators to add/edit/delete events?
Can moderators and/or members?
Currently just admins.
 

2. How is the location attribute used?
See above.
 

3. The Event model has a user_id field -- how is this used?
It's not used. But in some apps I subclass Event and I need the subclass to have an owner (Bulletins, in TennisMetro, are a subclass of Event).

 

4. The Event model has a metro_area_id field -- how is this used?
Same as above; it's nice to be able to attache a metro area to a subclass of Event.
 
5. Is there any other functionality that exists out-of-the-box?
Nope.

eksatx

unread,
Jul 5, 2009, 1:17:55 PM7/5/09
to CommunityEngine
I think I found (and fixed) a bug. I noticed that event location was
being used in the view, but it didn't actually show up. It turns out
that the Event model is over-riding the database attribute for
location by instead returning the metro area (which was nil in my test
case).

So, I fixed it so location returns the location field stored in the
database and evt_location (suggest a better name?) returns the
location or the metro area name if the location is empty (or an empty
string if both are nil).

While I was at it, I updated the view to include a link to map the
location via Google.

I'll send a pull request for this as soon as I get a chance to run
tests.

On Jul 2, 8:26 am, Bruno Bornsztein <bruno.bornszt...@gmail.com>
wrote:

Bruno Bornsztein

unread,
Jul 6, 2009, 10:50:19 AM7/6/09
to communi...@googlegroups.com
I think metro_area_name is probably a clearer name than evt_location (since it's returning the metro name if available, or an empty string if none)
Thanks!
Bruno

Errol Siegel

unread,
Jul 6, 2009, 1:07:46 PM7/6/09
to communi...@googlegroups.com
I'm not sure that metro_area_name is accurate either.

I am allowing users to enter an actual address, not necessarily just a city name.

So, if somebody enters, "Spider House Cafe, 2908 Fruth St., Austin, TX," it will display that along with a Google Maps link to that address.  If they enter nothing, it will display the metro area name if the user has set one.  If neither a location for the event nor a metro area for the user are set then it displays nothing.

Do you not like the idea of allowing users to enter an address for the location?

If you do not like the way I have done this, I have an alternate idea that I could put together:

1. Add a drop-down menu to the edit/new view to select a metro area.  The default selection would be the user's metro area (if it is set).

2. Use location only as an address (or nil).

3. Update the index view to display separate lines for metro area (if set) and location (if set).  This leaves the door open to add a link to filter the view by metro area.

This way there is no need to override the location field by calculating what is set for location.

Let me know what you think...

Bruno Bornsztein

unread,
Jul 7, 2009, 9:53:51 AM7/7/09
to communi...@googlegroups.com
Update: your changes are merged into edge. I also went ahead and added a js datepicker (I was sick of those ugly date_select fields). 


I am allowing users to enter an actual address, not necessarily just a city name.

So, if somebody enters, "Spider House Cafe, 2908 Fruth St., Austin, TX," it will display that along with a Google Maps link to that address.  If they enter nothing, it will display the metro area name if the user has set one.  If neither a location for the event nor a metro area for the user are set then it displays nothing.

In that case let's at least call it "event_location" (no need to save keystrokes)
 

Do you not like the idea of allowing users to enter an address for the location?


 
If you do not like the way I have done this, I have an alternate idea that I could put together:

1. Add a drop-down menu to the edit/new view to select a metro area.  The default selection would be the user's metro area (if it is set).

2. Use location only as an address (or nil).

3. Update the index view to display separate lines for metro area (if set) and location (if set).  This leaves the door open to add a link to filter the view by metro area.
This would probably be best. Plus we could link the address they entered to Google Maps as well.

Thanks,
Bruno

Errol Siegel

unread,
Jul 7, 2009, 10:17:45 AM7/7/09
to communi...@googlegroups.com
That's good news about the date selector -- I was gonna look at that next.

I reviewed the relevant views controllers to see how hard it would be to have fields for both location and metro area, and it looks like you had already started this (I see the commented out location selector in the new and edit views).

This should be easy.  With any luck I'll knock this out today.

eksatx

unread,
Jul 8, 2009, 1:37:53 AM7/8/09
to CommunityEngine
Ok -- I think I have something that will work well for everybody.
Please check out this branch I just created:

http://github.com/eksatx/communityengine/commits/events_with_metro_areas/

- It uses location (so you can specify an address) with a link to
Google Maps.
- It uses the metro area selector widget (defaults to the user's metro
area if set for new events)
- The new events index view displays both the metro area and location
elegantly (I think)

I also took the liberty of adding the calendar_date_select. I have
used this gem on a bunch of sites and I have found it to work well.
It has a few advantages:

- Fast
- Easy integration
- Looks good
- Integrates date and time in one widget -- a cleaner look than the
other date selector

Bruno -- I hope you don't mind that I threw in this other calendar
widget. If you hate it, it's pretty trivial to back it out. I think
you'll like it better too...

If we go with calendar_date_select then you need to update the install
template. It requires:

- gem install calendar_date_select
- add config.gem 'calendar_date_select' to environment.rb

Alright, I'm going to sleep now...

On Jul 7, 9:17 am, Errol Siegel <errolsie...@gmail.com> wrote:
> That's good news about the date selector -- I was gonna look at that next.
>
> I reviewed the relevant views controllers to see how hard it would be to
> have fields for both location and metro area, and it looks like you had
> already started this (I see the commented out location selector in the new
> and edit views).
>
> This should be easy.  With any luck I'll knock this out today.
>
> On Tue, Jul 7, 2009 at 8:53 AM, Bruno Bornsztein <bruno.bornszt...@gmail.com

Bruno Bornsztein

unread,
Jul 9, 2009, 10:13:44 PM7/9/09
to communi...@googlegroups.com
Great work! It has been merged into edge.
Thanks for contributing!
Take care,
Bruno 

mike muldoon

unread,
Jul 9, 2009, 10:56:14 PM7/9/09
to communi...@googlegroups.com
> I also took the liberty of adding the calendar_date_select.  I have
> used this gem on a bunch of sites and I have found it to work well.

Frickin awesomeness! I was installing this just today, nicely done!

eksatx

unread,
Jul 13, 2009, 1:13:19 AM7/13/09
to CommunityEngine
So far so good.

The next step is implementing RSVPs for events.

I am pretty close to having something.

Each event shows a list of attendees. Users can RSVP for an event and
enter the number of people they are bringing. Attendees can update
their count of guests and/or retract their RSVP.

I've got to bang away at it a bit to see what I may have missed and
write some tests.

With any luck I'll have something for you to check out in the next few
days.

eksatx

unread,
Jul 14, 2009, 1:19:15 AM7/14/09
to CommunityEngine
I think I have the RSVP stuff finished. I beefed up the validation
(make sure people can't RSVP for events in the past, etc.) and wrote
unit and functional tests.

In keeping with the rest of the site design it should probably be
AJAXified. I always like to start with the simplest, old-school
interface first to make sure the design holds together. I think I'll
push it out in its current state. If everybody likes it then I'll add
AJAX-y goodness.

eksatx

unread,
Jul 21, 2009, 10:18:46 PM7/21/09
to CommunityEngine
The latest events stuff (including RSVPs) is now in edge. I look
forward to hearing feedback about it.

Where should it go next? Please try to keep in mind I am looking for
ideas that apply very broadly to everybody and thus belong in core.
If you have a very specific need then you should probably add that by
over-riding the base CE stuff.

Some ideas I am considering:

1. Events are now only added by the administrator. Should events be
more like blog posts where all users can add events? You could then
view events per user. Perhaps the Events list would collate all
events by date. Perhaps this could use a review system where all
users can submit events, but only the administrator can publish.

2. RSVPs don't allow including a note. Should they? Perhaps a better
solution would be to enable comments for Events -- then you add your
comment to the event, not the RSVP (ala Facebook).

3. Reminder emails for events.

4. Export. Output as iCal? Links to add to Google calendar or Yahoo!
calendar? RSS feed of Events?

I guess I'm looking for a consensus on the top one or two features
that everybody thinks is essential.

On Jul 14, 12:19 am, eksatx <errolsie...@gmail.com> wrote:
> I think I have the RSVP stuff finished.  I beefed up the validation
> (make sure people can't RSVP foreventsin the past, etc.) and wrote

Levi Rosol

unread,
Jul 21, 2009, 10:27:33 PM7/21/09
to communi...@googlegroups.com
I'm working to add the group code to edge tonight. I have not looked at your events code yet, but i assume them to be "site wide" in scope. It would be great if events could be created at the group level, and then allow the members of that group to be notified, then RSVP for an event.

Along the same thought, the albums code could also be applied at a group level as well.

--
Levi Rosol
Twitter: @LeviRosol

James.d

unread,
Jul 22, 2009, 12:24:53 AM7/22/09
to CommunityEngine
Here's my vote 1 & 2

1. There should at least be a events posting role, perhaps just bundle
it in with moderators?
2. Comments on events seems pretty easy and straight forward

Bruno Bornsztein

unread,
Jul 22, 2009, 4:51:28 PM7/22/09
to communi...@googlegroups.com
I agree that event posting should be limited to admins and moderators by default. If people want expanded access in their apps, they can easily change that.

Commenting on events also seems logical, with e-mail notifications for anyone who has RSVP'd.

Thanks!
Bruno

eksatx

unread,
Jul 25, 2009, 11:48:52 PM7/25/09
to CommunityEngine
The group event idea seems interesting. I think it makes sense to let
both the events code and groups code stabilize a bit before trying to
combine 'em though.

From the feedback so far, comments and reminders seem like the next
things to do.

I should be able to figure out comments. I think the only thing I
need to change is the way events are accessed. I think they need to
have an owner in the url like this: /myuser/events/32. At least,
that's how it appears to me from looking at the code. Am I right, or
have I missed something?

As for reminders, I need some kind of daemon that sends the emails at
the appropriate time. This looks promising:

http://github.com/tobi/delayed_job/tree/master

Does anybody have a suggestion of something they think would be better
or more appropriate?

FYI, at the moment administrators and moderators can post events.

On Jul 22, 3:51 pm, Bruno Bornsztein <bruno.bornszt...@gmail.com>
wrote:
> I agree that event posting should be limited to admins and moderators by
> default. If people want expanded access in their apps, they can easily
> change that.
> Commenting on events also seems logical, with e-mail notifications for
> anyone who has RSVP'd.
>
> Thanks!
> Bruno
>

Justin G

unread,
Jul 28, 2009, 10:23:12 PM7/28/09
to CommunityEngine
Hey Errol, I finally had a chance to check out some of your
additions. You've made some great progress. I haven't written much
code lately (weddings, business, moving, etc.) but I can't wait to get
my dev PC back up and running to test out your RSVP code.

> From the feedback so far, comments and reminders seem like the next
> things to do.

I agree. It's funny, as it seems these are the remaining 2 things
from my list that you haven't already implemented (P.S. thanks!)

> I should be able to figure out comments.  I think the only thing I
> need to change is the way events are accessed.  I think they need to
> have an owner in the url like this: /myuser/events/32.  At least,
> that's how it appears to me from looking at the code.  Am I right, or
> have I missed something?

I'm not sure why it would be necessary to have the owner in the url.
But, its possible the comments code assumes there is one as posts,
photos, clippings, etc. all have an owner. It's probably best to
structure things this way anyway.

> As for reminders, I need some kind of daemon that sends the emails at
> the appropriate time.  This looks promising:
> http://github.com/tobi/delayed_job/tree/master

I agree. I think I remember seeing something about this on Hacker
News recently. A quick search and I see that Heroku is advocating it
and I know some people here are deploying with Heroku (but $15/month?
http://blog.heroku.com/archives/2009/7/15/background_jobs_with_dj_on_heroku/
).

eksatx

unread,
Jul 31, 2009, 10:49:19 PM7/31/09
to CommunityEngine
I just sent a pull request for my latest commits. I updated the admin
interface for events (it's now part of the admin dashboard) and
enabled comments.

Reminders are next, although here is a thought:

Would it be better to have a link for iCal? That way people could
subscribe to the events list with Outlook, Google Calendar, etc.

Reminders and iCal are not mutually exclusive, so I could do both.

Which would people like to see first?
> and I know some people here are deploying with Heroku (but $15/month?http://blog.heroku.com/archives/2009/7/15/background_jobs_with_dj_on_...
> ).

Bruno Bornsztein

unread,
Aug 8, 2009, 8:15:12 AM8/8/09
to communi...@googlegroups.com
Thanks Errol, I'm pulling in your changes now.

Would it be better to have a link for iCal?  That way people could
subscribe to the events list with Outlook, Google Calendar, etc.

Reminders and iCal are not mutually exclusive, so I could do both.

I think I'd vote for iCal/Google first. I think we should be a little careful about how we implement reminders. I want to avoid forcing people to set up a cron job or background process to manage reminders, since that will just increase installation difficulty and complexity. Maybe reminders could be implemented as a CE plugin, so it wouldn't be required for basic users.

Thoughts?
Bruno

Errol Siegel

unread,
Aug 8, 2009, 6:16:30 PM8/8/09
to communi...@googlegroups.com
Thanks Errol, I'm pulling in your changes now.

Good deal.  Let me know what you think of the change in interface.  I suppose there is no real harm in having both the event management interface I added and the add/edit links in-line in the events listing.  I suppose the blog posts do that, although in a slightly different way.  I guess I just want to make things as consistent as possible.
 
I think I'd vote for iCal/Google first. I think we should be a little careful about how we implement reminders. I want to avoid forcing people to set up a cron job or background process to manage reminders, since that will just increase installation difficulty and complexity. Maybe reminders could be implemented as a CE plugin, so it wouldn't be required for basic users.

Thoughts?

I think your logic makes sense.  I like that CE is so easily customizable.  However, I think it is much easier for people to adopt if they can deploy a "complete" web site without needing to do any extra work.

I'll start with the iCal stuff.  I am picturing a link (sort of like an rss link) to subscribe to the full events calendar.  I will also add links to individual events for "add to my calendar" for the most popular calendars like Outlook, Google, and Yahoo.

James.d

unread,
Aug 17, 2009, 12:23:37 PM8/17/09
to CommunityEngine
One small feature request? Now that events capture metro areas, any
interest in building some collections? The current thought would be
some small Side_bar style lists (5 or so entries) to display events
for certain metro area. And or also "Recent Events" type lists for my
home page views?

James

eksatx

unread,
Sep 6, 2009, 10:28:05 PM9/6/09
to CommunityEngine
I'm back to working on Events now after taking a detour to implement
Pages (CMS).

I just sent a pull request for my first stab at implementing iCal. I
have tested it so far with Outlook (Windows) and Google Calendar and
both appear to work nicely. It is my hope that this will make the
reminders feature unnecessary as users can set up reminders in their
calendar app.

Request for feedback:

1. I need to know if there are any issues importing the .ics feed into
any apps.
2. I need to know what other links to add. There is an "iCal" link
which should work fine for fat clients (Outlook, iCal, Thunderbird) or
web apps that support subscribing to iCal. I also included a link
that adds the events list directly to Google calendar. What else do
people use? Yahoo! Calendar does not support iCal AFAIK (send them
emails to complain!), so that's out. What else is popular enough to
merit its own link?

Finally, I agree that adding links for collections of events makes
sense. That is exactly what I had in mind when I added the metro
areas. I was thinking at first it would be easiest just to have two
filters: All and My Metro Area. I'll get that on my TODO list.

I don't think any changes are needed to show recent events on the home
page, though. Just over-ride the appropriate view.

On Aug 17, 11:23 am, "James.d" <james.den...@gmail.com> wrote:
> One small feature request?  Now thateventscapture metro areas, any
> interest in building some collections?   The current thought would be
> some small Side_bar style lists (5 or so entries) to displayevents
> for certain metro area. And or also "RecentEvents" type lists for my
> home page views?
>
> James
>
> On Jul 25, 8:48 pm, eksatx <errolsie...@gmail.com> wrote:
>
> > The group event idea seems interesting.  I think it makes sense to let
> > both theeventscode and groups code stabilize a bit before trying to
> > combine 'em though.
>
> > From the feedback so far, comments and reminders seem like the next
> > things to do.
>
> > I should be able to figure out comments.  I think the only thing I
> > need to change is the wayeventsare accessed.  I think they need to
> > have an owner in the url like this: /myuser/events/32.  At least,
> > that's how it appears to me from looking at the code.  Am I right, or
> > have I missed something?
>
> > As for reminders, I need some kind of daemon that sends the emails at
> > the appropriate time.  This looks promising:
>
> >http://github.com/tobi/delayed_job/tree/master
>
> > Does anybody have a suggestion of something they think would be better
> > or more appropriate?
>
> > FYI, at the moment administrators and moderators can postevents.
>
> > On Jul 22, 3:51 pm, Bruno Bornsztein <bruno.bornszt...@gmail.com>
> > wrote:
>
> > > I agree that event posting should be limited to admins and moderators by
> > > default. If people want expanded access in their apps, they can easily
> > > change that.
> > > Commenting oneventsalso seems logical, with e-mail notifications for
> > > anyone who has RSVP'd.
>
> > > Thanks!
> > > Bruno
>
> > > On Tue, Jul 21, 2009 at 11:24 PM, James.d <james.den...@gmail.com> wrote:
>
> > > > Here's my vote 1 & 2
>
> > > > 1. There should at least be aeventsposting role, perhaps just bundle
> > > > it in with moderators?
> > > > 2. Comments oneventsseems pretty easy and straight forward
>
> > > > On Jul 21, 7:18 pm, eksatx <errolsie...@gmail.com> wrote:
> > > > > The latesteventsstuff (including RSVPs) is now in edge.  I look
> > > > > forward to hearing feedback about it.
>
> > > > > Where should it go next?  Please try to keep in mind I am looking for
> > > > > ideas that apply very broadly to everybody and thus belong in core.
> > > > > If you have a very specific need then you should probably add that by
> > > > > over-riding the base CE stuff.
>
> > > > > Some ideas I am considering:
>
> > > > > 1.Eventsare now only added by the administrator.  Shouldeventsbe
> > > > > more like blog posts where all users can addevents?  You could then
> > > > > vieweventsper user.  Perhaps theEventslist would collate all
> > > > >eventsby date.  Perhaps this could use a review system where all
> > > > > users can submitevents, but only the administrator can publish.
>
> > > > > 2. RSVPs don't allow including a note.  Should they?  Perhaps a better
> > > > > solution would be to enable comments forEvents-- then you add your
Reply all
Reply to author
Forward
0 new messages