Orchard 1.7 Calendar - Events feature team

Topics: Announcements
Coordinator
Nov 6, 2012 at 8:07 PM

This thread is to discuss a calendar and events feature for Orchard 1.7.

Coordinator
Nov 6, 2012 at 9:51 PM

Here is an example from Wordpress: http://wordpress.org/extend/plugins/all-in-one-event-calendar/

1- We definitely need to integrate it with Projection, because we will need filtering and custom displays.
2- The general idea is that a new module would provide a custom part named EventPart, which would just define a DateTime property. It should also have an optional other DateTime, like to define Start/End event kinds.
3- A default Event content type could also be created if we want to be able to import calendar from external sources.
4- A Calendar Layout could use this part to render content items. The filter is defined by the user for each calendar. The layout could also provide different kinds of views like Day, Week, Month, Year. We could also create different layouts for each of them instead.
5- Maybe we need a custom Controller or Driver for calendar if we want to handle events like navigation i.e., Next Month, ...
6- It should let users generate Event content items based on a schedule. Changing the schedule would generate the upcoming Events.

 

Coordinator
Nov 6, 2012 at 10:44 PM

What about recurring dates?

Coordinator
Nov 6, 2012 at 11:23 PM

Point 6

Coordinator
Nov 6, 2012 at 11:58 PM

So you'd batch create content items until the end of times? I must have misunderstood.

Nov 7, 2012 at 7:37 AM

Must be connected with 1.7 workflow.

Coordinator
Nov 7, 2012 at 7:44 AM

@bertrand: I would let users define for how long, and keep a reference on the schedule. So that Events can be updated as content items and queried.

Developer
Nov 7, 2012 at 8:59 AM

Here is an interesting js week/month/year calendar : http://arshaw.com/fullcalendar/

It consumes Json endpoints to display events on a specific period. 

You can provide multiple endpoints with different colors.

 

See also the features of the Drupal module http://drupal.org/project/calendar

https://www.lullabot.com/articles/whats-new-date-and-calendar-drupal-7 

Nov 7, 2012 at 9:41 AM
Edited Nov 7, 2012 at 9:43 AM

I have been using Telerik's radcontrols for years (sorry not open source project and ajax asp.net only) and they interestingly distinguish between Calendar and Scheduler

see  calendar demo and concept here
http://demos.telerik.com/aspnet-ajax/calendar/examples/overview/defaultcs.aspx

and scheduler here
http://demos.telerik.com/aspnet-ajax/scheduler/examples/overview/defaultcs.aspx

I think what Sebastien is speaking about is a scheduler.

What I was appreciating in Telerik implementation is the easy way you may export it (iCalendar) and integrate into outlook, also the globalisation feature which has always be a problem in multi languages applications.

Nov 7, 2012 at 12:31 PM

What about multiple calendars? Or would it just be one calendar that you can query on to get for example per-user calendar items?

Coordinator
Nov 8, 2012 at 10:03 PM

@AimOrchard: See point number 1, you can do any query you want to render a calendar, and can render as many calendars as you want.

Nov 9, 2012 at 5:56 PM

Hi everyone, I had started a project that seems to meet most of the needs you defined here. It is stored here: http://orchardcalendar.codeplex.com/

I realize it is not finished but being as I have quite a bit of time invested in it, I would love to see it used (or at least components of it used). It was built to extend this opensource javascript: http://arshaw.com/fullcalendar/ inside of Orchard using the Projection module. The nice part is that it was built to use any content type that had a calendar part attached to it (so you were not limited in only using a Calendar Content Type).  Also, the way I was heading is that it technically was not even dependent on having a calendar part. Using Tokens you could just provide the important things the calendar projection needed (such as date of event, start time, end time, whether it was repeatable...).  If it had a calendar part, then it would just use these by default, oherwise the tokens would kick in. This is nice as other users likely have come up with their own calendar parts and this would allow them to use the projection without forcing them to update all of their content types with the calendar part.

