← Blog

Timeline & Other News

Posted by arshaw

This post is an update on the highly-requested horizontal resource view (aka Timeline). This feature allows the assigning of events to resources (things like team members or conference rooms) and portrays time left-to-right and resources top-to-bottom. Please ☆ the issue tracker ticket to receive further updates.

timeline-view

Update (8/23/2015): Scheduler has been officially released!

Summary: To build Timeline the right way™ requires a lot of work. I’m a big supporter of open-source but, given the time commitment to get it off the ground and maintain, it only makes sense to release this feature as a premium product. I have a preview of Timeline to show you and have released FullCalendar v2.2.7.

Timeline Development#

I first looked at other developers’ implementations when deciding to tackle this feature. Special thanks to @jarnokurlin for helping out so many people. These implementations, which are essentially modifications to existing Basic _view, are very good and will continue to be useful to many developers. However, the _Basic view approach becomes strained when considering these more advanced scenarios:

  • arbitrary view durations (if there are too many slots, there should be scrolling)
  • arbitrary granularities (ex: slots that are 1 second, 1 day, or 1 year)
  • arbitrary number of resources (if there are too many, there should be scrolling)
  • nesting / grouping resources (ex: people within a team or rooms within a building)
  • other columns of data for each resource (effectively a built-in mini-spreadsheet)

So, I started work on a brand new view that would address these concerns, called Timeline. It quickly became clear that, if done thoroughly and robustly, development of this view would be a massive amount of work. I considered leveraging the open-source community to build this feature. However, as the project’s maintainer, quality-assuring and maintaining these large contributions from others would be a huge time commitment as well.

FullCalendar Inc?#

FullCalendar has been my hobby up until this point (albeit a very important and impactful one!) and the development of Timeline has not seemed possible given the time required to get it off the ground at the quality standard I have tried to uphold. However, when considering FullCalendar in the context of an open-source-based business (think CKEditor or WordPress), it begins to make more sense. If I can maintain FullCalendar’s standard feature set while being able to financially support the venture through premium features, I can offer the users of FullCalendar, both free and paid, faster and more consistent progress on the project.

So, I will be making Timeline a paid premium feature when used in commercial projects. The exact terms are still undefined, but there will likely be a per-project license with email support (i.e. me personally answering your questions to start) for commercial projects and a parallel GPL-esque license for no-cost use in fully open-source projects. I also plan to offer a significant price reduction for non-profit organizations.

Premium Features#

In the future, will all other features be premium? The answer is NO. I really care about the open-source health of the project so I’ve come up with guidelines for what qualifies as a potential premium feature:

  • clearly time-intensive to implement
  • obviously separate from the core and should be implemented as a plugin
  • beyond what a basic JavaScript calendar should be

If the feature meets all these qualifications, it is a candidate for a premium feature. The core code will always be free, with a robust API and plugin system for creating things like Custom Views.

I would love to get your thoughts on this new approach. Please comment away!

Preview of Timeline#

Back to Timeline. I’ve been hard at work, and even though my code is pre-alpha and not fit for download, I’ve prepared a live demo:

timeline-view

I’ve also prepared some preliminary documentation.

To offer input on Timeline’s specs and features, please participate in the issue tracker discussion.

Contracting Work#

If you would like to hire me as a contractor for Timeline customization/integration or anything else FullCalendar-related, please email me at contracting@fullcalendar.io *. This will allow me to make ends meet while finishing Timeline and will allow you to receive high-quality custom work directly from the author of the project.

*Update (Feb 17th): I am no longer accepting contracting work at this time

FullCalendar v2.2.7#

In other news, I have released a new minor version of FullCalendar. It contains bugfixes for already-released features. For more information, please read the changelog.

Psst… there are separate pages for feature requests, bug reports, and getting help.