Timeline & Other News
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.
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:
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.