Anyway, I would like to be part of the discussion/implementation. I believe there are about 4-8 hours left for me to have the working prototype (as is you can look at the code and see what i was doing). If you are looking through the code, I believe I just had to complete the integration into the javascript file provided by arshaw.  
 

 

Coordinator
Nov 9, 2012 at 6:15 PM

I will take a look at your code, and the jQuery plugin you are using looks nice and is under MIT, though I think we will just use the display portion of it right now.

I won't start looking at Calendar in the next two weeks, so you can polish it if you want in the meantime, of if you are not in a hurry just wait.

Nov 9, 2012 at 6:18 PM

Yeah, it took me quite a while to find one under MIT license and I am only targeting the display portion of it (i.e. not using drag and drop). Would be fun in the future though to have ajax utilization to update calendar time using the drag and drop events posting back to a controller.  Will try to put some polish on it before you get to it.

Nov 16, 2012 at 7:40 AM

would this include an event registration feature?

Developer
Nov 16, 2012 at 8:51 AM

I don't think it will be one of the goal of the module but indeed, it would be useful.

In a more generic way, a 'Subscribe' part (to attach an email or a user to a content type) would be interesting.

Feb 7, 2013 at 5:33 PM
Is there any progress on a Calendar/Events module? Do you expect this as a part of the 1.7 release?
Coordinator
Feb 8, 2013 at 1:29 AM
Not that I know of. I'd say it's very unlikely to be in 1.7, unless somebody has secretly started work on it.
Aug 28, 2013 at 6:44 PM
Any word on if this will be developed for the next release of Orchard? IMO, it's a major missing piece to allow non-developers to create a useful site with Orchard.
Sep 14, 2013 at 4:44 PM
HeyItsTodd wrote:
Any word on if this will be developed for the next release of Orchard? IMO, it's a major missing piece to allow non-developers to create a useful site with Orchard.
+1
Coordinator
Sep 14, 2013 at 7:59 PM
Somebody needs to build it first. Then we can take it in. For the moment, it doesn't exist.
Nov 18, 2013 at 6:22 PM
I've spent the last couple weeks working on a module to provide a schedule part with an interface for creating recurring dates. The interface right now provides templated recurrence very similar to that available in Google calendar. I've also created a very simple calendar layout for projections that makes use of the schedule part. The code is still a work in progress, but I felt that it was mature enough at this time to open it up. I have two projects on codeplex; the schedule part is at orchardschedule.codeplex.com, and the calendar layout is at orchardcalendarlayout.codeplex.com.

I won't recommend using this in a production environment at this time. I'm using it on a personal site and have not had any problems up to this point. There is probably significant room for improvement in the code, but I plan to continue working on it.

Please check it out.
Developer
Nov 19, 2013 at 12:06 PM
I have tested the modules and it looks really promising.

I will try to suggest some improvements and create issues (I had some weird behavior using it on existing contents).

Here is the link to the example on your site if other people want to see a result :
http://flew2bits.com/calendar-of-events

You should attend the weekly meeting and make a demo, every Tuesday at 12:00 PST.
http://orchardproject.net/meeting
Nov 19, 2013 at 12:16 PM
Edited Nov 19, 2013 at 12:19 PM
Thanks for taking a look. I hadn't tried adding a schedule part to existing content, so I may look into that to see if I find any strange behavior. I'd love to make a demo, but unfortunately I can't take time away from my regular job to do that at this time.

Can you describe some of the weird behavior?
Coordinator
Nov 19, 2013 at 4:25 PM
I haven't look at the code, and I am sure I am repeating myself, but if I had to do a calendar I would make a CalendarPart with settings to optionally define an End Date/Time. Then the calendar layout could expect the content items to have this information available all the time. Maybe also some options for time zones, even though this is handled by default in Orchard.

Users could then create custom Event type by just adding this part to it.
Nov 19, 2013 at 4:34 PM
The module provides a schedule part allowing someone to add a start date/time and end date/time to a content item. It also allows them to choose if the schedule is all day and to set up an optional recurrence. The calendar layout is a separate module because I saw that as a different concern from the schedule as someone may want to make use of the schedule in some manner that I haven't considered.